Řízené přetaktování Smartfounu s procesorem OMAP
Dnes se pokusíme o alternativní a poněkud chytřejší přístup ke zvýšení výkonu procesorů rodiny Omap. Jak jsem v nedávno vydaném článku zaměřeném právě na zvyšování výkonu přetaktováním procesoru na jeho konci zmínil, není samotné použití aplikace OmapClock zcela ideálním a už vůbec ne finálním řešením. Umožňuje nám sice jednoduše změnit taktovací frekvenci a tím i rychlost procesoru, ale má i svá omezení. I proto bych vám dnes rád představil nástroj, kterým lze některá tato omezení eliminovat, a který umožňuje „řídit“ taktovací frekvenci poněkud sofistikovaněji.
Nastavíme-li vyšší frekvenci pomocí OmapClocku je u mnoha zařízení automaticky obnovena výchozí frekvence (nastavena zpět systémem) po vypršení doby podsvětlení displeje. Jako optimální jsem navrhoval použít OmapClock s parametry příkazové řádky. Tak je spuštěn daný program a nastavena vyšší frekvence po dobu běhu tohoto programu. I tak je, bohužel, nutno hlídat zhasnutí displeje, protože tím se stejně frekvence automaticky nastaví na výchozí, jak už bylo výše zmíněno. Na Internetu se objevilo i pár jiných pokusů o řešení této situace. Například aplikace OMAPXcalar, který využívá OmapClock a umožňuje průběžně a automaticky měnit rychlost procesoru dle přednastavených hodnot v INI souboru. Některým tato aplikace fungovala a vyhovovala, jiným až tak né, a některým dokonce způsobila hard-reset zařízení. Informací o této aplikaci je velmi pomálu a tak, pokud máte zájem, můžete se něco málo dočíst na stránkách Shadowork.Net, kde můžete tuto aplikaci i stáhnout.
Naštěstí existuje i méně problémové a bezpečnější řešení. Jde o aplikaci, které bych se dnes rád věnoval, jako nástroji pro řízené přetaktovaní procesoru. Ta aplikace se jmenuje…
Tornado PowerControl (dále jen TPC)
Tato freeware aplikace, která je k dispozici pouze v anglické
verzi, přináší ve své poslední verzi (aktuálně 2.0 Beta 4) nástroj
pro řízení taktovací frekvence. Proto se budu zabývat jen verzí 2 a
nikoliv verzí předchozí (1.x), která ještě touto možností nedisponovala.
Bohužel jde stále o Beta verzi, která navíc již více než dva
měsíce nebyla aktualizována – škoda. Tak trochu jsem vyčkával
s tímto článkem na novější verzi, ale prd. Nicméně i tato
rozpracovaná verze umožňuje solidní využítí a pro mnohé tak může být
klidně i verzí zcela vyhovující. Aplikace je určena pro Smartfouny
s Windows Mobile, zřejmě jen WM2005, jelikož o WM2003(SE) není ani
zmínky, které jsou osazeny procesorem OMAP. Ke svému běhu vyžaduje aplikace
také nainstalovaný .NET CompactFramework 2.0. Ten je sám o sobě dosti
objemný a tak jej mám (i přes počáteční problémy) instalován
na paměťové kartě. Odkazy a možnost stažení této aplikace najdete na
konci tohoto článku.
Instalace a spuštění
K dispozici je CAB instalátor, takže instalace je plně
automatická a jednoduchá a aplikaci je možno nainstalovat i na
paměťovou kartu. Instalace vytvoří i zástupce v menu Start a
odsud ji také můžete spustit. Nevytvoří ale zástupce ve složce StartUp,
takže pokud budete chtít aplikaci spouštět automaticky po startu, je nutno
takového zástupce do složky StartUp přidat ručně.
Po spuštění vás uvítá hlavní obrazovka s informacemi
o stavu aplikace a procesoru. Nutno buhužel podotknout, že aplikace
„neumí“ běžet na pozadí a její hlavní okno je tedy vždy
viditelné a opruzuje v seznamu spuštěných aplikací. A to
i tehdy, použijete-li parametr „hide“ v příkazové
řádce tj. „TornadoPowerControl.exe hide“. Dojde pouze
k minimalizaci aplikace, hlavní okno tak sejde z očí, bohužel ne
z mysli. A samozřejmě, že aplikace TPC musí být stále
spuštěná aby fungovalo vše, co dále v článku popisuji. Nějak to
nechápu, vždyť je tak primitivní udělat, aby aplikace běžela „na
pozadí“ a navíc není důvod, aby po nastavení všech parametrů bylo
hlavní okno stále viditelné – spíš naopak, čekal bych skrytý běh
této aplikace. Je to nechutné, dá se s tím ale žít nebo to alespoň
obejít, ale snad se to v některé příští verzi změní.
Nastavení – první možnost
Řídit frekvenci procesoru umožňuje tato aplikace v podstatě dvěma
způsoby. I když je možné oba dále zmíněné principy kombinovat,
netroufám si odhadnout nakolik je to legitimní a funkční, jelikož do
chování programu (bez zdrojových textů) příliš nevidím. V reálu
ale asi vždy vystačíte buď s jedním či druhým principem.
První možností, která zde byla již před verzí 2.x, je možnost
nastavit vlastní akci při změnách podsvětlení displeje. To vám umožňuje
spouštět prakticky libovolnou aplikaci, jakmile dojde ke změně stavu
podsvětlení. Asi tušíte, že tou spouštěnou aplikací bude právě
OmapClock, který může být spuštěn s parametrem určujícím novou
frekvenci procesoru. Pro tyto účely, najdete v instalačním adresáři
„TornadoPowerControl“ tři soubory s příponou *.lnk,
což jsou zástupci vámi definovaných akcí – programů. TPC definuje
tyto tři soubory (názvy nesmí být změněny):
• Power_On.lnk – displej je plně podsvícen
• Power_BacklightOff.lnk – displej je ztlumený (ale
svítí)
• Power_UserIdle.lnk – displej je zcela vypnutý (zhaslý)
TPC spouští tyto zástupce vždy, když dojde ke změně podsvětlení
např. když stisknete nějakou klávesu při zhaslém displeji, displej se
rozsvítí, je spuštěn Power_On.lnk. Pak displej potemní, je spuštěn
Power_BacklightOff.lnk a nakonec zcela zhasne a spuštěn je
Power_UserIdle.lnk.
Tyto soubory jsou po instalaci prázdné a mohou být také odstraněny,
pokud tuto možnost (spouštět aplikace při změně stavu displeje)
nevyužijete. Pokud ale chcete, je nutno obsah souborů upravit tak, aby
obsahovaly platný odkaz na aplikaci, která má být spouštěna. Pro naše
účely budeme, jak už jsem naznačil, spouštět aplikaci OmapClock (je
rovněž součástí instalace TPC) s různými parametry tedy
s různými frekvencemi procesoru, jež chceme nastavit
u jednotlivých událostí displeje. Pro inspiraci nějaký ten příklad,
vždy soubor a za ním jeho obsah:
• Power_On.lnk – „73#“\Storage Card\Program
Files\OverClock\OmapClock.exe" -clock 240"
• Power_BacklightOff.lnk – „73#“\Storage
Card\Program Files\OverClock\OmapClock.exe" -clock 204"
• Power_UserIdle.lnk – „73#“\Storage Card\Program
Files\OverClock\OmapClock.exe" -clock 156"
Zkontrolujte nastavení TPC tj. v menu Settings → CPUSpeed
nesmí být položka „Automatic CPU Speed“ zapnutá – na
hlavní obrazovce bude pod tučným nápisem „CPU Speed“ napsáno
„Manual…“ je-li vypnutá. Tím je vše potřebné nastaveno.
TPC nyní bude automaticky nastavovat frekvenci procesoru (voláním aplikace
OmapClock) při změně podsvětlení displeje z maximálních 240MHz při
plném podsvícení do 156MHz při displeji vypnutém. Samozřejmě si hodnoty
musíte upravit dle svého gusta a také podle vašeho zařízení tj. podle
výchozí frekvence procesoru. Mnou uváděné příklady jsou pro Qtek 8310.
Závěrem tohoto bodu snad jen vzpomenu možnost přímého zadání
frekvence. V menu Settings → CPUSpeed můžete jednu
z předdefinovaných frekvencí nastavit kdykoliv (ne v automatickém
módu) přímo např. zvolením „Normal (180MHz)“. Bohužel
předdefinované hodnoty jsou určeny spíše slabším procesorům a tak
nejvyšší frekvence je zde „Ultra Fast (228MHz)“.
Nastavení – možnost druhá
Druhou možností, jež jako novinku přináší právě verze 2.x, je nechat
TPC automaticky řídit frekvenci procesoru podle aktuálního vytížení
procesoru. Může to znít jako kýžené dosažení mety, kdy je frekvence
řízena automaticky a navíc dle zátěže, ale ne všem musí tato možnost
vyhovovat – přiznám se již dopředu, mi ne. Pro nastavení je nutno
jít do menu Settings → CPUSpeed a dále zvolit „Automatic CPU
Speed“. Na hlavní obrazovce bude pod tučným nápisem „CPU
Speed“ napsáno „Automatic…“ je-li zapnutá a uvidíte
zde i aktuálně (automaticky) nastavenou frekvenci procesoru. Jelikož
předefinované hodnoty frekvence procesoru jsou určeny (opět) spíše
slabším kouskům, určitě budete muset přistoupit k jejich změně.
V menu Settings → CPUSpeed zvolte „CPU Settings“. Zde je
možno nastavit tři frekvence, používané pro automatické řízení.
Bohužel opět zde najdeme jen hodnoty určené slabším procesorům, kdy
maximální frekvence končí na 228 MHz. pro vyzkoušení to však stačí
a o tom, jak se tohoto omezení zbavit, si povíme o něco později.
Pro správné pochopení je totiž vhodné vědět něco víc o principech
automatického řízení, a tak mrkneme trochu pod pokličku…
Co za tím vězí
Pro potřeby automatického řízení frekvence definuje TPC tři
frekvence, které jsou používání v závislosti na vytížení
procesoru. Řízení podle vytížení samo o sobě nese vyšší nároky
na výpočetní výkon a tedy i spotřebu energie. TPC počítá a detekuje
vytížení 4 krát za sekundu, aby mohl rychle reagovat na změnu ve
vytížení. Nicméně mnohým se tento princip může jevit jako optimální
řešení. Ostatně aktuální vytížení pocesoru je možno zjistit
z menu Settings → „Debug Info“ – jen zřejmě autor
z nějakých důvodů do kalkulací nezapočítává právě vlastní
procesy – procesy aplikace TPC.
Takže jak jsem nakousnul definuje TPC tři frekvence, pro potřeby
automatického řízení. V menu Settings → CPUSpeed →
„CPU Settings“ jsou označeny jako Slow, Normal a Fast tedy Pomalu,
Normálně a Rychle. My je označme CPUAuto1, CPUAuto2 a CPUAuto3, protože
takto jsou označeny interně v programu TPC. Algoritmus změny frekvence
se řídí těmito dvěma, relativně jednoduchými, pravidly:
• Frekvence CPUAuto1 je nastavena, je-li zátěž procesoru nižší
než 33% po dobu (minimálně) 10-ti sekund
• Frekvence CPUAuto3 je nastavena, jakmile zátěž procesoru přesáhne
66%
V ostatních případech je „aktivní“ frekvence
CPUAuto2. Navíc, snížování neprobíhá okamžitě, ale s asi
desetisekundovým zpožděním – zvyšování naopak proběhne vždy co
nejrychleji je to možné. Frekvence 180MHz je stanovena interně jako
mezistupeň a interně nastavována programem pro zvýšení stability (změna
např. z 156 na 240MHz tedy neproběhne přímo, ale nejdříve je
nastaveno 180MHz a až pak 240MHz). Principiálně jednoduché a účinné
řešení, avšak i zde se dají nalézt nedostatky (více v závěru
článku).
Tyto tři frekvence je tedy možno v programu nastavit (menu Settings
→ CPUSpeed → „CPU Settings“), ale jak již víme, jsou
předdefinované hodnoty mnohdy nedostatečné a tak např. 240MHz zde nelze
nastavit. Lze to ale naštěstí úpravou v registrech. Sice tyto hodnoty
nebudou ve výše zmíněném dialogu nastavení zobrazeny správně, ale
program je bude správně používat – a to stačí. Takže pokud
potřebujete (či chcete) sami ručně tyto tři (mezní) frekvence pro
automatiku změnit, upravte hodnoty „CPUAuto1“,
„CPUAuto2“ a „CPUAuto3“ pod klíčem
„HKEY_LOCAL_MACHINE\ Software\ TornadoPowerControl“
podle vašich požadavků.
Co říci na závěr
Jak jsem naznačil, je zde možnost oba výše zmíněné principy
regulace výkonu procesoru kombinovat, ačkoliv opravdu netuším, jak to
interně v takovém případě funguje. Který z obou principů má
vyšší prioritu. Napřiklad dojde-li k vypnutí podvětlení displeje a
aktivní akce „Power_UserIdle.lnk“ nastaví frekvenci 156MHz
ale dojde také ke snížení zátěže a je nastavena frekvence definovaná
jako CPUAuto1 např. 140MHz. Jaká frekvence bude tedy ve finále nastavena a
platná ? 156 nebo 140MHz ? Opravdu netuším.
Navíc pro některé účely nemusí být nastavování podle zátěže
optimální. Dolní hranice automatiky je celkem dost vysoko tj. 33% výkonu,
což například není běžnou prací často po dobu 10-ti sekund
přesahováno. Pokud bych chtěl zrychlit např. odezvy systému tj. grafického
rozhraní či běžnou práci s kalendářem, musím tedy použít první
možnost a ne automatickou regulaci podle zátěže. Nebo jiný příklad:
procesor není téměř vytížen, displej je zhasnutý a telefon připojený
přes USB a ActiveSync. Budu-li „vzdáleně“ s telefonem
pracovat (hledat v registrech přes PC), displej se vůbec nerozsvítí,
frekvence zůstane nastavena jako „minimální“ a na rychlosti je to
pěkně znát. Uvítal bych možnost sám si nastavit parametry automatiky tedy
včetně „zlomových bodů“ tj. % vytížení procesoru a délku
trvání takového vytížení atd. Prostě, je tu ještě pár much a
drobností k dotažení, kterých se snad dočkáme – nebo se nervnu
a napíšu to sám…
Jinak jde ale dle mého názoru o zdařilou, funkční a stabilní
aplikaci (a to i v Beta verzi), která umí i pár jiných věcí jako
je nastavení podsvětlení displeje (možno spouštět jako parametr při
startu). Jen škoda, že, zdá se, autor na další vývoj kašle.
Podívat se na originální anglickou diskuzi o TPC můžete na serveru
MoDaCo. Jelikož z tohoto místa není možno aplikaci stáhnout bez
předchozí registrace můžete si aplikaci Tornado PowerControl stáhnout zde.

Nejnovější zprávy a články na Magazínu:
Meteoservis 1.20 pro Windows Phone - další vylepšení vašeho počasí
Update aplikace Meteoservis 1.10 pro Windows Phone
Meteoservis - konečně pořádné počasí pro Windows Phone
Francouzský pilaf neboli rizoto trochu jinak
Meteoservis 1.20 pro Android - kvalitnější snímky a další vylepšení
Meteoservis 2.50 pro Windows Mobile - nový vzhled a WiFiPřečtěte si další články z rubriky Software:
Meteoservis 1.20 pro Windows Phone - další vylepšení vašeho počasí ••• Update aplikace Meteoservis 1.10 pro Windows Phone ••• Meteoservis - konečně pořádné počasí pro Windows Phone ••• Meteoservis 1.20 pro Android - kvalitnější snímky a další vylepšení









Článek je zařazen v rubrice:

TPC je podle me vyborna aplikace a ten mod se zastupci je velmi pouzitelny…nekdy ovsem dochazi k nevysledovatelnemu prepinani frekvenci zpet na puvodni hodnoty
TPC se take bez problemu necha shodit tim prikazem na uvolneni
pameti a proste obcas zmizi, grrr…
Prosím o radu. Co přesně mám napsat do souborů Power_xxx.lnk. OmapClock mám nainstalovaný v \Program Files\TornadoPowerControl\OmapClock.exe? Když opíšu víše zmíněný příklad, tak mi TPC napíše: Failed to start process Power_xxx.lnk Děkuji, odpovědi prosím do mejlu tomcat.master(zavináč)gmail.com
Např.
73#„\Program Files\TornadoPowerControl\OmapClock.exe“ -clock 240