gpt4 book ai didi

java - 如何以编程方式禁用 "Power saving"模式。 (安卓)

转载 作者:行者123 更新时间:2023-12-01 14:48:32 26 4
gpt4 key购买 nike

目前,我正在尝试通过使用 OpenGL ES 为 Android 设备开发一款2D 游戏,但 Android 操作系统让它变得非常痛苦。

它看起来非常漂亮并且以 60FPS 流畅运行,但它消耗了所有的电池。然后我突然意识到了这一点。启用“省电”模式(Galaxy S III等),会导致FPS 下降至 40

所以我决定提高游戏速度并将计时器限制为40FPS,这样就可以流畅地以40FPS进行游戏。

又一个问题来了。这次,即使最大 FPS 设置为 30 并且计算/绘图位于同一线程上,移动的对象也会随机闪烁。当禁用“省电”(从设备菜单中禁用)时,它会保持平稳运行。

简而言之,“省电”模式会随机减慢 OpenGL ES 函数的速度,从而减慢应用程序的速度,即使不需要将 FPS 降至 40。 (有时一个函数需要2-3ms执行,需要13-14ms而其他运行正常)

我想知道是否有一种方法可以在代码中禁用“省电”模式并在退出时重新启用它。

PS:为了保持屏幕打开,我使用下一行:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
this.mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "DoNotDimScreen");
this.mWakeLock.acquire();

最佳答案

也许这对您有帮助:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

关于java - 如何以编程方式禁用 "Power saving"模式。 (安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com