Tryb stałej wydajności

Wydano: Android 11 (poziom 30 interfejsu API)

Urządzenia z Androidem mogą dynamicznie zmieniać taktowanie w zależności od obciążenia systemu. Jest to korzystne, ponieważ pozwala oszczędzać energię podczas użytkowania, ale może utrudniać uzyskanie wiarygodnych danych o skuteczności. Jeśli próbujesz określić, jak szybko fragment kodu może działać w celu zapobiegania regresji lub czy optymalizacja jest powtarzalna, wyniki nie będą wiarygodne, jeśli nie zostaną przetestowane przy stałej częstotliwości taktowania. Dzięki stałemu taktowaniu możesz przeprowadzać dokładne testy A/B wydajności bez uwzględniania zmian częstotliwości procesora.

Tryb stałej wydajności ustawia taktowanie procesora i GPU z górną i dolną granicą. W nowszych urządzeniach górna i dolna granica będą ustawione w tym samym punkcie, co eliminuje wariancję. Ten punkt pracy procesora/GPU jest specyficzny dla urządzenia. Tryb wydajności nie zapewnia maksymalnej wydajności urządzenia, ale jest niższym, bardziej zrównoważonym punktem pracy. Punkt pracy może być utrzymywany przez ograniczony czas, ale nie można go utrzymać w nieskończoność. Tryb wydajności nie wyłącza innych dynamicznych zachowań związanych z wydajnością, takich jak wybór rdzenia. Z tego powodu zalecamy wielokrotne uruchamianie obciążenia i porównywanie tylko tych uruchomień, które korzystają z tego samego rdzenia.

Tryb stałej wydajności możesz włączyć za pomocą tego polecenia adb:

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

Urządzenie działające w trybie wydajności stałej może się nadal przegrzewać, ponieważ ten tryb nie przełącza urządzenia w stan zrównoważony termicznie. Z tego powodu w przypadku testów porównawczych zalecamy:

  • Przed rozpoczęciem testu poczekaj, aż urządzenie wróci do stanu zrównoważonego termicznie.
  • Podczas testowania monitoruj stan termiczny urządzenia, aby odróżnić wpływ kodu testu porównawczego od zdarzeń termicznych.