Cocos2d-x开发中关于资源的预加载的一点补充
2013-06-14 16:15
363 查看
Cocos2d-x开发中关于资源的预加载的一点补充
对于像我这样的COCOS2D-X初使用者来说,资源何时需要预加载?在什么样的情况下需要?等等,这都是一些问题。
Cocos2d-x框架中提供了使用preloadEffect方法预加载声音文件,以及提供CCTextureCache::sharedTextureCache()->addImageAsync方法用来预加载图像文件。
在框架提供的DEMO中,有的使用了预加载图像文件技术,有的没有。看起来,初步的结果是在场景中使用大量图像时才有必要预加载。相信大多数同志都肯定这一点。
在我现在编写的一个简单的背单词软件(练习而已)中,就证明了上述结论。
例如,我的软件中有一个场景用于实现类似于实现射击方式选择正确的汉语意义,以便提供背单词的乐趣。其中除了一个800X480的背景外,还使用10个左右的小图片,自然也有一个粒子系统。
现在,我遇到的问题是,如何不使用上述异步预先加载方法,在我的I9100上,出现混乱现象(相信你能理解其中的意思),即类似于内存不够时的有时这样有时那样的现象。
在我充分肯定了不存在内存漏洞(包括在启动到此场景过程中相关的几个场景)的前提下,我使用了上述异步预先加载方法,结果一切正常了(是否绝对,我还不能肯定)。
我是受到如下文章启发,才使用上述技巧的。
How to preload your game assets in loading scene
URL: http://xperienced.com.pl/blog/how-to-preload-your-game-assets-in-loading-scene
其中提到很关键的一句话:
If you are building a game for an iPhone then most probably, at some point of time, you will realize that you need a loading screen in which some (or even all) of your game assets should be preloaded. If you are not going to preload it but rather load it on demand, then you might experience some performance issues when a resource is initially loaded.
当然,在我的上述场景中使用了SQLITE技术加载数据库中数据,也可能是导致采用上述办法的重要原因之一。遗憾的是,目前COCOS2D-X并没有提供有关于异步加载SQLITE数据的支持。
对于像我这样的COCOS2D-X初使用者来说,资源何时需要预加载?在什么样的情况下需要?等等,这都是一些问题。
Cocos2d-x框架中提供了使用preloadEffect方法预加载声音文件,以及提供CCTextureCache::sharedTextureCache()->addImageAsync方法用来预加载图像文件。
在框架提供的DEMO中,有的使用了预加载图像文件技术,有的没有。看起来,初步的结果是在场景中使用大量图像时才有必要预加载。相信大多数同志都肯定这一点。
在我现在编写的一个简单的背单词软件(练习而已)中,就证明了上述结论。
例如,我的软件中有一个场景用于实现类似于实现射击方式选择正确的汉语意义,以便提供背单词的乐趣。其中除了一个800X480的背景外,还使用10个左右的小图片,自然也有一个粒子系统。
现在,我遇到的问题是,如何不使用上述异步预先加载方法,在我的I9100上,出现混乱现象(相信你能理解其中的意思),即类似于内存不够时的有时这样有时那样的现象。
在我充分肯定了不存在内存漏洞(包括在启动到此场景过程中相关的几个场景)的前提下,我使用了上述异步预先加载方法,结果一切正常了(是否绝对,我还不能肯定)。
我是受到如下文章启发,才使用上述技巧的。
How to preload your game assets in loading scene
URL: http://xperienced.com.pl/blog/how-to-preload-your-game-assets-in-loading-scene
其中提到很关键的一句话:
If you are building a game for an iPhone then most probably, at some point of time, you will realize that you need a loading screen in which some (or even all) of your game assets should be preloaded. If you are not going to preload it but rather load it on demand, then you might experience some performance issues when a resource is initially loaded.
当然,在我的上述场景中使用了SQLITE技术加载数据库中数据,也可能是导致采用上述办法的重要原因之一。遗憾的是,目前COCOS2D-X并没有提供有关于异步加载SQLITE数据的支持。
相关文章推荐
- 关于cocos2d-x 与 cocos2d-html5 资源预加载的思考
- Cocos2d-js 开发记录:图片数据资源等的异步加载
- Cocos2d-js 开发记录:图片数据资源等的异步加载
- 关于cocos2d-x进度条的实现和异步加载资源
- 关于eclipse android 开发加载图片资源提示找不到对应名称解决办法
- 关于在组件GIS开发中使用Python的一点补充说明
- 【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d-2.0-x-2.0.2使用资源加载策略 推荐
- 【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d-2.0-x-2.0.2使用资源加载策略
- 【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d­2.0­x­2.0.2使用新资源加载策略!不再沿用-hd、-ipad、-ipadhd添加后缀方式
- TangIDE开发技巧之自定义资源加载窗口进度条
- Android插件化开发 第三篇 [加载插件资源]
- 关于做android+J2ee系统集成开发的一点心得
- 关于做开发的一点感想
- Cocos2d-x 实现Loading界面加载资源进度条显示百分比(回调函数)
- 关于lexical_cast,一点补充
- 学习HTML5开发RPG游戏第二步>资源预加载
- 关于JEECG开发框架的一点看法
- 关于Cocos2d-x使用webView加载html视频问题
- 关于项目开发和《软件工程》的一点随想
- Cocos2d-x 3.x开发——导入Cocostudio资源