Před nějakým časem jsem přešel z GNOME druhé řady na KDE, nyní ve verzi 4.7.1. Při pokusu o konfiguraci efektů jsem neuspěl, efekty fungovaly všelijak na desktopu a prakticky vůbec na Eee s Atomem první generace. Nikdy jsem nezkoumal proč, prostě jsem je vypnul. Když pak jednou došlo na aktualizaci, narazil jsem u KDE na zcela běžný jev, že konfigurace ve starém KDE může zlobit v tom novém, takže pokud se vaše KDE nebo některý KDEčkovský program začne chovat podivně, je smazání konfigurace první věc, u které je dobré začít. To mě nakonec přivedlo i k tomu, že jsem dal efektům druhou šanci.
Nyní mohu po měsíci používání říct, že efekty běží, jak mají, a tak nastal čas zjistit, zda to má vliv na spotřebu energie v mém Eee a případně jestli pozitivní nebo negativní. Původně jsem se chtěl zaměřit i na výkon, ale nedospěl jsem k takové metodice, která by byla k něčemu.
Vykreslování
X Server je z dnešního pohledu velmi podivuhodný výtvor. I když se různé části desktopu modernizují, Xka se svého konceptu drží už od osmdesátých let. Jednou budou nahrazeny protokolem Wayland a jeho implementací, ale to ještě nějaký čas potrvá, takže si musíme vystačit s tím co máme. Největší problém z hlediska akcelerovaného desktopu je ten, že s ním X Server od začátku nepočítal, takže je k X Serveru přilepený a mohou nastat situace, kdy to dělá problémy. Nás ovšem zajímá, jak efektivně to funguje.
Kompozitor je přilepený k X Serveru, který tu funguje hlavně jako prostředník právě mezi kompozitorem, jádrem (události, KMS) a aplikací (obsah okna). Když se podíváme jen na věci související s vykreslováním, tak kompozitor se stará o to jak okna vypadají, jakou mají dekoraci, jakými efekty jsou zdeformované a kde se vyskytují. Když si odmyslíme efekty samotné, zůstane nám jejich poloha a to znamená i přesun včetně přepínání ploch. To co se tedy nejčastěji v rámci prostředí hýbe (nepočítáme-li obsah oken), je hnáno přes grafickou kartu.
Grafická karta a spotřeba
Nabízí se tedy otázka, jaký to má na grafickou kartu vliv, hlavně zda nemá grafická karta při zapnutých efektech větší spotřebu než při vypnutých. I když by se mohlo zdát, že akcelerace čehokoli při vypnutých efektech neběží, není tomu tak. Přes grafickou kartu je hnáno mnoho pro uživatele běžných věcí, jako je třeba rolování obsahu stránky a někdy také vykreslování vnitřku oken. Grafická karta je tedy držena alespoň částečně v pozoru, takže by se nějaké 3D efekty neměly vůbec projevit. To však ukáže měření.
Co se dá získat
Někteří uživatelé efekty zahodí, protože si myslí, že je nepotřebují a jen zdržují. Kompozitní efekty ale dokáží být i užitečné, což se pozná nejlépe na pomalém hardwaru. Zapnutím kompozitních efektů bez dalších optimalizací se může uživateli dostat úplně jiného prostředí v podobném odstínu, na který byl zvyklý. Každý zapnutý efekt má samozřejmě vliv na plynulost. Opět tu je minimálně jeden problém, se kterým se musí počítat, a to je ten, že některé efekty nejsou zrovna kompatibilní se všemi ovladači. Dobrým příkladem je třeba blur efekt neboli rozmazání. Ten vám může zavařit jak na kartách NVIDIA, tak Intel. I přesto je v KDE ve výchozím stavu zapnutý.
Protože některé efekty mohou zlobit, je nejlepší je všechny vypnout, nechat grafickou kartu akcelerovat jen to užitečné, tedy přesun oken, jejich vykreslování, dekorování a podobně a postupně jednotlivé efekty zapínat a testovat. Pokud se vám podaří vyvážit poměr vzhledu a výkonu, případě se rozhodnete všechny efekty nechat vypnuté, máte šanci získat hezké prostředí, pár procent výkonu a nějakou tu minutu běhu na baterku. A nebo ne? Na mém Eee jsem minimálně docílil toho, že mám kolem aktivního okna hezkou modrou auru a prostředí je subjektivně plynulejší.
Nějaká reálná data
Softwarové i hardwarové vykreslování se snaží o maximální plynulost, tedy maximální počet snímků za sekundu. I když jich na první pohled udělá grafická karta víc, je možné, že si k tomu navrch zobne i pár mAh z baterky. Jako první jsem se rozhodl testovat posun oken a přepínání ploch. V obou případech dochází k překreslování plochy buď celé, nebo alespoň z části. K tomu jsem si vytvořil přibližně tříminutové makro pomocí xmacro a zaznamenával pythoním skriptem aktuální spotřebu v souboru /proc/acpi/battery/BAT0/state. Přesnost by měla být dostatečná. Na netbooku jsem vypnul WiFi a ztlumil displej na minimální jas, aby se alespoň částečně eliminovala spotřeba, o kterou nejde. Většina efektů byla v době testování vypnutá.
Posun oken s efekty
Posun oken bez efektů
Rozdíl 137 mA, tedy 12 %, mě až překvapil.
Druhý test je pro průměrnou spotřebu důležitější, protože s okny se nešermuje pořád a plochy se přepínají také jen občas. Zkusil jsem tedy nechat Eee v klidu a po chvilce spustit test.
Klidový stav s efekty
Klidový stav bez efektů
Proti předchozím grafům je na těchto dvou záznam jedné minuty. Rozdíl je opět relativně velký a je vidět, že Eee buď živí navíc část grafické karty, a nebo je režie spojená s efekty náročnější. Číselně to dělá 94 mA navíc proti vypnutým efektům a ani nemusím moc zaokrouhlovat, abych se dostal k hodnotě 9 %.
Závěr
Výsledek testu ukázal, že uživatel musí na notebooku volit mezi spotřebou a vlastnostmi. Kompozitní efekty mají co nabídnout, bez funkce expose si někteří uživatelé nedokáží představit život a takové náhledy při přepínání mezi okny se také mohou hodit. Efekty si pravděpodobně vezmou i část výkonu, který by šel využít jinde. Při testování spotřeby v klidovém stavu se využití CPU pohybovalo kolem 17 % při zapnutých efektech a kolem 8 % při vypnutých efektech. Na desktopu, kde je většinou výkonu až až, bych se efektů vůbec nebál.