求教,游戏性能,遇到的一些问题。

1、渲染次数问题

现在我做得游戏,一个弹窗UI,用debug模式下,渲染127次。 原因是弹窗内有很多sprite,而且都还很基础。

主要包括: 1、 文字 (大部分文字都是切图的)
2、 切图
3 、按钮切图
几乎没一个UI页面,都超过100个sprite渲染批次。 所以非常纠结。

请查看

资源列表按模块分

资源文件夹内容:

如上,我总觉得自己对于资源处理有问题,但是不知道从哪下手,求有经验的同学,推荐更好的工作流程。

不知道为啥,我预先将很多模块的切图整理在大图内(plist 调用), 然后在游戏开始前将N个模块大图,加载进内存,

通过 cache:addSpriteFramesWithFile(plist ,png)

手机总是崩掉(闪退)

UI 的图就算打包了,没有放到 batch node 里渲染也不会提高性能。

至于 addSpriteFramesWithFile() 会崩溃,多半是打包后的图尺寸太大,内存占用过高导致进程被强行干掉。

N个是多少个?

看情况有时候没必要启动全部加载,做到按需加载也可以,场景切换的时候看情况,考虑要不是释放下

另外再测试下确定是否真的是加载过多崩溃的,还是程序本身其他地方有问题

谢谢,3.0是不是解决了batchNode的问题,不需要用batchNode

多半是程序本身的问题,当时写了一个异步加载的, 自己C++ 不熟,所以出现了。

但是当时 被这个搞苦逼了,所以不敢再弄大图了。

我自己在测试下, 是不是 瞬间加载内存过大,导致崩溃。

异步加载用 c2dx 自带的吧,没什么问题

1.按需加载,释放资源
2.尽量把碎图拼起来,建议用1024*1024的
3.你这些图,没必要用batchNode

将能够通用的图片全部放在一张图里,其余的按需求加载和释放,当然,除非你游戏不大,可以把所有资源全部加载到内存