纹理缓存

原创 2015年11月20日 11:18:45
auto sprite = Sprite::create("HelloWorld.png");
引擎是会先先在TextureCache纹理缓存中查找HelloWorld.png的文件名对应的纹理,
找不到该纹理的话再在源文件路径中查找该HelloWorld.png的文件,再将该文件的纹理添加到TextureCache纹理缓存中
(下次再使用HelloWorld.png的图片时就不用再加载,从而降低内存的使用和提高渲染效率)。
即使你释放了这个精灵的对象,该纹理也会一直存放在纹理缓存中,以便下一次使用。
当然你也可以手动释放掉该纹理,使用Director::getInstance()->getTextureCache()->removeUnusedTextures();
会释放当前所有引用计数为1的纹理,即目前没有被使用的纹理。比如新场景创建好后,可以使用此方法释放没有使用的纹理。
使用Director::getInstance()->getTextureCache()->removeTextureForKey("HelloWorld.png")释放特定的纹理

CCSprite::create(const char *pszFileName):pobSprite->initWithFile(pszFileName)
CCSprite::initWithFile(const char *pszFilename): CCTexture2D *pTexture = CCTextureCache::sharedTextureCache()->addImage

(pszFilename);
CCTextureCache::addImage(const char * path):texture = (CCTexture2D*)m_pTextures->objectForKey(pathKey.c_str());
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cocos2d-x 优化(纹理渲染优化、资源缓存、内存优化)

概述 包括以下5种优化:引擎底层优化、纹理优化、渲染优化、资源缓存、内存优化 引擎优化 2.0版本比1.0版本在算法上有所优化,效率更高。2.0版本使用OpenGl ES 2.0图形库,...

Cocos2d-X研究之v3.x纹理缓存详解

 概述 在游戏中需要加载大量的纹理图片,这些操作都是很耗内存和资源的。 当游戏中有个界面用到的图片非常多,第一次点进这界面时速度非常慢(因为要加载绘制很多图片)出现卡顿,我们可以使用Text...

cocos2d-x利用精灵表和纹理缓存实现优化

//采用缓存CCSpriteBatchNode缓存添加9000个精灵 void GameOverLayer::createSpriteUseCache() {     CCSize size =...

Cocos2d纹理缓存(Texture Cache)

简介 纹理缓存是将纹理缓存起来方便之后的绘制工作。每一个缓存的图像的大小,颜色和区域范围都是可以被修改的。这些信息都是存储在内存中的,不用在每一次绘制的时候都发送给GPU。  CCText...

[Cocos2d-x v3.x官方文档]纹理缓存

纹理缓存 概述 在游戏中需要加载大量的纹理图片,这些操作都是很耗内存和资源的。 当游戏中有个界面用到的图片非常多,第一次点进这界面时速度非常慢(因为要加载绘制很多图片)出现卡顿,...

从Delphi开始学Cocos2dx-3.0[14]:动画-直接从精灵帧缓存中获取纹理

备份一下 待写

【Cocos2d-x 3.x】 精灵帧缓存和纹理缓存

精灵帧缓存和纹理缓存学习。
  • JY_95
  • JY_95
  • 2015年12月06日 15:49
  • 1311

Cocos2d-x3.x 精灵帧缓存和纹理缓存

精灵帧缓存 简介 SpriteFrameCache 主要服务于多张碎图合并出来的纹理图片。这种纹理在一张大图中包含了多张小图,直接通过TextureCache引用会有诸多不便,因而衍生出来精灵框帧的处...
  • ko_tin
  • ko_tin
  • 2016年10月21日 14:00
  • 158

我的Cocos2d-x学习笔记(七)纹理缓存、帧缓存、精灵的创建、zOrder

缓存

OpenGLES - glBindTexture 绑定纹理缓存到纹理单元

OpenGLES - glBindTexture 绑定纹理缓存到纹理单元
  • sleks
  • sleks
  • 2014年02月25日 08:21
  • 2842
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:纹理缓存
举报原因:
原因补充:

(最多只允许输入30个字)