我已经困惑了一段时间,无论是在无限循环中运行渲染循环还是用计时器驱动它(例如,60 Hz计时器)。无限循环似乎是一个好主意,但我担心它可能比定时器方法更快地在便携式设备上使用电池。一般来说,消耗更多的能量。我已经看到这两种方法都在实践中使用,但无法决定它们的正面和负面。你能帮我决定吗?也许大多数便携式设备过于原始而无法支持VSync
更新,因此需要在它们上使用定时器?
答案 0 :(得分:0)
Android可以同时执行这两项操作(请参阅http://developer.android.com/reference/android/opengl/GLSurfaceView.html),RENDERMODE_CONTINUOUSLY
或RENDERMODE_WHEN_DIRTY
标记。 Qt和其他框架也有这个。因此嵌入式框架确实具有此功能。无论渲染速度如何,请注意现代显示框架(使用其API时)将始终仅在vsync时间切换下一帧,因此如果由于某种原因需要比vsync绘制更快,则需要能够绕过API(例如,直接画到帧缓冲区。)
如果需要最快的更新速率而不考虑任何显示同步,请进行连续更新,这将需要更多功率(不是最大功率 - 您可以决定更新屏幕的选择部分)。