andy_quan 游戏开发

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只叹江湖几人回。...

cocos2d图片注意

图片尺寸很重要
图片尺寸里有大陷阱,1024*1024和1025*1025的图片看似差不多,其实内存占用有天壤之别,因为cocos2d对图片的尺寸是按2的N次方自适应的,所以1025*1025的图片加载后实际纹理大小为2048*2048,纹理将占用8m内存!是1024*1024那张图片的2倍。所以遇到类似尺寸图片,最好先用PS调整下大小。

还有其他方法:

1、对于背景图,因为不需要考虑透明问题。载入材质时可以使用 RGB565 格式(5位红色,6位绿色,5位蓝色),每一个像素消耗的内存是16bit = 2byte。比默认的 RGBA8888 消耗的内存少一半。
2、大尺寸的图可以适当缩小,显示时拉伸放大。比如960x640的图可以缩小为768x512,消耗的内存减少一半。
3、有些sprite不需要那么多的色彩,可以用 RGBA4444 格式载入,一个像素也只消耗2byte,减少一半。可以用 TexturePacker 这样的工具处理原始 32bitpng 图片,生成 RGBA4444 格式的材质文件。
4、多个小图合并到一起,做成 sprite sheet,可以显著降低内存使用,性能也会好一点。
5、超大背景图裁剪成多个小块,需要显示哪个区域才载入对应的块。程序上复杂不少,但总比内存不足崩溃掉好。

阅读更多
文章标签: byte 工具
个人分类: android基础
上一篇window+eclipse+ndkr7b下cocos2d-x test.android运行
下一篇android下线程使用
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭