cocos2d-x lua 精灵的性能优化

cocos2d-x技术群新群:117871561
c++技术交流群:593010226
精灵的性能优化可以使用精灵表(Sprite Sheet)和缓存来实现
个人觉得缓存实现比较简单实用,所以通常会用缓存来优化
1,精灵表也有程序员叫他大图,就是把许多的精灵图片组合到一张大图中,然后通过读plist文件将大图里的小图缓存到内存。(可以用texturepacker将许多图片打包在一张图里,生成一张大图和一个plist文件,但是在游戏开发中最好不要打包特别大的图,比如背景图,否则打包的资源可能会超出硬件设备对纹理最大尺寸的限制)
优点:
(1)减少文件读取次数,读取一张图比读取许多张图 快
(2)减少OpenGL ES绘制调用并且加速渲染
(3)减少内存消耗

--用cc.SpriteFrameCache:getInstance():addSpriteFrames创建精灵缓存帧对象,参数是文件路径
  cc.SpriteFrameCache:getInstance():addSpriteFrames(GameViewLayer.RES_PATH .. "game/ZuoBi.plist")
--用缓存起来精灵帧名字创建精灵(所有的缓存帧名字不能有相同的 不然会出现非正常结果)
  local sp_zuobi = cc.Sprite:createWithSpriteFrameName("xxx.png")
--退出时移除缓存的作弊精灵帧,避免再有相同名称的精灵帧造成意想不到的问题
 cc.SpriteFrameCache:getInstance():removeSpriteFramesFromFile(GameViewLayer.SRC.."game_res/ZuoBi.plist")
--在写程序时最好在退出场景时移除没有用到的纹理和精灵帧
   cc.Director:getInstance():getTextureCache():removeUnusedTextures()
   cc.SpriteFrameCache:getInstance():removeUnusedSpriteFrames()

--


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,445评论 25 709
  • 当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝...
    iOS开发攻城狮阅读 5,403评论 0 14
  • 晚饭,有人请,咋不好意思去呀。 为啥,我已经蹭饭好几回了。 咋办?去,但是自己的请客。 不在乎你请别人吃了什么,他...
    者行孙阅读 3,961评论 0 1
  • 最近公司在裁员,是的在裁员。 我被小木虫抛弃然后来到会员班,在被抛弃的时候,在等消息的时候,我差点去找老大说实在没...
    蒙妈成长记阅读 2,701评论 0 0