一、加载前
1.预读取,避免后面一下子读取任务太多:
使用预先读取,分步读取,避免内存峰值突然上升。
预加载:
CCTextureCache、 CCSpriteFrameCache、CCAnimationCache;都可以为其添加一个key,后面通过key索引获取纹理、精灵或动画。
二、加载时
2.异步加载,最有效的提高读取性能:
使用多线程,异步加载,可以有效的提高读取资源的速度。
3.使用内存文件映射,建立映射避免内核缓存,更快的读取速度
当读取的数据较大时,可以使用内存文件映射,windows中用CreateFileMapping系列函数,Linux用mmap系列函数。
三、加载后处理内容
4.读取算法和API:
二进制文件:
尽量使用二进制格式的文件,读取时候避免文本文件字符查找分割提取操作。
对于文本文件:
加载资源部分的代码,优化算法和使用的函数,比如lua中的substr就应该少用,尽量用table.insert方法,用游标读取方法。
C++中也要注意更高的字符串处理方法。
四、使用后处理
5.常用数据常驻内存,用完以后不再需要了及时释放读取文件内容:
将常用的纹理图片存放到内存中。
注意内存泄露, 及时释放不需要的内存空间。