精灵的继承关系
—
精灵的性能优化:
使用纹理图集:也称为精灵表,是将许多小的精灵图片组合到一张大图里面。优点有 :
1.减少文件读取次数
2.减少OpenGL ES绘制调用并且加速渲染
3.减少内存消耗
运用图片集方式为什么会减少内存碎片?
原因:OpenGL分配给每个图片2的n次幂大小的内存空间,及时这张图片达不到这样的高度和宽度也会分配大于次图片的2的n次幂大小的空间。
通常使用Zwoptex和TexturePacker设计和生成纹理图集文件,以及纹理图集坐标文件(plist)组成。
使用精灵帧缓存:有以下几种
1.纹理缓存
2.精灵帧缓存(SpriteFrameCache):能抽精灵表中创建精灵帧缓存,
然后再从精灵帧缓存中获取精灵对象,再反复使用精灵对象的时候,
可以降低内存消耗。
3.动画缓存(AnimationCache):用于精灵动画。精灵动画的每一帧是从动画缓存中获取的
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("SpriteSheet.plist");
//创建了mountain1.png精灵,此为plist中定义的帧
auto mountain1 = Sprite::createWithSpriteFrameName("mountain1.png");
//移除精灵缓存
SpriteFrameCache::getInstance()->removeSpriteFramesFromFile("SpriteSheet.plist");