我有一个在Android中运行JNI的C++游戏.由于场景复杂性,帧速率从大约20-45fps变化.任何高于30fps的东西对于游戏都是愚蠢的; 它只是燃烧电池.我想将帧速率限制为30 fps.
- 我可以切换到RENDERMODE_WHEN_DIRTY,并使用Timer或ScheduledThreadPoolExecutor来requestRender().但这增加了一大堆额外的移动部件,这些部件可能会或可能不会始终正确地工作.
- 当事情快速运行时,我尝试注入Thread.sleep(),但这对于小时间值似乎根本不起作用.它可能只是将事件支持到队列中,而不是实际上暂停.
是否有隐藏在API中的"capFramerate()"方法?有任何可靠的方法吗?