读书笔记《我所理解的cocos2dx》

第5章:纹理

TextureCache: 用来缓存纹理的对象。图片被加载到内存后,纹理会被缓存,下次加载不会执行IO操作。但是占用内存,可以调用removeUnusedTextures()方法来移除场景中没有被使用的问题,来提高节约内存的开销。能解决一部分的内存问题,但是也没办法面面具到。 例如重场景A 过度到场景B ,A 用了1,2,3,4资源,B用了4,5,6资源。 我们要对5,6做预加载,同时保留4,删除1,2,3

解决方案:资源引用计数的管理。

1,在进入新的场景时,对该场景需要使用的所有资源的引用计数加1。这时这些资源可能还未被载入内存

2,对上一个场景使用的所有资源的引用计数减1.

3,删除内存中引用计数为0的资源(表示下一个场景不需要使用这些资源)

4,载入引用计数为1的资源。这些资源可能是新场景中增加的资源,也可能是之前一直存在的资源。


第6章:精灵

1.SpriteFrameCache : 将多张碎图合成一张大图。具有多张图片的绘制共用同一张纹理,绘制的时候可以指定多个顶点,来绘制指定的区域。 可以减少draw call 的调用,提高应用程序的性能。

2.3.x 加入了自动批处理的支持。 自动批处理要求我们使用同一张纹理,相同的BlendFunc设置,相同的shader程序,并且在绘制顺序上处于相邻的位置。

 2.x 的版本的SriteBatchNode 也实现了批处理的功能,目前还保留。相同的纹理才能被添加到SpriteBatchNode. 用起来方便,维护麻烦,因为不同的精灵要维护多个spriteBatchNode, 维护成本高。一般用于比较简单的模型



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值