poniedziałek, 26 grudnia 2011

Overclocking na Androidzie


Historia overclockingu, czyli poniekąd sztucznego zwiększania wydajności podzespołów w komputerach jest długa. Człowiek od zawsze poprawiał swoje dzieła i nie inaczej jest w wypadku Androida. Praktycznie każde urządzenie z androidem ma możliwość podkręcenia czy to procesora, czy też pamięci bądź gpu. Skupię się tutaj na wyjaśnieniu kwestii technicznych, a nie na suchym opisie jak zrobić i co, gdyż sposobów jest tyle ile urządzeń.



Kwestia pierwsza to odpowiednie przygotowanie. Zazwyczaj wymagany jest odpowiedni kernel, obowiązkowo root, a także aplikacja obsługujące nasze urządzenie. Wybór jest spory. Tutaj należy dodać, że istnieje ryzyko uszkodzenia sprzętu, więc nie należy przeasadzać z wartościami.

Kolejna kwestia to wybranie częstotliwości, wyższej niż standardowa, ale stabilnej. Zazwyczaj wysokie wartości powodują zacinanie czy resety urządzenia. Można temu zaradzić stosując overvolting, o którym niżej.

Overvolting to zwiększanie napięcia procesora, które może ustabilizować pracę urządzenia na częstotliwościach, na których były problemy. Zmian dokonujemy zazwyczaj w zakresie +25 do +50 mV.

Odwrotnie do Overvoltingu, jest także Undervolting, czyli zmniejszanie napięcia procesora. Stosuje się to dla niższych częstotliwości w celu oszczędzenia baterii, gdyż kiedy uśpimy nasze urządzenie, procesor zwalnia. Tutaj zmian dokonujemy w zakresie -25 do -250 mV.

Teraz kwestia najważniejsza, czyli dobranie odpowiedniego governora czyli zarządzacza, a raczej profilu pracy procesora. Najpopularniejsze z nich wraz z wyjaśnieniem poniżej:

Performance
Ustawia CPU statycznie do najwyższej częstotliwości w granicach ustawień minimum i maksimum absolutnego.

Powersave
Ustawia CPU statycznie do najniższej możliwej częstotliwości w granicach ustawień minimum i maksimum absolutnego.

Userspace
Pozwala userowi, lub aplikacji działającej z root UID, na ustawienie CPU na sztywno do konkretnej częstotliwości przez utworzenie pliku sysfs "scaling_setspeed" obecnego w urządzeniu.

Ondemand
Ustawia CPU na maksimum w zależności od bieżącego użycia. Żeby to zrobić, CPU musi mieć możliwość szybkiego zmieniania częstotliwości.

Conservative
Działa podobnie jak Ondemand. Różnica polega na tym, że płynnie przechodzi między częstotliwościami CPU zamiast przeskakiwać na maksymalną, kiedy tylko procesor ma jakiekolwiek obłożenie. Przez to urządzenie zużywa mniej energii.

Interactive
Ustawia CPU w zależności od użycia, podobnie jak Ondemand i Conservative, aczkolwiek jest bardziej agresywny przy skalowaniu w górę (szybciej zmienia częstotliwości), przez co bardziej zużywa energię.

Smartass
Smartass kompletnie przepisaną wersją Interactive. CPU pracuje przez większość czasu na niskich częstotliwościach dla oszczędności baterii. Posiada automatyczny profil przy wyłączeniu ekranu, utrzymując prędkości na minimum kiedy telefon jest nieużywany.

Savagedzen
SavagedZen bazuje na Smartass. Posiada poprawione paramtery kontrolujące jak często i jak szybko CPU zmienia częstotliwości w górę i w dół. Główna różnica w stosunku do Smartass polega na tym, że CPU nie schodzi w dół w sztywnych stopniach, a na bazie heurystyki obłożenia procesora.

InteractiveX
Zmodyfikowana wersja Interactive z kodem, który blokuje CPU na najniższej możliwej częstotliwości, kiedy ekran jest wyłączony. Posiada profile uśpiony/wybudzony, więc nie wymaga manualnego ustawiania profili w aplikacji, zablokuje się na najniższej dostępnej częstotliwości przy wyłączeniu ekranu.

Do tego wybieramy I/O Scheduler, ale nie jest to aż tak istotne, bo ważne praktycznie wyłącznie przy śrubowaniu wyników w benchmarkach. Powyższe opcje są dostępne w większości aplikacji do podkręcania procesora, zależnie oczywiście od kernela i urządzenia.

Czym kręcić? Aplikacji jest multum, poczynając od najstarszego bodajże SetCPU, poprzez Voltage Control, Tegrak Overclock, No frills CPU Control, na AnTuTu CPU Master kończąc (oczywiście jest więcej, m.in. w markecie). Kręćcie byle nie za dużo i bezpiecznie.

Brak komentarzy:

Prześlij komentarz