Problémy s přepínatelnou grafikou a externím monitorem

Plánujete nákup herního notebooku nebo přenosné pracovní stanice? Většina dnešních notebooků s dedikovaným grafickým čipem (typicky NVIDIA) používá na základní práci integrované grafické jádro v procesoru, takže lze dedikovaný čip vypnout a ušetřit nějakou energii. Teoreticky to funguje dobře, ale problém přichází ve chvíli, kdy chcete připojovat také externí monitor a výstup z notebooku je připojený právě na dedikovanou grafiku.

switchable-gpu

V případě přepínatelné grafiky došlo k mnoha pokrokům za těch více jak deset let, co něco takového existuje. Prvně jsem viděl přepínatelnou grafiku kolem roku 2006 na hi-end 13“ notebooku Sony VAIO SZ, kde bylo možné přepínat mezi grafikou v čipové sadě (Intel GMA950) a čipem od NVIDIE (GeForce Go 7400) pomocí mechanického přepínače. Jakmile uživatel přepínač použil. Vyskočila ve Windows hláška, že je potřeba počítač restartovat. Po restartu již BIOS a systém pracovaly s druhou z grafik. Fungovalo to skvěle, ale restart je poněkud méně praktickou záležitostí. Další problém je s návrhem základní desky, neboť všechny výstupy (zde jen VGA) a interní displej musí být připojeny do obou grafických řešení a mezi nimi musí něco přepínat elektrické signály. Takové řešení je pochopitelně dražší nejen o samotný grafický čip.

Velkou změnou byla technologie NVIDIA Optimus, která přišla v roce 2010. Sice to ještě zprvu nefungovalo úplně perfektně (ostatně na novinářské předváděčce v Mnichově se mi nevědomky podařilo na jednom ze dvou prototypů systém pokazit tak, že to nikdo neuměl dát dohromady), ale byla to cesta ke zlevnění konceptu přepínatelné grafiky. Všechny výstupy i interní LCD zůstaly zapojeny do integrovaného jádra, zatímco dedikovaný čip po sběrnici (PCIe) přenášel pouze obraz těch aplikací/her, které jsou na něm akcelerované (přesněji integrované jádro tahalo při vykreslování obraz rovnou z cizí video-paměti). Integrované jádro tak zodpovídalo za složení obrazu všech aplikací z obou grafik. O tom, která aplikace kde poběží, rozhodoval automatický systém, jehož chování mohl uživatel libovolně ovlivnit. Tak to ostatně funguje dodnes.

Pokud máte notebook, který má interní LCD i všechny výstupy připojeny k integrovanému jádru a dedikovaný čip vypomáhá pouze s 3D, nejspíš už mnoho let nemáte s přepínáním problémy (pokud se zrovna neobjeví nějaká hra, která používá hodně pitomý způsob detekce grafik). NVIDIA Optimus už je dávno odladěná technologie. Kopie, se kterou přišlo AMD, sice zdaleka není tak dobrá, ale pro většinu běžných her funguje přijatelně.

Obrazový výstup z dedikované grafiky

Většina běžných notebooků skutečně nemá žádný z obrazových výstupů připojený na dedikovaný čip, jenže není to pravidlo. Ty dražší, výkonnější a „lepší“ připojují výstupy k dedikovanému grafickému čipu a nedělají to bezdůvodně. Týká se to hlavně herních notebooků – v podstatě už třeba Lenovo Legion Y530, který se dá sehnat do 20 tisíc, to tak má. Ve vyšších cenách to je pak více méně u všech značek. Další kategorií jsou pracovní stanice (mobile workstation), u kterých je takové zapojení naprosto běžné.

V obou případech to má smysl. Dedikovaná grafika obvykle podporuje novější standardy obrazových výstupů. V případě HDMI je rozdíl snadno rozpoznatelný – ani nejnovější grafické jádro od Intelu stále nemá podporu vyššího standardu než HDMI 1.4b, takže v případě připojení UHD displeje (3840×2160) zobrazuje jen při obnovovací frekvenci 30 Hz. Kdo chce přes HDMI 60 Hz, ten si musí buďto koupit nějaký notebook, který má ke grafickému jádru připojený převodník z DisplayPortu, který omezení nenápadně obejde (ale to je těžká výjimka), anebo musí vzít zavděk notebookem, který má HDMI připojené k dedikované grafice.

DisplayPort sice ani na Intel grafice nemá problém s 60Hz na 4K/UHD displeji, ale i zde dokáže dedikovaný čip nabídnout něco navíc. Jsou to jednak ještě vyšší rozlišení, ale také třeba podpora G-SYNC. U pracovní stanice zas bývají grafiky NVIDIA Quadro (případně AMD Radeon Pro), které umí plnohodnotně pracovat v 10bit barevné hloubce (pro každý barvový kanál), což může opět fungovat jen v případě, že v cestě mezi dedikovanou grafikou a patřičně vybaveným monitorem není integrované jádro od Intelu.

Z výše zmíněného vyplývá, že připojení dedikované grafiky má své opodstatnění. Po všech těch letech ovšem stále přináší hromadu problémů pro všechny ty, kteří externí monitor skutečně připojují (a je jedno jaký). Nevyřešily to ani novější grafické ovladače a ani každoroční updaty Windows 10.

Když se nevypíná

Dokud se pracuje pouze s interním displejem, který je připojený na integrované jádro, může se stát, že zůstane dedikovaná grafika nechtěně běžet snad jen v případě, že automatický systém chybně rozpozná její potřebnost pro nějaký program, u kterého to nedává příliš smysl. Typicky například webový prohlížeč (nebo alespoň video-plugin v něm) nebo jiná aplikace, která sice používá rozšířené grafické akcelerace, ale výkon integrovaného jádra by rovněž stačil.

Speciální kapitolou pak jsou „universal apps“ (nebo jak teď tomu Microsoft říká) – prostě aplikace s ošklivým vzhledem, které se obvykle vyskytují jen na Microsoft Store. Tam sice nikdo nechodí, ale část jich je předinstalovaná v systému od začátku. Například otřesný prohlížeč fotek, který zobrazuje rozmazaně a má úplně zoufalé ovládání. Neuvěřitelně neschopné přehrávače hudby („Groove“?) a videa zdatně sekundují. Mezi takové aplikace patří i nová kalkulačka, která při nahrazování té původní přišla o většinu užitečných funkcí. Větší část těchto aplikací ráda využívá služeb dedikované grafiky, přestože v jejich uživatelském rozhraní není nic víc než text a obdélníky. Jejich záludnost spočívá v tom, že se nevypínají. Windows 10 je po vzoru mobilů při zavření okna pouze uspí a schová, takže mohou držet dedikovanou grafiku zapnutou, i když máte pocit, že už jste povypínali úplně vše.

switchable2

switchable-task-manager

Poznat, že něco zůstalo viset na grafice, není ve výchozím stavu snadné. U těch hůře navržených notebooků to poznáte podle častějšího a intenzivnějšího běhu ventilátoru. U těch lepších se to projeví nezanedbatelně kratší výdrží při provozu na baterku. Obvykle si do všech testovaných notebooků instaluju aplikaci BatteryBar, která umí sdělit aktuální spotřebu. Ze zkušenosti pak můžu odvodit jestli není na daný hardware zbytečně vysoká, což může vést právě k aktivitě grafického čipu. Lepší způsob nabízí přímo NVIDIA (AMD ne). V jejím ovládacím panelu si můžete zapnout indikační ikonu do lišty vedle hodin – ta se rozsvítí, kdykoli je grafika aktivní, a dokonce umí i sdělit, kdo za to může. Doporučuju tuto indikaci zapnout na každém notebooku, kde to jde.

nvidia-activity-monitor

Z mého pohledu je nejlepší nastavit systém výběru grafik tak, aby používal vždy jen integrované jádro, pokud explicitně u nějakého programu (typicky hry) není uživatelem uvedený opak.

To vás ovšem nezachrání před situací, kdy je externí monitor připojený přímo k dedikované grafice. Tu pak počítač musí zapnout, i když neběží jediná aplikace, která by potřebovala 3D výkon. Při klonování obrazu nebo rozšířené ploše musí obě grafiky spolupracovat, a vzhledem k tomu, že integrované jádro je primární, přidává to dokonce měřitelné zpoždění (latenci) na externím monitoru. Někdy je stejný problém patrný i v případě, že přepnete výstup v systému čistě na externí monitor – obraz pak stejně jde tam a zpět a některé operace se mohou viditelně zabrzdit. K tomu ovšem dochází jen v některých verzích ovladačů.

Kdo chce mít jistotu, že vše poběží správně a bez zpoždění, ten by měl ideálně připojit externí monitor, nastavit jej jako jediné zobrazení a takto nastavený počítač restartovat. Jenže to je pruda.

Další pruda přichází ve chvíli, kdy externí monitor odpojíte. Zejména u moderních integrovaných aplikací ve Windows (v případě nových verzí to platí i pro Office) se část přesune automaticky na dedikovaný čip už ve chvíli, kdy se začne zobrazovat na externím monitoru. Přestože se to stane tímto směrem automaticky, po odpojení monitoru už nedojde k automatickému přesunu zpět na integrované jádro. Je tedy nutné některé programy vypnout a znovu zapnout, jiné zas pozabíjet přes správce úloh. Při provozu s připojeným napájením je to možná ještě celkem jedno, ale na baterku to zamrzí. Zvláště když v případě herních notebooků a pracovních stanic může jít o navýšení spotřeby o 60-80 %.

Závěrem

Přepínatelná grafika s výstupy zapojenými do dedikovaného čipu sice není při používání notebooku nepřekonatelný problém, ale pro člověka, který stejně jako já, často provozuje počítač na baterii a připojuje externí monitory a projektory, jde o výrazné snížení komfortu. V mém případě tak velké snížení, že se zatím notebookům s takovým řešením vyhýbám a preferuju ty, které mají všechno připojeno k integrovanému jádru, byť je to za cenu omezenějších schopností. Pro mě je nepříjemná snad jen nepodpora vysokého rozlišení 4K/UHD v 60 Hz. Bez G-SYNC a 10bit barev se obejdu, protože nepotřebuju (a ani nemám) monitory s podporou takových technologií.

Existují sem tam i notebooky, které mají jeden z výstupů připojený na integrovanou grafiku. Dříve se to používalo pro navýšení počtu souběžně připojených externích monitorů. Nejsem si však jistý, zda v dnešní nabídce ještě nějaký takový notebook je.

Je dobré vzít v potaz výhody a problémy přímého připojení obrazových výstupů, pokud si plánujete koupit grafickou pracovní stanici nebo herní mašinu. Můžete si tím ušetřit trochu vzteku při používání. Berte však v potaz, že výrobce obvykle neudává, jak jsou výstupy zapojené. To se dozvíte jen v podrobnějších recenzích.

Komentáře k článku

  1. 1. jt  8.3.2019  8:33:07

    Popravdě nevím, jak jsou moje výstupy zapojené (a je mi to jedno).
    Ale každopádně mi po připojení a následném odpojení externího monitoru něco občas zůstane „viset“ na Nvidii. Pokud to zrovna není jen jedna aplikace, nebo ji nechci zavírat a znovu spouštět, tak používám to, že jdu do Správce zařízení a Nvidii zakážu. I když ji pak hned povolím, tak už na ni aplikace znovu nenajedou (pokud potom samozřejmě nespustím něco, co ji opravdu vyžaduje). Samozřejmě je potřeba mít rozum a neshazovat Nvidii, když běží něco, co ji fakt potřebuje…

    Mimochodem, jak ti ukazuje BatteryBar zbývající výdrž u novějších notebooků? Na T420s mi vždycky fungoval spolehlivě nebo líp než ukazatel Windows, ale u nového stroje se to kolikrát liší o několik hodin(!) a reálnější je ukazatel Windows. Například BatteryBar ukáže spotřebu 6 W, zbývající kapacitu 50 Wh a zbývající výdrž dvě a půl hodiny. A to v ustáleným režimu, kdyby to bylo hned po nějaký velký zátěži, tak to pochopím. Windows ukazatel v takový chvíli ukazuje výdrž reálnou (podstatně delší). A to mám BatteryBar nainstalovaný cca tři měsíce, takže už by chování notebooku měl znát docela dobře.

  2. 2. Zacker  8.3.2019  15:19:59

    Upřímně by mě zajímalo, proč se i po letech Intel stále tváří, že pro něj HDMI 2.0 neexistuje. S ohledem na koplikace kolem 4K@60Hz bylo na místě nabídnout novější verzi už někdy v době architektury Skylake.

    Dnes jsme se na desktopových platformách minimálně marketingově posunuli o další 3 generace a iGPU bez dodatečných můstků dál nabízi pouze verzi 1.4

    Vůbec bych se nedivil kdyby bylo i „nativní“ HDMI 2.0 občas inzerované v kontextu lowendového GeminiLake řešeno jen nějakým interním můstkem.

  3. 3. swarm  8.3.2019  20:40:13

    [2] Jo, Intelovská grafika mě v tomto ohledu pěkně štve. Už na mém Nitru z roku 2014 mi roky vadí, že jeho HDMI výstup nezvládne ve 4K 60Hz. Jenže to je ještě generace Haswell. Ani integrovaná grafika v nejnovějším mobilním i9 pořádně tohle neumí a to je smutné. Jak je to u těch low-endů odvozených od Atomu, skutečně netuším. Procesory na úrovni mobilů jdou mimo mě :)

  4. 4. Mixal11  9.3.2019  1:16:08

    A preto kupujem hp probook / elitebook s DP a výhradne iba s integrovanou grafikou.

    Okolo roku 2008 som pochopil, že dedikovana grafika je slušná nevýhoda, aspoň pre mňa, hry nehrám, možno občas dosbox.

  5. 5. swarm  9.3.2019  8:07:49

    [4] Když není potřeba grafika, tak je to jednoduché. U ThinkPad T400 jsem nad tím přemýšlel a pak jsem taky udělal konfiguraci bez dedikované grafiky, která by pak akorát byla pořád aktivní, kdykoli je počítač v doku. Tohle jsem loni ještě řešil u svého pracovního EliteBooku 840 G5, kde v konfigurátoru byl volitelně nějaký low-end Radeon – jenže jak to tahám pořád mezi dokynou a zasedačkama, tak by se nikdy nevypnul.

    Jenže v domácím notebooku tu grafiku chci. Dokonce mám i nějaké starší programy, které na IGP neběží korektně. I kdybych tu grafiku zapnul 10x do roka, tak se mi hodí.

    [1] Z toho chování, které popisuješ hned na začátku, je nejspíš máš připojené na dedikovanou grafiku. Kdybys neměl, tak se tohle vůbec neděje. Na mém Nitru, které má všechny (jeden) výstupy připojené k IGP se tohle nikdy nestane a grafika se zapne jen u těch několika programů, které mám povolené.

    Ten fígl se správcem zařízení se mi líbí. To budu používat na problémových noteboocích.

    BatteryBar počítá výdrž na základě toho, jak průměrně nakonec vyplýtváš baterku. Pokud se zrovna výjimečně snažíš být úspornější, tak to nebude dávát odpovídající hodnoty. Nejvíc je to vidět, kdykoli se člověk zrovna zastaví, přestane cokoli dělat a podívá se na měřáky. Slušný notebook rychle sníží spotřebu, takže Windows ukáže podstatně delší čas, zatímco BatteryBar to ignoruje.

    Já nicméně zas tolik na tu průměrnou zbývající výdrž nekoukám. Obvykle se spíš podívám na aktuální odběr (abych věděl, že tam neběží něco žravého) a ikonu mám přepnutou na zbývající procenta.


Napsat komentář