2017. január 1., vasárnap

Alacsony grafikus mód Unity 7-ben (Ubuntu Linux 16.04 LTS)

Az első leírással azoknak kívánok segíteni, akik szeretnék kipróbálni a Linuxot, de nem merik még élesben feltelepíteni, ezért virtuális gépet (például VirtualBox) választanak a kísérletezéshez.
Az írás szintén érdekes/hasznos lehet azoknak, akik szoktak/fognak távoli vezérlést (VNC, távoli asztal, TeamViewer) használni. Biztos vagyok benne, hogy több olvasó is használ/használt már valamilyen távoli rendszer-vezérlő/néző programot, hogy segítsen barátjának/ismerősének a számítógép kezelésében/használatában. Ha esetleg van ilyen ismerősöd, nyugodtan küldd el neki is ezt a leírást, mert érdekes lehet számára is.
A cikk egyúttal azt is megmutatja, hogy időnként mezei felhasználóként is nagyon hasznos lehet terminálhoz és konfigurációs fájlokhoz nyúlni, mivel ezekkel kerül (nagyon egyszerűen) manuálisan bekapcsolásra a címben szereplő mód. Egy konfigurációs fájlt fogunk szerkeszteni. Egész pontosan négy sort írunk hozzá. Szépen leírom, hogy melyik sor mit csinál, tehát átlátható lesz az egész, könnyen meg lehet csinálni.
Fontos, hogy a lentebb részletezett manuális bekapcsolás módja elsősorban Ubuntura vonatkozik, azon belül is a 16.04-es LTS (Xenial) verzióra. A 16.10-es Ubuntu (Yakkety Yak) alatt a lentebb részletezett manuális bekapcsolási mód nem működik. Ennek ellenére 16.10-es felhasználóknak is érdemes tovább olvasni, már csak az elméleti ismeretek bővítése miatt is.

Az Unity 7 hosszú ideje rendelkezik alacsony grafikus móddal, de a közelmúltban jobbá tettük:
Fejlesztéseket eszközöltünk annak érdekében, hogy csökkentsük az alacsony grafikus módban látható vizuális effektek mennyiségét. Ez magas szinten az alábbiakat foglalja magában:
  • Az animációk mennyiségének csökkentése az elemekben, például az ablakváltó, indító és menük (egyes esetekben nullára csökkentése)
  • Elmosódás és előtűnés/eltűnés eltávolítása
  • Árnyékok csökkentése
Jellemzően, amikor az emberek virtualizált környezetben futtatják az Ubuntut, nincs közvetlen hozzáférésük erős grafikus kártya funkciókhoz, amiket az OpenGL és az Unity használ. Helyette a virtualizációs szoftver a processzorral emulálja ezeket a funkciókat. Habár a legtöbb asztali gép processzora rendkívül erős, nem vehetik fel a versenyt egy dedikált grafikus kártyával. olyan masszívan párhumazos számításokhoz, ami ahhoz szükséges, hogy megjelenítse az Unity 7-ben használt effekteket és ezért a felhasználói felület elemeinek kirajzolása a képernyőre jelentősen több időt vesz igénybe, mint egy dedikált grafikus kártya esetén. Ez számottevő hatással van az asztali környezet érzékelt teljesítményére.

Ehhez kapcsolódik, de kicsit más, amikor a számítógép távolról van irányítva például VNC-vel, RDP-vel (távoli asztallal). Például vegyünk egy ablakot, ami előtűnik/feltűnik (előbukkan), amikor megnyitásra kerül. A távoli vezérlő szoftvernek mintát kell vennie a képernyőről, ki kell találnia mi változott, valószínűleg tömöríteni kell ezeket a változásokat és utána továbbítani az adatokat az interneten/hálózaton. Ha az ablak fokozatosan kerül kirajzolásra a 100% átlátszóságtól 0%-ig (gyakorlatban az ablak előbukkanása) 10%-os részekben, akkor tízszer kell újrarajzolnia az ablakot a távoli félnek/oldalnak (a gyakorlatban 3-4 újrarajzolás történik, de ez elég jó a példánkhoz). Mindez időt vesz igénybe. Az alacsony grafikai mód bekapcsolásával csak egyszer kerül kirajzolásra az ablak 0% átlátszóságnál (szóval teljes átlátszatlanságnál, tehát teljesen láthatóan) és csak egyszer kell elküldeni a távoli gép számára, ezáltal csökkentve a többletmunkát és gyorsítva a felhasználói élményt.
A fenti újrarajzolós példával biztosan sokan találkoztak már távoli asztal, VNC, TeamViewer (vagy valamilyen hasonló távoli hozzáférést biztosító program) használata során, amikor az ablak akadozva-szaggatva jött elő, illetve mozgott. Lényegében az alacsony grafikai móddal ezt küszöböljük ki.

Az alacsony grafikai módnak be kellene kapcsolnia önmagát, amikor azt észleli, hogy egyes GL (Graphics Library, tehát Grafikus Könyvtár) funkciók nem elérhetők, de egyes esetekben előfordul, hogy ezt te szeretnéd bekapcsolni.
Ezt az alábbi módon tudod megtenni Ubuntu 16.04 LTS (Xenial) alatt:
Első lépés megnyitni a terminált, majd begépelni a következőt:
nano ~/.config/upstart/lowgfx.confEzzel az alacsony grafikus mód konfigurációs fájlját nyitjunk meg a nano szövegszerkesztő programmal. A nano helyett lehet mást is (például gedit) alkalmazni. Ez egyéni preferencia kérdése.
Következő lépésként illesszük be az alábbi négy sort a fájlba:
start on starting unity7 pre-start script     initctl set-env -g UNITY_LOW_GFX_MODE=1 end script
Ezzel a pár sorral elérjük, hogy az alacsony grafikus mód az Unity 7-tel együtt fog elindulni.
Az első sor az Unity 7-tel együtt való indulást jelenti. A második a script előtöltését, a harmadik, hogy mi (melyik script) induljon a Unity 7-tel, a negyedik pedig a script végét jelenti.
Ha beillesztettük ezt a négy sort a fájlba, akkor a következő lépésként már csak a kijelentkezés és a bejelentkezés marad.
Ha be szeretnéd fejezni az alacsony grafikus mód használatát, akkor csak tegyél egy kettős keresztet (#) (zárójel nélkül) az initctl kezdetű sor elé. Ez azt eredményezi, hogy a következő betöltésnél már nem fog az Unity 7-tel együtt az alacsony grafikus mód is elindulni. A kettős kereszttel kezdődő sorokat kommentként (megjegyzésként) értelmezi a program.
Ha újra szeretnéd, hogy az alacsony grafikus mód az Unity 7-tel együtt elinduljon, csak vedd ki a kettős keresztet (#) a sor elejéről.

Ez nem működik Ubuntu 16.10 (Yakkety Yak) alatt, mert a felhasználói munkafolyamat során systemd-re váltunk. Ez kellő időben ki lesz javítva.

Ez a cikk egy vezető Ubuntu fejlesztő (Will Cooke) által írt angol nyelvű bejegyzés alapján készült, helyenként a saját szavaimmal kiegészítve.

Az eredeti (angol nyelvű) cikk itt olvasható:
https://insights.ubuntu.com/2016/09/19/low-graphics-mode-in-unity-7/

Remélem, hogy több kedves olvasónak is hasznára vált ez a bejegyzés!
További kellemes időtöltést, jó olvasgatást kívánok mindenkinek!  

Nincsenek megjegyzések:

Megjegyzés küldése