Creator 导成iOS 原生的,挺不流畅的。求解决!!!

如题 用Creator做的导成iOS原生的,运行起来挺不流畅的。手机iPhone6会明显的感觉各种卡顿。这个和Lua的性能真心没法比,求引擎团队帮忙看下如何解决。

你也是没上下文啊。 Creator的版本号多少?做什么类型的游戏?导成iOS原生后drawcall多少、帧率多少?卡顿是帧率太低导致,还是帧率不平稳导致?

2赞

1.6 Beta 6.2版本。 原生的感觉比浏览性打开还慢。主要是打开新界面都偏慢。

地址 我私下找人发你。

LoadRes速度慢这个问题 一直存在 creator硬伤

使用者的切身体会

初次打开场景在 1.6 中比 1.5.2 要慢一些,这个是由于 jit 策略改变导致的,我们正在优化,建议先用 logo 和 splash screen 来遮盖加载速度。

你的 draw call 350 左右,不过在浏览器上看起来 frame time 依然是 10ms 以下,可以支撑 60 fps,是不是你限制了 fps ?

我让同事发了一个包给你们。或者 留一个QQ联系方式?
国库 商城这些界面都是预制,显示出来明显要几秒。不单是第一次加载的问题。刚试了下 安卓也一样,慢慢!!

1赞

说实话,我是真心不希望Panda他们整天免费帮CP调BUG改代码。而且从历史经验来看,绝大多数问题都是引擎用得不对,只有少数情况是引擎自身出问题。

不过这种事情的最后决策还是在Panda自己。如果Panda帮你改了BUG,记得感恩;如果Panda不接你的包,也不需要抱怨。这种很急很急的问题,结果查出来是那么一两行代码自己没写好的案例,过去的六七年里实在太多太多了。

2赞

这个应该是自己使用方法的问题

知道你的意思 可能使用不会,导致踩坑。。但是真心没则,如果自己能搞定 就不需要在这喷了。 发布在即 悲剧了

就跟前两天 另一个帖子的用户说的一样,也会莫名奇妙在手机上闪退。都是相当难搞的事情。H5内存图片管理这块感觉不如原来App版本。可能是不熟还不会用吧

竟然还有Game Logic这个东西,请问下是如何统计的?只是scheduler update的时间?

我之前也发过一篇帖子 莫名的闪退, 然后王哲大大 给了个思路 大多是内存爆掉的问题, 说实话, 引擎内存管理确实有很多问题,包括已知存在内存泄露的地方很多,但是你对自己的项目内存及时释放是没有问题的。

之前我们得项目在 safari 微信 chrome 等一系列浏览器都有崩溃的情况。
通过安卓真机调试 使用 adb shell命令 查看内存, 有问题的地方及时释放。 出去浏览器占用的内存, 目前控制在500M 没有复现崩溃的情况。 所以你们花时间好好查一查。 我现在头疼的是 发热和耗电的问题, 如何去降低CPU和GPU负载的问题。

耗电发热就目前的解决方案来看,无他,唯降fps耳,否则只有自己暴改渲染了。

哈哈哈。。。确实。

很多年以前,捕鱼达人说性能卡,拿过来后我们改掉用Intel的工具查了一下性能热点,改掉里面两层for循环嵌套的地方,搞定。

后来北京触控另一个用cocos项目说手机发烫、耗电飞快,团队天天加班到半夜已经持续一周了。我们飞了个主力过去,只花了1天时间review代码,渲染的地方没有查出问题,结果人家在网路线程里面用死循环去轮询,while里面每次 sleep(1微秒),是的你没看错,1微秒。这一行代码顺手改成 sleep(20毫秒) 就搞定了,然后给他们上课讲什么叫生产者-消费者模型,怎么用事件等待。

我见过的游戏里的绝大多数闪退崩溃发热,都是这种很低级的错误,明明是通过公司内的技术培训、代码交叉审核就可以避免的。而且发热这种问题,用工具查一下热点,是非常容易的事情。

4赞

不是想拆王哲大大的台,一个线程里用死循环去轮询sleep(1)是绝对够了,这个东西的意义不是sleep,主要是用来切换CPU时间片,让当前CPU从当前线程切换到其它线程.我现在C++服务器底层就是这样写的,每个线程都只sleep(1),而且这个东西在linux系统下没什么问题,主要在windows系统下需要sleep(1);

他说的单位是 1微秒 和 20毫秒 你自己的是1毫秒

1毫秒=1000微秒

第一:我还真不知道sleep(1微秒)如何写
第二:只要sleep(>0),这里的实际sleep时间往往在15毫秒以上
第三:多线程是用几分钟就能学会,但要精通,需要很多年的亲身体会,特别作为客户端程序员往往轻视这个问题,导致各种机率很低的偶现宕机.