您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x 2.2.3 游戏过烫

2014-04-29 17:57 288 查看
项目上线了,目前有个问题是手机运行一阵就会很烫,特别是在安卓平台上,发烫问题蛮严重的。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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: