簡體   English   中英

如何以編程方式禁用“省電”模式。 (Android)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM