日常总结

创建一个新的sprite 常用方法 有三种:

1、直接使用图片生成:create('hello.png');

2、使用纹理生成:createWithTexture(texture);

3、使用精灵帧缓存生成:createWithSpriteFrame( *spriteFrame);

以上三种 生成sprite的方式:本质上最终都是先生成图片的纹理 即texture,

再设置图片纹理,initWithTexture(texture)生成sprite;

以上:所以在new 一个精灵时,消耗的内存是:加载的image + texture ,即二倍的图片大小内存;

过程:================================================================================

在cocos中,谈谈不同纹理实际加载过程中内存变化,先以一张1024*1024 本身大小500k的jpg/png图片为例:
1,读取图片文件(500k)
2,把jpg/png数据最终都是按RGBA8888(默认)格式解析(4mb)
3,释放500k的图片内存
4,上传给OpenGL纹理数据(4mb)
5,释放4mb内存
=====================================================================================

减小包体大小:1、图片压缩,tinypng; 2、使用小图,精灵九宫格;3、使用压缩图集 1024*1024 NPOT

减少内存压力:

1、一帧一帧载入游戏资源
2、减少绘制调用,打包大图
3、载入纹理时按照从大到小的顺序
4、使用载入屏幕预载入游戏资源
5、需要时释放空闲资源(看不见的界面,隐藏或者清除)
6、使用纹理打包器优化纹理大小、格式、颜色深度等
7、使用JPG格式要谨慎!(静态的背景图可用)
8、请使用RGB4444颜色深度16位纹理(Texture2D setDefaultAlphaPixelFormat)
9、请使用NPOT纹理,不要使用POT纹理
10、避免载入超大纹理
11、推荐1024*1024 NPOT pvr.ccz纹理集,而不要采用RAW PNG纹理

【问:如果我用16位的纹理,我游戏载入速度是不是会更快呢?】
答: 纹理像素格式和你游戏的加载时间没半毛钱关系。。。。。。像素格式用来管理图像在GPU内存中的存储方式。如果你想要更快的加载时间,你应该 减少你.PNG /的GIF / TIFF / TMP图像文件的大小。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值