Hlavní stránka Multimédia Hry a zábava Windows Game Mode: Hry se vrací zpět k hardwaru
Windows Game Mode: Hry se vrací zpět k hardwaru
autor: Michal Rybka , publikováno 3.2.2017
Windows Game Mode: Hry se vrací zpět k hardwaru

Bylo nebylo, v dávné minulosti měl programátor k dispozici veškerý hardware. S časem jsme se od této myšlenky přes hardwarovou abstrakci dostali k Windows tak, jak je známe dnes – robustnímu systému, který se podobá spíš sálovým počítačům. Microsoft se nicméně míní vrátit zpět, aby na Windows zachránil hraní.


Obecně tu máme snahu dostat se blíž k hardwaru, protože právě architektura softwaru začíná limitovat výkon. Oddělení her od železa vypadalo jako príma věc do chvíle, dokud vše probíhalo učesaně a všechna volání grafiky se řadila do jedné fronty. S rostoucí paralelizací se ale ukazuje, že mít jediný proces, který volání seřadí a předá dál, není efektivní, že tam začíná zácpa. Centrální myšlenka DX12 je v tom, že grafika už nedostává příkazy uspořádané, z jednoho zdroje, ale z mnoha zdrojů a hra samotná si může volání optimalizovat.

S tím, že se hra opět přiblíží k hardwaru, je možné odstranit zácpu odstranit a tím snížit frametime. Neznamená to absolutní eliminaci propadů výkonu, ale je to začátek. Eliminuje se zácpa na úrovni driveru a podpoří se optimalizace na straně hry, která může efektivně využívat více jader. V podstatě to znamená, že vývojáři mohou přesunout herní optimalizaci na stranu procesoru, což se projeví v nárůstu zátěže CPU. Je to ale dobře, protože zatímco většina jader moderních procesorů čekala na nejpomalejší proces, je možné úlohu rozdělit efektivněji a lépe ho vytížit.

Windows Game Mode je nový koncept, který – podobně jako Game Mode Key na klávesnicích – explicitně sdělí systému, že budete hrát. A protože hrajete, znamená to, že Windows ví, že mají potlačit všechno, co jede na pozadí. Tenhle režim bude určen nejen pro nové Universal Windows Apps, ale i pro klasické Win32 a Win64 hry. Microsoft očekává, že samotná prioritizace povede k výkonovému nárůstu o zhruba 5 %, což je dané tím, že klasické aplikace si mohou vytvářet vlastní procesy na pozadí a „nejde určit, kde přesně Win32 aplikace začínají a kde končí“.

No, stará garda vždycky říkala, že aplikace by měly být self-contained a neměly by volat obecné procesy. Všechno, co potřebují ke svému běhu, by v nich mělo být uzavřené: Alespoň to v případě potřeby můžete celé odstřelit najednou. Moderní stroje mají tolik paměti, že by vlastně neměl být ani problém pro každou aplikaci vytvářet její vlastní virtuální stroj, myšlenka sdílení knihoven je, zdá se, dávno přežilá.

Je tedy možné, že se Microsoft vrací alespoň u domácích operačních systémů k základům? Ke stavu, kdy počítač dělá to, co uživatel chce – a systém se tomu přizpůsobuje? Dává to smysl. Ostatně – kdo na PC hraje dvě hry najednou, případně spouští hru a víc náročných aplikací na pozadí? Počítač nikdy nebude konzole, ne. To fungovat nemůže – ale mohli bychom se vrátit do dob, kdy přání uživatele bylo počítači příkazem – a opustit stav, kdy herní výkon ovlivňuje celá ZOO procesů aplikací, které si uživatel nezřídka ani dobrovolně neinstaloval a nežádal o ně.

To by bylo vážně príma!

 



Tagy: windows 10  hry  hraní  directx  game mode  


 
Komentáře k článku
RSS
Pouze registrovaní uživatelé mohou přidat komentář!
3.2.2017 08:41:43   95.103.153.xxx 3248
Myslim, ze je uplne zcestne cosi od WGM ocakavat. Pre mna je to dalsi marketingovy blabol, udicka na blaznov, preco ten windows 10 kupit.

Je to ako polepit auto cool nalepkami a mysliet si, ze zrazu to pojde rychlejsie. Nie nepojde - ak je OS v zlom stave, alebo velmi slaby HW - to sa da optimalizovat rozumnejsie a aj bez WGM magie. Ale aj tak to bude cele padat na HW, lebo nic viac z neho nevykuzli.

Hlavne, ze sa o tom hovori ...
3.2.2017 10:51:42   178.175.128.xxx 1734
Asi tak. Standartem u znalých bylo povypínat a ukončit vše nepotřebné - tohle je jenom autošidítko pro lamy suplující víceméně totéž.

A DX12 posoudím až ho implementuje do sw Autodesk.
3.2.2017 13:34:01   92.222.103.xxx 1117
Boha, těším se, že přistartuje Hell Kitty, protože hry jsou to poslední kvůli čemu bych přecházel na w10. Kde se ten cvok zaseknul, měl tu dávno být.
5.2.2017 21:56:08   49.213.19.xxx 58
Tragédi a zoufalci do digitálních her budou chrochtat radostí v "game modu" windows. To už je snad poslední věc, co jim scázela do absolutního hernícho zážitku, už zde mají "game desky a skříně", "game klávesnice, myšky a joypad", "game podložky pod myš", prostě příslušenství a komponenty pro PC. Pak zde máme "game židle a stoly". Vlastně teď mne napadá, proč nevymysleli páni inženýři i "game záchody" ?
Ale když už jsme u toho harwaru, konečně i software OS bude mít nálepku "GAME". A to už stojí za nákup WINDOWS 10 pro tragédy a zoufalce do digitálních her.
6.2.2017 11:28:09   213.192.2.xxx 61
Problém (ale ještě ne prů*er) nastane přesně ve chvíli, kdy o sobě nějaký "neherní" software - např. antivir - prohlásí, že "je hra" a začne si tak nárokovat veškeré dostupné prostředky na úkor ostatních procesů.

Prů*er nastane ve chvíli, kdy to samé udělá i jiný software (nevím, např. enkodér videa) a "tihle dva" se v tom systému potkají - systém pak bude muset rozhodnout "který z těch dvou je víc hra", a je vymalováno (nejspíš tou novou zelenou GSOD).
3.2.2017 09:11:13   217.112.164.xxx 2382
Rozbalit komentářPříspěvek byl automaticky zabalen pro velké množství negativních hlasů.
4.2.2017 22:35:01   178.255.168.xxx 150
Já osobně bych byl rád, kdyby článek byl trochu delší. Na každej novej rybí článek se těšim, vlastně díky Rybce chodím pravidelně na PCT :-)

A neznáme se náhodou Jespi, z Mystiqu?
6.2.2017 21:59:26   217.112.164.xxx 01
Ephedrino ? Ne-e
3.2.2017 09:24:29   193.179.215.xxx 1724
"kdo na PC hraje dvě hry najednou"
napriklad ja ano
3.2.2017 15:39:45   88.100.171.xxx 130
Gold mineři ve WoW (nebo kdekoliv jinde).
4.2.2017 00:38:02   79.66.46.xxx 49
Ja taky, na jednom monitoru hraju Witcher 3 a na druhym Starcraft 2
4.2.2017 10:47:18   83.208.208.xxx 175
No to pak musí být herní zážitek... to je asi lepší si jít zaběhat.
3.2.2017 09:48:40   194.160.30.xxx 1113
ono je to sice myslienka pekna ale pri dnesnom hw nepouzitelne...ked si vezmem ze na svojej i7 4970k mam zapnutych milion blbosti tak mam take iste fps ako ked to vsetko vypnem...frame time cca tiez rovnaky...na slabom pc je podmienka mat vsetko vypnute a nezachrani ma ani daky game mode
3.2.2017 10:08:21   165.72.200.xxx 177
Na silnem HW je to fakt jedno. Ale na tom slabem Vam ty fikoviny gamemode povypina a muze Vas prenest do oblasti pouzitelnych FPS. Je snad samozrejme, ze opravdu nemohouci HW to uz nevytrhne. Ale tam by nepomohla ani svecena voda (tm).
3.2.2017 11:14:54   194.228.197.xxx 353
Svěcená voda pomůže. Stačí ji nalít dovnitř za chodu, pořádně protřepat a pak zajít do obchodu pro nový :-)
Ani netušíte, kolik lidí má doma patnáct let starý šrot jen proto, že se ještě nepokazil. Neříkám, že člověk nutně potřebuje k životu poslední generaci core/zenu, ale když mi známý tvrdil, že mu to trhání youtube nevadí, protože je na to zvyklý, to už člověka vyvede z míry.
3.2.2017 11:44:04   37.221.252.xxx 221
Já bych ani neřekl že jim jde o framerate jako spíš o zachování stabilního frametime který bývá nepříjemný když kolísá kuli tomu, že si na pozadí běžící aplikace spomenou a žačnou indexovat/updatovat a bůhví co ještě *ovat.
3.2.2017 09:50:37   213.195.199.xxx 2210
"kdo na PC hraje dvě hry najednou, případně spouští hru a víc náročných aplikací na pozadí?"

Vice lidi nez se zda. Hrani her pri zpracovavani videa na pozadi, hrani her pri cekani matchmaking u jine hry
3.2.2017 10:10:05   165.72.200.xxx 162
Hrani s narocnou ulohou na pozadi nicmene pestuji pouze ti, jejichz HW to bez problemu zvlada. A hrani pri cekani na MM je pripad, kdy ta hra cekajici na MM realne "nic nedela".
3.2.2017 10:59:52   213.195.199.xxx 310
Rozbalit komentářPříspěvek byl automaticky zabalen pro velké množství negativních hlasů.
3.2.2017 10:17:32   193.239.0.xxx 942
Rozbalit komentářPříspěvek byl automaticky zabalen pro velké množství negativních hlasů.
3.2.2017 11:11:52   194.228.197.xxx 283
V těch článcích je víc, než si myslíte. Aspoň člověk ví, nad čím se má zamyslet.
3.2.2017 11:08:55   194.228.197.xxx 1019
"Ostatně – kdo na PC hraje dvě hry najednou, případně spouští hru a víc náročných aplikací na pozadí?"

Hra spuštěná v okně, aby se dalo rychle přepnout v případě potřeby, snímání monitoru, komprimace a streaming, jedna instance Firefoxu s muzikou, další instance s chatem na vedlejším monitoru.

Odpověď: já to potřebuji.

Game mode v popsaném stavu prostě není pro streamery, kteří potřebují od počítače hodně činností najednou, k čemuž je mimochodem PC určené. Aby nedocházelo k trhání obrazu, budou muset programy používané k přenosu streamu mít výhradní právo taky.
Smysl má omezení samotného OS. Ideální by bylo, kdyby prostě došlo k vypnutí defragmentačních nástrojů, trimů a vyčištění RAM od zbytečného balastu. Kamarád třeba řeší problém, že mu Chrome zabírá 90% paměti i po ukončení aktivního okna. Proč ho používá, je věc druhá.

A navíc z principu by hra neměla mít ke grafice výhradní přístup. Alespoň ne k zobrazovacím funkcím. Obraz by se prostě měl poskytovat OS, aby ten s ním naložil dle přání uživatele. Jak je k ničemu výhradní režim obrazu u her je krásně vidět například na Diablu II, které když pustíte na systému se dvěma monitory, tak dojde k zamknutí obrazovky a na druhou obrazovku vám skočí kus té první a vše se posune a přeorganizuje, okna programů přeskáčou jinam a dělá to nepořádek. Takhle prostě ne.
Naopak, ocenil bych, kdyby si hra vygenerovala obraz, předala jej OS a ten s ním dělal co chtěl. Tak například mám full HD monitor, hra se přihlásí o výhradní režim, OK, tak jí zalžeme, nastavíme na ní maximum 800x600, co podporuje, ale okno si roztáhnu na většinu obrazovky a OS mi provede upscaling. Tak by to mělo fungovat a ne že se mi rozjede čert ví kam všechna další práce.
3.2.2017 17:00:40   46.33.112.xxx 62
To bude ještě sranda, co ten režim udělá pro streamery. Ale já bych se toho nebál. Podle testů ten herní režim zatím nedělá vůbec nic (asi o promile dvě se to zpomalí).

Řekl bych, že to bude ekvivalentní zvýšení priority podprocesů hry, ovladačů zvuku a videa (což se nijak ted nastavit ve správci úloh nedá) a možná, možná zákaz update Win věcí a defragu atd. Ale zrovna garbage collector asi těžko. Kromě toho uspání dalších procesů do hlubšího spánku.

To samý už mělo kolem roku 2005 AMD v XPéčkách - kupodivu to fungovalo právě kolem těch +5 %, ale mělo to malou nevýhodičku, totálně to zhodilo internet )))

Perlička) Ve Win10 při připojení vyplého monitoru mi zmiznou ikonky i lišta a skočí na ten vyplý monitor, ikdyž není primární. Jak ho zapnu, ikonky mi naskáčou zpět na primární monitor a ten sekundární se probudí s prázdnou plochou jakoby nic. Když ho vypnu, ikonky mi zase skočí do vyplýho monitoru. Až jak vytáhnu kabel, holt ikonky už nemají kam skočit tak se zase poslušně vrátí ))) To je asi největší troll chyba, co jsem kdy za život viděl, na mrtvici ))) Před nějakým updatem xy to nedělalo....
3.2.2017 22:08:48   194.228.20.xxx 27
Větší blbost jsem snad nečetl.
"Firefoxu s muzikou" - ježkovy voči
"Smysl má omezení samotného OS" - "Obraz by se prostě měl poskytovat OS" - wtf? Schíza?
"A navíc z principu by hra neměla mít ke grafice výhradní přístup. Alespoň ne k zobrazovacím funkcím." - emulace, virtualizace - to prostě u náročnejch her nefunguje, vytvořil bys tim další vrstvu, navíc po ní chceš, aby byla univerzální. U nenáročných her, jako je třeba to diablo, by to asi fungovat mohlo.
5.2.2017 20:40:13   85.71.139.xxx 10
"Ježkovy voči" - Ježek je DIIT. Toho sem radši netahejte.

"Schíza" - Schíza to není. Jádro systému je nahrané v paměti, pokud to netušíte. Řízení uživatelského rozhranní, jako je například obrazový výstup, musí být v paměti pořád. Jako příklad jsem uvedl vypnutí služeb, které ke hraní nejsou potřeba. Ale když můžete vařit z vody, proč to nezkusit, že? Nebo že byste nečetl, co jsem napsal?

"emulace, virtualizace - to prostě u náročnejch her nefunguje, vytvořil bys tim další vrstvu, navíc po ní chceš, aby byla univerzální. U nenáročných her, jako je třeba to diablo, by to asi fungovat mohlo." - Až na to, že právě Diablo si vynucuje výhradní režim obrazovky. Když ale vezmeme jiný příklad, například WoT, tam kromě vynucení výhradního režimu může hra jet i v okně, což skoro to, co požaduji. Já chci jen navíc možnost přepočítat na jiné rozlišení, což je výkonově levná operace. Já prostě nechápu, proč se už od začátku nepřišlo s tím, že program může odmítnout konfiguraci API a jeho výstup by se do okna, popřípadě bezrámečkového okna, při nesouhlasícím rozlišení přepočítal.
3.2.2017 15:00:40   88.102.101.xxx 255
Je k pousmání, jak zdejší komunita nepochopila hlavní pointu a princip "WGM". Problémem systému Windows je, že pokud se načtou knihovny do paměti, tak jste omezeni použít knihovnu do doby, kdy první proces nedokončí úkol. Současný multitasking Windows je efektivnější pouze díky výkonu na jádro procesoru. S dnešními 8-16-32GB RAM je holý nesmysl omezovat hlavní program na tom, aby sdílel prostředky s další stovkou aplikací. Jednoduše se načtou všechny potřebné knihovny do paměti pro hlavní program duplikovaně. Ke kterým bude mít samozřejmě jen hlavní proces přístup. Může to hlavně vyřešit pády některých her, a také zvednou výkon snížením "frametimes". Popravdě... bylo načase aby tohle už bylo realitou.
4.2.2017 19:38:53   83.208.175.xxx 03
"S dnešními 8-16-32GB RAM je holý nesmysl omezovat hlavní program na tom, aby sdílel prostředky s další stovkou aplikací. Jednoduše se načtou všechny potřebné knihovny do paměti pro hlavní program duplikovaně."

To vám cache pěkně poděkuje. Celý smysl těch legrácek jako je -fPIC kompilace a podobně je v tom, aby se všechny duplicity daly odstranit. Co získáte zbytečnou duplikací stránek chráněných MMU, to tedy netuším. Ať už získáte cokoli, cache misses vám to nejspíše zase seberou (pokud nedopadnete ještě hůře, než jste začal).
4.2.2017 21:56:12   88.102.101.xxx 31
"nesmysl omezovat hlavní program" znamená, maximálně jedna duplicita v RAM, a to pouze pro hlavní program. Co více, nemusíte dělat duplicitu celého "systému", ale pouze těch částí, ke kterým hlavní program opakovaně přistupuje. A o tohle by se měl ideálně starat "WGM". Jediné co bude asi tak brzdit hru, bude samotné "WGM", dokud neudělá potřebné duplicity potřebných částí. No... čas ukáže jak to s "WGM" bude, těším se na odborné rozbory.
4.2.2017 23:28:52   213.220.233.xxx 20
Mechanismus, že v RAM jsou přednostně stránky ke kterým hlavní program opakovaně přistupuje, je ve Windows už od roku 1990. Žádné duplicity dělat netřeba.
4.2.2017 23:41:18   95.105.132.xxx 21
Jaka chace ? Riesit pri dllkach nejaku cpu cahce je holy nesmysel. Staci si pozriet kolko mega kodu sa taha pri nahrani beznej win32 alebo win64 binarky. To sa nevleze do 6-8MB cache ani omylom. Dllka vznikly z prevazne dvoch dovodov - jednak setrenie pameti, kedze sa tak nejak predpokladalo ze rozne aplikacie budu volat tie iste kniznice, tak ich staci mat natiahnute raz v pameti a zdielat ich (Ono v casoch Win95/98 ked bezne bolo 64MB RAM v pocitacoch to bolo logicke) a druha myslienka bola ze staci updatovat/opravovat iba dllka a aplikacie automaticky toho vyuziju len to tiez uplne nevyslo podla planu (dll hell - nakoniec je v systeme bezne niekolko verzii tej istej dllky koli kompatibilite s aplikaciami).
Dnes su do vlekej miery kniznice skor prezitok a jediny zmysel maju pre OS API. Ostatne staci sa pozriet aj pri modernych hrach. Vecsina je jeden velky exaca a 2-3 male kniznice. Dnes uz nieje nic vynimocne ked hra ma 50-60MB exe subor - prakticky vsetko je zlinkovane staticky.
4.2.2017 23:25:38   213.220.233.xxx 20
Pochopitelně je to přesně obráceně, 99,99 % aplikací používá například jednu a tu stejnou knihovnu kernel32.dll, sdílení knihovny nijak nezpomaluje a na nic se nečeká :-)
3.2.2017 17:15:41   46.33.112.xxx 33
Pokud grafika A má větší rozptyl a/nebo délku frametime, že grafika B, ceteris paribus, frametime je dobrou metrikou. Zejména pokud grafika A je jiného výrobce než grafika B, tudíž mají jiný ovladač.

Hlavně že na další poslední stránce se k této tvojí "mizerné metrice" znovu uchyluješ, abys zhodnotil možný přínos WGM:
"S tím, že se hra opět přiblíží k hardwaru, je možné odstranit zácpu odstranit a tím snížit frametime."

A dalo by se pokračovat:
"Eliminuje se zácpa na úrovni driveru a podpoří se optimalizace na straně hry, která může efektivně využívat více jader. V podstatě to znamená, že vývojáři mohou přesunout herní optimalizaci na stranu procesoru, což se projeví v nárůstu zátěže CPU." - v prvé řadě klesne zátěž CPU a jestli získaný výkon vývojáři využijí na něco dalšího, to bych nechal na ně.

A závěrem:
"Je to ale dobře, protože zatímco většina jader moderních procesorů čekala na nejpomalejší proces, je možné úlohu rozdělit efektivněji a lépe ho vytížit." - toto pro změnu vůbec nedává smysl. Sice chápu, co tím chtěl básník říci, ale sry je to blábol. Nějakej pokus domixovat hardware CPU s enginem hry, grafickým API, ovladačem grafiky a hardwarem grafiky. Tam je po cestě tolik jader čeče, že by z toho byla jaderná elektrárna.
3.2.2017 18:10:09   185.38.14.xxx 145
Microsoft se s Windows 10 ubírá směrem, kterému snad nic není vzdálenější než aby "přání uživatele bylo počítači příkazem".
4.2.2017 09:09:42   85.207.89.xxx 56
já bych to otočil "aby přání počítače bylo uživateli příkazem" potažmo počítač lze v případě w10 a všech jeho následných verzí brát jako remote administrator. pro ty méně chápavé: Velký bratr tě vidí
4.2.2017 19:46:20   83.208.175.xxx 00
"S tím, že se hra opět přiblíží k hardwaru, je možné odstranit zácpu odstranit a tím snížit frametime. Neznamená to absolutní eliminaci propadů výkonu, ale je to začátek. Eliminuje se zácpa na úrovni driveru a podpoří se optimalizace na straně hry, která může efektivně využívat více jader. V podstatě to znamená, že vývojáři mohou přesunout herní optimalizaci na stranu procesoru, což se projeví v nárůstu zátěže CPU."

Tahle pasáž mi nedává moc smysl. Nárůst zátěže CPU v důsledku čeho? Pochopil bych, že zátěž CPU může vzrůst proto, že systém je najednou schopen protlačit více snímků za sekundu a výpočty na snímek se nezmění (protože hra funguje pořád stejně). Ale že by to bylo "přesunutím herní optimalizaci na stranu procesoru"? Odkud? Z grafické karty? Pochybuji, že něco, co už bylo přesunuto na grafickou kartu, se bude přesouvat zpátky - už je to tam, kde to chcete, blíže výslednému snímku. Nebo z ovladače v uživatelském režimu nebo i režimu jádra? No ale to je pak pouze obdobný výpočetní proces na stejném hardwaru, pouze běžící v jiné části veškerého softwaru bežícího na CPU.
4.2.2017 23:45:52   95.105.132.xxx 11
Clanok v celku dobry ale v poslednej dobe su clakny p. Rybku dost povrchne a trochu by to chcelo ist viac do hlbky.Rozhodne by to bolo zaujimavejsie a na technickom webe sa to aj viac hodi.
Mimochodom ale tvrdit ze OS riesi hw abstrakciu je minimalne trochu pritiahnute za vlasy. Tam sa tka nejak dostali dnesne OS ale primarna myslienka OS je to co je v jeho nazve - operacny system, tj nahra program a spusti ju ako proces (operaciu). Pripadne ak sa to rozvedie trochu viac tak je to nejaky task scheduler s memory managementom. Tu hw abstrakciu maju na svedomi ovladace, s ktorymi ale casto krat ani dnes OS nic moc nema, ten len poskytuje nejake zakladne api ako dany ovladac nahrat a pristupovat k nemu pre aplikacie.

Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz

135 čtenářů navrhlo autorovi prémii: 61.1Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.