AMD Software Preview Driver May 2022
S vydáním grafických karet Radeon RX 6950 XT, RX 6750 XT a RX 6650 XT, vydala společnost AMD také nové speciální ovladače s názvem „AMD Software Preview Driver May 2022“, které by (krom jiného) měly přinést také nemalý nárůst výkonu v počítačových hrách založených na grafickém rozhraní DirectX 11. V průměru by se pak mělo jednat o navýšení výkonu kolem 8 %, a to s grafickými kartami řady RX 6000.
Pokud se o grafické karty zajímáte více, tak jistě dobře víte, že na rozdíl od herních titulů postavených na grafickém rozhraní DirectX 12 či Vulkan, ve kterých grafické karty Radeon excelují, je jejich výkon pod staršími hrami DirectX 11 povětšinou mnohem horší a za konkurenčními GeForce z tábora zelených v některých hrách doslova zaostávají. Proto také mnoho lidí před Radeony raději volí grafické karty GeForce, které jim zaručují přeci jen stabilnější výkon napříč všemi počítačovými hrami. S tím by však mohl být konec, a to právě díky těmto novým preview ovladačům, které jsou zaměřeny právě na výkon grafických karet Radeon v počítačových hrách pod DirectX 11.
Jestli to však nejsou jen plané řeči, tak my si dnes na GPUreport pár her otestujeme a výkonnostní rozdíly zhodnotíme. Já bohužel v testovací metodice na GPUreport těch DX11 her nemám zas až tak mnoho, ale otestuji alespoň to málo, co mám k dispozici. Jedná se o počítačové hry Dying Light 2: Stay Human, God of War, Battlefield V a postarší Far Cry 5. Jak vidíte, těch her tedy bude poskrovnu, nicméně si na ně podíváme velmi důkladně a zanalyzujeme si, co vlastně tyto nové ovladače společnosti AMD dělají, a jak se s nimi nově chovají také grafické karty.
Dříve, nežli se pustíme do dnešních testů, bylo by ale dobré, abyste znali alespoň některé základní pojmy, bez kterých se v tomto článku neobejdete. Samozřejmě, ti zkušenější, kteří vědí o co běží, mohou zbytek této kapitoly přeskočit a přejít rovnou k testům.
CPU bound vs GPU bound
Při hraní počítačových her se můžeme setkat se dvěma scénáři, které se označují jako CPU bound nebo GPU bound a vyjadřují, co je úzkým hrdlem (Bottleneck) při renderingu hry. Pro vykreslení jednoho snímku hry je potřeba spolupráce procesoru (CPU) a grafické karty (GPU). CPU musí snímek pro GPU nejdříve připravit, a jakmile se tak stane, ihned ho odešlete na GPU pro jeho vykreslení na monitor počítače. Nežli CPU tento snímek připraví, nějakou chvíli to trvá a stejně tak nějakou dobu trvá i GPU, nežli tento snímek následně zpracuje a odešle na monitor.
Pokud CPU připravuje snímek delší dobu, nežli ho zpracuje GPU, výsledná snímková frekvence je pak ve hře daná právě dobou přípravy snímku na CPU, a je tedy na výkonu CPU přímo závislá. Tomuto scénáři říkáme „CPU bound“ a pokud nastane, žádná sebevýkonnější grafická karta vám ke zvýšení snímkové frekvence ve hře nepomůže. Karta totiž bude muset vždy čekat na procesor, až snímek připraví, a do té doby bude jen tak nečinně stát (pokud předchozí snímek již vykreslila). K vyšším FPS vám tak může pomoci pouze výkonnější procesor, který dobu přípravy snímku zkrátí.
Opačným příkladem je scénář „GPU bound“. V tomto případě CPU připravuje snímky kratší dobu, nežli kterou potřebuje na jeho zpracování GPU. Snímková frekvence ve hře je tak daná výkonem GPU a tedy době, kterou GPU potřebuje na zpracování snímku (rendering). Potřebujete-li v takové hře zvýšit snímkovou frekvenci, budete si muset pořídit výkonnější grafickou kartu, která zkrátí dobu renderingu.
V praxi, tedy při hraní počítačových her, se pak mohou oba tyto scénáře střídat. A jak tedy poznám, jestli je daná hra na mém počítači CPU nebo GPU bound? Docela jednoduše, stačí jen sledovat vytížení grafické karty, třeba v nástroji MSI Afterburner. Pokud je vytížení grafické karty nízké (významněji nižší než 100%), je poměrně jisté, že úzkým hrdlem je právě procesor, a nacházíte se tak ve scénáři CPU bound.
Driver overhead
Procesor při přípravě snímku pro grafickou kartu musí také nějakým způsobem spolupracovat a komunikovat s grafickým rozhraním (DirectX, OpenGL, Vulkan), jehož součástí je také část ovladače grafické karty. To pro procesor znamená samozřejmě také určitou režii navíc. Nicméně při kvalitní optimalizaci ovladače, lze pak dokonce některou práci CPU delegovat na mnohem výkonnější GPU a procesoru tak naopak ulevit. Driver overhead je tedy jakási nutná režie, kterou musí procesor podstoupit a její velikost záleží na tom, jak kvalitně jsou ovladače grafické karty napsány (a zda například využívají veškerou možnou HW akceleraci). Vyšší režie pak znamená, že procesor musí více času věnovat právě této nutné režii, na úkor vytváření vyššího počtu vykreslovacích příkazů (Draw calls), kterých je potřeba pro co možná nejvyšší vytížení grafické karty, a tedy i dosažení vyšší snímkové frekvence ve hrách.
Pokud tedy víme, co znamenají termíny Bottleneck, CPU bound, GPU bound, Driver overhead a Draw calls, může se tak směle pustit do dnešních testů.