在为android创建游戏的过程中,我遇到了一些不确定性。在为游戏创建图形绘制时,在游戏循环中实现显式调用渲染图形(使用OpenGL ES)是否是最佳做法?
在我看来,用RENDERMODE_WHEN_DIRTY
常量调用setRenderMode()
将禁用内容的自动渲染,启用对跳过帧的控制等。但这是否仅适用于创建应用程序,在游戏中不会带来任何性能提升,而且大多只适用于图形内容不一定每帧都更新的应用程序?
对此有什么答案吗?还是会归结为实施和讨论?
我还应该提到的是,游戏是为ouya开发的,在硬件方面只给了我一个参考点(截至目前)。
实时应用程序(如游戏)得益于平滑的帧速率(即每秒一致的帧数和每帧一致的渲染时间)。
因此,通常最好使用尽可能快的渲染方法,Android应该很好地将所有内容同步到其刷新率。我不建议尝试在同步渲染方面比安卓在内部做得更好,即使你是为一个单一的目标开发的,它在未来可能会随着操作系统的更新而改变。
有关帧速率和帧时间如何影响感知平滑度的更多信息,请参阅这篇(非编程)文章。