[英]How to disable “Power saving” mode programmatically. (Android)
目前,我正在嘗試使用OpenGL ES開發適用於Android設備的2D游戲 ,但Android OS使其盡可能地痛苦。
它看起來很不錯,並且通過消耗所有可能的電池以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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.