cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
类 - 图1 类 - 图2)
- 类列表 - 类索引 - 类继承关系 - 类成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

| Public 成员函数 | 静态 Public 成员函数 | Protected 属性 | 所有成员列表

TextureCache类 参考 Textures

用来处理纹理贴图(texture)的加载的独立的类 一旦纹理贴图(texture)被加载,它会在下一次返回 一个用来节省GPU和CPU内存的,指向之前被加载的纹理贴图(texture)的引用(reference) 更多…

#include

类 TextureCache 继承关系图:

类 - 图3 Ref

##
struct AsyncStruct
## Public 成员函数
TextureCache ()
ctor 更多…
virtual ~TextureCache ()
NA NA 更多…
virtual std::string getDescription () const
NA NA 更多…
Texture2D addImage (const std::string &filepath)
返回与给定文件名相对应的Texture2D对象 如果该文件名没有被预加载,这个方法会创建一个新的Texture2D对象,并返回该Texture2D对象 文件名会被用作key 否则会返回一个指向预加载图像的引用(reference) 支持的图像文件的类型有: .png, .bmp, .tiff, .jpeg, .pvr 更多…
virtual void addImageAsync (const std::string &filepath, const std::function< void(Texture2D )> &callback)
Texture2D addImage (Image image, const std::string &key)
返回与给定图像相对应的Texture2D对象 如果该图像没有被预加载,这个方法会创建一个新的Texture2D对象,并返回该Texture2D对象 否则会返回一个指向预加载图像的引用(reference) 参数“key”会被用作缓存中的储存关键字 如果“key”为空值,每次都会创建一个新的纹理贴图(texture) 更多…
CC_DEPRECATED_ATTRIBUTE Texture2D addUIImage (Image image, const std::string &key)
Texture2D getTextureForKey (const std::string &key) const
返回一个已经被创建的纹理贴图(texture)。如果该纹理贴图不存在则返回nil 更多…
CC_DEPRECATED_ATTRIBUTE Texture2D textureForKey (const std::string &key) const
bool reloadTexture (const std::string &fileName)
从图像文件重新加载纹理贴图(texture) 如果这个图像文件没有被加载过,就加载该图像文件。 否则会从文件映像(file image)中重新加载该纹理贴图(texture) 参数“filenName”是文件映像(file image)的相对或绝对路径 如果重新加载成功就返回true,否则返回false 更多…
void removeAllTextures ()
清除加载纹理贴图的记录 如果你收到“内存警告”请调用该方法 在短期内: 会释放一些资源文件来防止你的app出现闪退现象 在中期: 会分配更多资源 从长远来看: 没有区别 更多…
void removeUnusedTextures ()
清除所有没有在使用中的纹理贴图(texture) 保留计数(retain count)为1的纹理贴图(texture)会被删除 在进入一个新场景后,调用本方法会带来不少方便 更多…
void removeTexture (Texture2D texture)
通过给定的纹理贴图(texture)从缓存中删除该纹理贴图 更多…
void removeTextureForKey (const std::string &key)
通过给定的纹理贴图(texture)的关键名(key name)从缓存中删除该纹理贴图 更多…
std::string getCachedTextureInfo () const
将该TextureCache目前的内容输出到CCLog 这个方法会尝试去计算每一个纹理贴图(texture)的size和当前使用中的所有纹理贴图(texture)所占用内存的总和 更多…
void waitForQuit ()
- Public 成员函数 继承自 Ref
void retain ()
保留所有权. 更多…
void release ()
立即释放所有权. 更多…
Ref autorelease ()
自动释放所有权在不久的将来. 更多…
unsigned int getReferenceCount () const
返回Ref对象当前的引用计数. 更多…
virtual ~Ref ()
NA NA 更多…
## 静态 Public 成员函数
static CC_DEPRECATED_ATTRIBUTE TextureCache getInstance ()
返回缓存的共享的实例 更多…
static CC_DEPRECATED_ATTRIBUTE TextureCache sharedTextureCache ()
static CC_DEPRECATED_ATTRIBUTE void destroyInstance ()
清除缓存。释放保留的实例 更多…
static CC_DEPRECATED_ATTRIBUTE void purgeSharedTextureCache ()
static CC_DEPRECATED_ATTRIBUTE void reloadAllTextures ()
重新加载所有纹理贴图(texture) 避免调用该函数,应在框架工作时由框架调用 目前这个函数不会做任何事,请使用VolatileTextureMgr::reloadAllTextures 更多…
## Protected 属性
std::thread _loadingThread
std::queue< AsyncStruct > _asyncStructQueue
std::deque< ImageInfo > _imageInfoQueue
std::mutex _asyncStructQueueMutex
std::mutex _imageInfoMutex
std::mutex _sleepMutex
std::condition_variable _sleepCondition
bool _needQuit
int _asyncRefCount
std::unordered_map < std::string, Texture2D > _textures
- Protected 属性 继承自 Ref
unsigned int _referenceCount
引用计数 更多…
## 额外继承的成员函数
- Protected 成员函数 继承自 Ref
Ref ()
构造函数 更多…

详细描述

用来处理纹理贴图(texture)的加载的独立的类 一旦纹理贴图(texture)被加载,它会在下一次返回 一个用来节省GPU和CPU内存的,指向之前被加载的纹理贴图(texture)的引用(reference)

构造及析构函数说明

TextureCache ( )

ctor

virtual ~TextureCache ( )

virtual

NA NA

成员函数说明

Texture2D* addImage ( const std::string & filepath)

返回与给定文件名相对应的Texture2D对象 如果该文件名没有被预加载,这个方法会创建一个新的Texture2D对象,并返回该Texture2D对象 文件名会被用作key 否则会返回一个指向预加载图像的引用(reference) 支持的图像文件的类型有: .png, .bmp, .tiff, .jpeg, .pvr

Texture2D addImage ( Image image,
const std::string & key
)

返回与给定图像相对应的Texture2D对象 如果该图像没有被预加载,这个方法会创建一个新的Texture2D对象,并返回该Texture2D对象 否则会返回一个指向预加载图像的引用(reference) 参数“key”会被用作缓存中的储存关键字 如果“key”为空值,每次都会创建一个新的纹理贴图(texture)

virtual void addImageAsync ( const std::string & filepath,
const std::function< void(Texture2D *)> & callback
)

virtual

CC_DEPRECATED_ATTRIBUTE Texture2D addUIImage ( Image image,
const std::string & key
)

inline

static CC_DEPRECATED_ATTRIBUTE void destroyInstance ( )

static

清除缓存。释放保留的实例

  • 自从
  • v0.99.0

std::string getCachedTextureInfo ( ) const

将该TextureCache目前的内容输出到CCLog 这个方法会尝试去计算每一个纹理贴图(texture)的size和当前使用中的所有纹理贴图(texture)所占用内存的总和

  • 自从
  • v1.0

virtual std::string getDescription ( ) const

virtual

NA NA

static CC_DEPRECATED_ATTRIBUTE TextureCache* getInstance ( )

static

返回缓存的共享的实例

Texture2D* getTextureForKey ( const std::string & key) const

返回一个已经被创建的纹理贴图(texture)。如果该纹理贴图不存在则返回nil

  • 自从
  • v0.99.5

static CC_DEPRECATED_ATTRIBUTE void purgeSharedTextureCache ( )

static

  • 弃用:
  • 使用destroyInstance()作为替代

static CC_DEPRECATED_ATTRIBUTE void reloadAllTextures ( )

static

重新加载所有纹理贴图(texture) 避免调用该函数,应在框架工作时由框架调用 目前这个函数不会做任何事,请使用VolatileTextureMgr::reloadAllTextures

bool reloadTexture ( const std::string & fileName)

从图像文件重新加载纹理贴图(texture) 如果这个图像文件没有被加载过,就加载该图像文件。 否则会从文件映像(file image)中重新加载该纹理贴图(texture) 参数“filenName”是文件映像(file image)的相对或绝对路径 如果重新加载成功就返回true,否则返回false

void removeAllTextures ( )

清除加载纹理贴图的记录 如果你收到“内存警告”请调用该方法 在短期内: 会释放一些资源文件来防止你的app出现闪退现象 在中期: 会分配更多资源 从长远来看: 没有区别

void removeTexture ( Texture2D * texture)

通过给定的纹理贴图(texture)从缓存中删除该纹理贴图

void removeTextureForKey ( const std::string & key)

通过给定的纹理贴图(texture)的关键名(key name)从缓存中删除该纹理贴图

  • 自从
  • v0.99.4

void removeUnusedTextures ( )

清除所有没有在使用中的纹理贴图(texture) 保留计数(retain count)为1的纹理贴图(texture)会被删除 在进入一个新场景后,调用本方法会带来不少方便

  • 自从
  • v0.8

static CC_DEPRECATED_ATTRIBUTE TextureCache* sharedTextureCache ( )

static

  • 弃用:
  • 使用getInstance()作为替代

CC_DEPRECATED_ATTRIBUTE Texture2D* textureForKey ( const std::string & key) const

inline

void waitForQuit ( )

类成员变量说明

int _asyncRefCount

protected

std::queue<AsyncStruct> _asyncStructQueue

protected

std::mutex _asyncStructQueueMutex

protected

std::mutex _imageInfoMutex

protected

std::deque<ImageInfo> _imageInfoQueue

protected

std::thread* _loadingThread

protected

bool _needQuit

protected

std::condition_variable _sleepCondition

protected

std::mutex _sleepMutex

protected

std::unordered_map<std::string, Texture2D*> _textures

protected


该类的文档由以下文件生成: