小编gri*_*liz的帖子

如何在使用Android的GLSurfaceView.RENDERMODE_CONTINUOUSLY时限制帧率?

我有一个在Android中运行JNI的C++游戏.由于场景复杂性,帧速率从大约20-45fps变化.任何高于30fps的东西对于游戏都是愚蠢的; 它只是燃烧电池.我想将帧速率限制为30 fps.

  • 我可以切换到RENDERMODE_WHEN_DIRTY,并使用Timer或ScheduledThreadPoolExecutor来requestRender().但这增加了一大堆额外的移动部件,这些部件可能会或可能不会始终正确地工作.
  • 当事情快速运行时,我尝试注入Thread.sleep(),但这对于小时间值似乎根本不起作用.它可能只是将事件支持到队列中,而不是实际上暂停.

是否有隐藏在API中的"capFramerate()"方法?有任何可靠的方法吗?

android opengl-es

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

android ×1

opengl-es ×1