DirectX 11 – Čeká nás revoluce?

Tagy:  DirectX 11, DirectX 10, DirectX 10.1, grafická karta, Tesselator, DirectCompute, Windows 7 multi-threading, GPU, API

Sponzorované odkazy

DirectX 11 – Čeká nás revoluce?

S novým systémem Windows 7 Microsoft tradičně přináší i další verzi speciálního softwaru pro ovládání grafické karty, který je znám pod názvem DirectX. Nastane nová doba herního průmyslu a nebo se bude opakovat historie, jakou jsme zažili s předchozím DirectX 10? Pojďme si tedy nastínit základní principy DirectX a co všechno nám jedenácté vydání přináší.

LogoLogo

Trocha teorie

Pro začátek bych vám chtěl alespoň naznačit problematiku DirectX a základní pojmy, se kterými se v praxi můžete setkat. Grafická karta využívá pro výpočty GPU (Graphics Processing Unit), což je vlastně grafický procesor. GPU. Proti „klasickému“ procesoru (CPU) nemá integrovanou sadu instrukcí, a tak je potřeba tuto sadu v GPU nějak napodobit speciálním softwarem. Tento software je známý pod názvem API (Application Programming Interface). API je vlastně pro vývojáře osnovou – říká jim co lze a nelze udělat. API umožňuje zpracovat data nehledě na typ GPU tak, aby byl finální výsledek stejný. Nebýt jeho, musel by vývojář tvořit hry pro jednotlivé GPU, což je samozřejmě naprosto nesmyslné a nereálné. Grafický procesor má při tvorbě grafiky jasně daný postup, také se mu říká pipeline. Pipeline je rozdělen na jednotlivé úrovně podle typu operace. Na konci tohoto složitého procesu dostaneme výstupní informace, díky kterým vidíme obraz na monitoru. Dnes nejznámější rozhraní jsou právě Microsoft DirectX a OpenGL. OpenGL byl dříve hojně využíván v herním průmyslu, dokud se před pěti lety neodsunul do ústraní. Posledním herním enginem zakládajícím na OpenGL byl engine DOOM 3. OpenGL však dosud neřekl poslední slovo, své zastoupení si totiž nalezlo v novém rozhraní OpenCL. Opravdu zlehka jsme si nastínili problematiku API, v praxi je však tento proces „tvorby obrazu“ mnohem složitější.

Direct 11 – novinkyDirect 11 – novinky

Jaký byl a je DirectX?

První verze známého rozhraní DirectX se objevila v roce 1995. Dlouhý vývoj nás dostal přes devátou verzi ve stařičkých Windows XP, desátou verzi v ne příliš oblíbených Windows Vista až k dnes recenzované jedenácté verzi, která nám má opravdu co říct. Rozhraní DirectX obsahuje velké množství komponent jako například DirectDraw, Direct3D a v neposlední řadě třeba DirectSound. Z názvu vyplývá, že každá tato komponenta plní jinou úlohu. DirectDraw vykresluje 2D grafiku, Direct3D pro změnu 3D grafiku a DirectSound umožňuje záznamenávání a přehrávání zvukového záznamu. Desátá verze přinesla mnoho průkopnických inovací, a tak i grafické čipy doznaly velkých změn. Byla to opravdu revoluční rozhraní. Třešničkou na dortu byla verze 10.1, která přinesla opravdu mnoho změn. Kvůli velké rozšířenosti deváté verze a nevelké oblíbenosti Windows Vista bylo rozšiřování více než pomalé. DirectX 11 však staví na pouhé inovaci starších DirectX 10 a 10.1. Díky tomu je zajištěna zpětná kompatibilita.

Direct3D 11Direct3D 11

Největší novinky „Jedenáctky“

Základní principy jsme si již řekli. Nyní se tedy můžeme pustit do jednotlivých novinek. Největším přínosem je Multi-threading. Normálně se jednotlivé úkoly pipeline vykonávají postupně za sebou. Funkce Multi-threading však umožňuje některé kroky vykonávat současně. Další výhodou je lepší využití potencionálu vícejádrových procesorů. Dnes je většina her optimalizována pro dvoujádrové procesory. S optimalizací čtyřjádrových procesorů se setkáváme opravdu zřídka, protože je to velmi nákladná záležitost. Další důležitou novinkou je DirectCompute jinak zvaný výpočetní shader. DirectCompute umožňuje vaší kartě nejen vykreslovat obraz, jako tomu bylo dodnes, ale také počítat různé vědecké výpočty, akceleraci videa či počítat fyziku. V praxi to znamená, že mohou ulehčit procesoru doznačné míry práci. Následující neméně důležitá novinka se skrývá pod názvem Tesselator, ale ten se určitě nedá považovat za naprosto revoluční novinku. Tento princip je totiž znám již ze starších typů grafických procesorů ATI. Tato technologie se objevila již na stařičkých čipech Radeon 8500, kde se objevila pod názvem TruForm. Principem Tesselatoru je rozdělení trojúhelníků na menší části a tím dojde k navýšení počtu polygonů, díky čemuž se zvětší i síť pro tvorbu objektů. Právě kvůli tomu se z původně ošklivě hranatých objektů stane krásně zaoblený. Výborným příkladem je obrázek s hlavou pod tímto odstavcem. Při velkém rozšíření Tesselatoru by pravděpodobně došlo k opravdové revoluci. Mohl by nastat opravdu nová doba v oblasti herního průmyslu, protože udržení nízkých nároků na výkon spolu s neustále se zlepšující grafikou jistě každý ocení.

TesselatorTesselator

Má cenu přecházet?

Jestliže zvažujete o přechodu na hardware DirectX 11, je potřeba zvážit všechny výhody a nevýhody. Několik herních titulů pro toto nové rozhraní se má objevit již letos, příští rok těchto titulů přibude v řádu desítek. Avšak nejpodstatnějším faktorem je rychlost nástupu DirectX 11. DirectX 11 je již standardním rozhraním na Windows 7. Kompatibility se dočkají i starší Windows Vista, a tak si nemusíte dělat žádné starost, pokud jste ještě nezakoupili zbrusu nové „Sedmičky“. Uživatelé stařičkých „Xpéček“ mohou na kompatibilitu rovnou zapomenout, stejně jako tomu bylo u předchozího DirectX 10.

DX10 vs DX11DX10 vs DX11

Blýská se na lepší časy?

DirectX 11 úplně nový rozměr nejen hernímu průmyslu. Podmínky pro rozšíření jsou mnohem lepší než při vydání DirectX 10. Výbornou zprávou jsou také ohlasy vývojářů o brzké podpoře „Jedenáctky“. Vlastníci DirectX 10 hardwaru se také dočkají podpory, i když jen částečné. Opravdu se blýská na lepší časy? Já si myslím, že ano a dávám DirectX 11 velkou naději. Konečně mají i uživatelé „Xpéček“ s DX 9 několik nových podmětů pro přestup na novější Windows 7 a DirectX 11.

Stáhněte si DirectX 11 zde:
DirectX 11 download

Článek DirectX 11 – Čeká nás revoluce? byl publikován 24. listopadu 2009 v 06.00 v rubrice Technologie. Autorem článku je Ondřej Dostál. Pro diskusi slouží komentáře (4).

Prosím čekejte ...
Prosím čekejte ...
Prosím čekejte ...