Sabit Performans Modu

Yayınlandı: Android 11 (API düzeyi 30)

Android cihazlar, sistem yüküne göre saat hızını dinamik olarak değiştirebilir. Bu davranış, kullanım sırasında güç tasarrufu açısından iyi olsa da güvenilir performans verileri elde etmeyi zorlaştırabilir. Bir kod parçasının regresyonu önlemek için ne kadar hızlı çalışabileceğini veya bir optimizasyonun tekrarlanabilir olup olmadığını belirlemeye çalışıyorsanız sabit saat hızlarında test edilmeyen sonuçlarınız güvenilir olmaz. Sabit saatler sayesinde, CPU frekansındaki değişiklikler bir faktör olmadan performansın doğru A/B testini yapabilirsiniz.

Sabit performans modu, CPU ve GPU saatlerini üst ve alt sınırlara göre ayarlar. Daha yeni cihazlarda üst ve alt sınır aynı noktaya ayarlanarak varyans kaldırılır. Bu CPU/GPU çalışma noktası cihaza özeldir. Sabit performans modu, maksimum cihaz performansını sağlamaz. Bunun yerine, daha düşük ve sürdürülebilir bir çalışma noktası sunar. Çalışma noktası sınırlı bir süre boyunca korunabilir ancak süresiz olarak korunamayabilir. Düzeltildi Performans modu, çekirdek seçimi gibi diğer dinamik performans davranışlarını devre dışı bırakmıyor. Bu nedenle, iş yükünüzü birden çok kez çalıştırmanızı ve yalnızca aynı çekirdeği kullanan çalıştırmaları karşılaştırmanızı öneririz.

Sabit performans modunu aşağıdaki adb komutuyla etkinleştirebilirsiniz:

adb shell cmd power set-fixed-performance-mode-enabled [true|false]

Sabit performans modunda çalışan bir cihaz, bu mod cihazı termal olarak sürdürülebilir bir duruma getirmediği için yine de aşırı ısınabilir. Bu nedenle, karşılaştırma çalıştırmaları için aşağıdakileri yapmanızı öneririz:

  • Çalıştırmayı başlatmadan önce cihazın termal olarak sürdürülebilir bir duruma dönmesini bekleyin.
  • Karşılaştırma kodu ile termal olayların etkisini ayırt etmek için test sırasında cihazın termal durumunu izleyin.