cocos2dx-纹理缓存的理解

纹理

在cocos2dx中显示一张图片,需要首先把它从文件读取到内存,再根据文件格式进行解码,转换为GPU可以识别的格式,

这块可以被GPU识别的、内存中的图像数据,被称为纹理

纹理图集

为了节省内存空间,减少大量琐碎的小文件的读取引发的多次I/O操作,将多个纹理拼成为一个大的纹理图,成为纹理图集。

就像是给别人看你所有的照片,不需要一张张给,而是贴在一个大白纸上,一次性给别人。 在OpenGL ES处理图像也是类似,

使用纹理图集(或精灵表单,Spritesheet) 把所有图像一次性交给OpenGL ESk来处理,比单个处理要高效。

自动缓存纹理

使用displa.newSprite(fileName)创建精灵,引擎内部会自动把纹理加载到缓存中。

 

精灵帧

精灵帧是在纹理的基础上进一步封装,它在纹理上定了一个矩形区域,以确定纹理的可视范围。 一张纹理可以变化为多个帧。

display.addSpriteFrames("fruit.plist",fruit.png)

display.addSpriteFrames一次性加载多个帧到帧缓存,这些帧都有共同的纹理图,即fruit.png。 如果用其中一帧来创建精灵,就不用纹理来创建,需要使用精灵帧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值