在android上跑不满60帧的问题

俺发现在某些android手机上跑不满60帧(FPS只有40左右),遂查看JAVA代码。Cocos2dxRender.java 的 onDrawFrame函数。

通过加println,俺发现Cocos2dxRenderer.nativeRender();这一句的耗时在6ms左右。
这一句应该是c++的一帧耗时,自然包括了CCDirector::drawScene诸如此类。
6ms很短,应该不是问题所在。

真正的问题在于,onDrawFrame和上一次onDrawFrame之间的时间间隔达到了25ms左右。

想再深入查已经没有代码可看了。
遂请教各位大师, 请问是否能理解为,在这些android手机上,是卡在GPU而非CPU吗?俺如何让app帧率达到接近60?

另,一帧里,draw的次数(g_uNumberOfDraws)也只不过在50左右。

如果你运行的是简单的HelloWorld程序,发现跑步满60贞,那只有2个可能,1是机器是古董,2是开了节电模式,节电模式就会把帧数限制在40。我跑个2w*2w像素的图像移动都能保持在56以上的fps,估计是你机器设置的问题了