项目上线了,目前有个问题是手机运行一阵就会很烫,特别是在安卓平台上,发烫问题蛮严重的。Google了一下,大家都反映是60帧的帧频导致的这个原因,而安卓平台设置帧频又没有实现(详见项目中Cocos2dxRenderer.java的onDrawFrame方法,大部分代码被屏蔽了)。github上有个比较成熟的解决方案是在渲染代码中加上更新标志,只有当cctouch事件和ccAction事件触发时(也就是需要画面进行重绘时)执行屏幕更新 *** 作,不过涉及到改源码,目前需要时间测试所以没有采用,目前是使用了修改Cocos2dxRenderer.java的onDrawFrame方法达成了安卓平台上30帧的目的,测试运行了两小时,发热量改善了许多,下面放代码
public voID onDrawFrame(final GL10 gl) { /* * FPS controlling algorithm is not accurate,and it will slow down FPS * on some devices. So comment FPS controlling code. */ try { if (renderingelapsedtime< Cocos2dxRenderer.sAnimationInterval) { Thread.sleep((Cocos2dxRenderer.sAnimationInterval - renderingelapsedtime) / NANOSECONDSPERMICROSECOND); } } catch (InterruptedException e) { e.printstacktrace(); } long renderingStartedTimestamp = System.nanoTime(); Cocos2dxRenderer.nativeRender(); renderingelapsedtime = (System.nanoTime() - renderingStartedTimestamp); }总结
以上是内存溢出为你收集整理的cocos2d-x 游戏过烫 android 限制游戏帧数全部内容,希望文章能够帮你解决cocos2d-x 游戏过烫 android 限制游戏帧数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)