使用RENDERMODE_WHEN_DIRTY进行显式渲染调用,游戏的性能提升?

时间:2013-07-13 09:19:12

标签: android performance opengl-es game-engine ouya

在为Android创建游戏的过程中,我偶然发现了一些不确定性。 在为游戏创建图形绘制时,最佳做法是在游戏循环中实现显式调用以渲染图形(使用OpenGL ES)吗?

使用setRenderMode()常量调用RENDERMODE_WHEN_DIRTY,在我的理解中会禁用内容的自动呈现,从而可以控制跳帧等。但这仅建议用于创建应用,不会带来任何性能提升游戏并不仅适用于图形内容不一定每帧更新的应用程序?

对此有任何答案或是否归结为实施和讨论?

我还应该提一下,游戏是为ouya开发的,只给我一个硬件方面的参考点(截至目前)。

1 个答案:

答案 0 :(得分:1)

实时应用程序(如游戏)从平滑帧速率(即每秒一致的帧数和每帧一致的渲染时间)中获益匪浅。

出于这个原因,通常最好使用尽可能快地渲染方法,Android应该很好地将所有内容同步到它的刷新率。我不建议尝试更好地同步渲染,而不是Android在内部执行,即使您正在针对单个目标进行开发,它可能会在未来通过操作系统更新进行更改。

有关帧速率和帧时间如何影响感知平滑度的更多信息,请参阅this(非编程)文章。