博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x开发中关于资源的预加载的一点补充
阅读量:7199 次
发布时间:2019-06-29

本文共 1159 字,大约阅读时间需要 3 分钟。

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数据的支持。

转载地址:http://ujbum.baihongyu.com/

你可能感兴趣的文章
Linux资源分析工具杂谈(长文慎入)
查看>>
前端组件化Polymer入门教程(7)——Local DOM
查看>>
创业感悟:技术兄弟为什么一直没有起来(1)
查看>>
springboot(九):定时任务
查看>>
UDP转TCP隧道工具udptunnel
查看>>
Unable to launch the IIS Express Web server
查看>>
win7 使用emeidter后无法右键新建记事本
查看>>
向mysql的innodb表快速插入数据的php程序
查看>>
kvm虚拟机操作常用命令
查看>>
mysql管理之安全机制
查看>>
RAID 磁盘阵列
查看>>
Linux服务器部署系列之七—OpenLDAP篇
查看>>
CCNA之ccna-路由器的eigrp协议的配置试验
查看>>
MySQL 异常信息诊断
查看>>
组合模式
查看>>
PMD 插件的安装和使用
查看>>
下置类属性
查看>>
俞军谈产品经理12条
查看>>
Apache下域名虚拟主机在个人主页目录上实现过程
查看>>
ASP.NET 例程完全代码版(4)——DNS静态类
查看>>