我正在为Android和Android构建一个原生的OpenGL应用程序。 IOS。 OpenGL代码在两个平台上都是相同的。对于Android,我使用GLSurfaceView渲染我的场景,而对于IOS,我使用的是GLKView。
我正在设置应用程序以使用按需渲染。我监视屏幕上的触摸输入,操作系统通知我,然后我通过每个通知更新OpenGL场景。在Android上,我使用GLSurfaceView.requesetRender()更新我的OpenGL场景,在IOS上,我使用GLKView.update()更新我的OpenGL场景。
在我的测试中,我发现IOS& Android(在各种设备上)都会每0.016秒发送一次触摸更新。这是有道理的,因为这是60fps并且与这些设备上的标准60Hz显示器一致。
我感到困惑的是在IOS& amp;上呈现完全相同的OpenGL场景所需的时间差异。 Android(在各种设备上)。在几乎所有的Android设备上,我能够平均在0.015秒内渲染整个场景。在IOS设备上,平均需要0.034秒(超过两倍)。
我可以将这完全归咎于Android手机和IOS手机中的GPU硬件,还是需要对我需要实现的GLKView进行一些微调?
提前感谢任何见解。
答案 0 :(得分:0)
我怀疑你在iOS上瞄准30fps。 Link to GLKViewController's preferredFramesPerSecond
您的应用程序应选择能够始终如一的帧速率。
默认值为每秒30帧