cocos2d-x 游戏过烫 android 限制游戏帧数

项目上线了,目前有个问题是手机运行一阵就会很烫,特别是在安卓平台上,发烫问题蛮严重的。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);
    }

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...