Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

DirectX 11 - seznámení s budoucností

16.2.2009, Petr Štefek, recenze
DirectX 11 - seznámení s budoucností
V dnešním článku nahlédneme pod pokličku budoucího rozhraní DirectX 11, které je do značné míry vskutku revolučním API, jež bude zajímavé jak pro vývojáře, tak pro nás uživatele. Blýská se nám tedy na lepší časy?
V listopadu minulého roku Microsoft zveřejnil DirectX SDK update, kde mohli vývojáři poprvé vyzkoušet některé možnosti DirectX 11. Na trhu není v současné době žádný kompatibilní DirectX 11 hardware a není ani známo, že by již byly k dispozici fungující prototypy. Stále však mají vývojáři k dispozici DirectX 10.1 hardware pod operačními systémy Windows Vista a Windows 7. Konkurence ovšem nespí, což dokazuje Khronos Group a její OpenCL, která je další (možná lepší) cestou za akcelerací běžných výpočtů na grafický kartách respektive GPU. Faktem zůstává, že pokud bychom měli obě nová rozhraní porovnat, tak DirectX 11 je více zaměřeno na zpracování realtime 3D grafiky a OpenCL zase o něco více na akceleraci bežných výpočtů na GPU. Každopádně obě rozhraní mají své místo na slunci prozatím zajištěno.

Co je na DirectX 11 tím nejzajímavějším faktem? Není to ani přítomnost tesselace, ani výpočetní shader, ale především to, že přinese výhody vlastníkům současného hardware kompatibilního s DirectX 10/10.1, což je pro tento typ rozhraní něco úplně nového. Ze strany výrobců grafických čipů ovšem musí zákonitě dojít v updatu ovladačů, na čemž budou nepochybně pilně pracovat.

Mnoho aspektů včetně specifikací nových DirectX 11 napovídá tomu, že jejich nástup bude mnohem rychlejší, než tomu bylo u současných DirectX 10, právě kvůli faktu, že se jedná o podmnožinou přicházejícího DirectX 11. Pokud předpokládáte, že nové DirectX nebudou dostupné pro jiné systémy než Windows Vista a Windows 7, tak předpokládáte správně. Vzhledem k tomu, že Microsoft bude nabízet bezplatný upgrade na Windows 7 z verzí Windows Vista (zakoupené v určitém časovém limitu před vydáním Windows 7), nebude problémem počet uživatelů pracujících s tímto operačním systémem. Tržní podíl Windows Vista je v současnosti okolo 25%, což není takovým fiaskem, jak by si mnozí mohli myslet. Otázkou zůstává, jaký podíl z těchto 25% zaujímají vlastníci notebooků s přeinstalovaným operačním systémem.

Od časů DirectX 6 (ano je to už dávno) po DirectX 9 se Microsoft snažil své rozhraní vylepšovat a na jeho konci je to nyní bohaté prostředí umožňující skutečně hlubokou kontrolu nad grafickým hardware. Přechod od DirectX 9 na DirectX 10 byl pro mnohé uživatele jen málo lákavým, ale umožnil větší flexibilitu a větší rychlost práce s novějšími grafickými kartami. Rovněž se v DirectX 10 podařilo Microsoftu díky změně přístupu k zařízení skrze ovladače zvýšit stabilitu při používání hardware. Jak už bylo řečeno výše, DirectX 11 jdou poněkud jiným směrem než dosavadní verze tohoto API.

Microsoft nezahodil staré možnosti a vlastnosti DirectX 10 v zájmu lepší programovatelnosti ale vytvořil své nové API jako množinu funkcí, kde starší rozhraní je jeho podmnožinou, ale zároveň také pevnou součástí. To vše přináší velmi zajímavé možnosti. DirectX 10 kód je v podstatě DirectX 11 kódem, který jen nevyužívá jeho některých speciálních vlastností (CS/TS). Na druhou stranu DirectX 11 kód může být zpracováván na hardware DirectX 10, ale rozšířených možností se nedočkáme. Příjdeme o příjemné možnosti jako je tesselace (TS) nebo výpočetní shader (CS), ale benefit v podobě vyššího výkonu pod starším rozhraním DirectX 10 by měl být zřetelný.



Tato vlastnost by měla být hlavním hnacím motorem pro majitele DirectX 10 hardware k upgradu na Windows 7. Pomalý přechod od DirectX 9 k DirectX 10 byl spojen především relativně neoblíbeným systémem Windows Vista a také nedostatkem relevantních důvodů pro upgrade (hry vypadaly stejně a rychlejší běh se rovněž nekonal). Pro hry nativně psané pro DirectX 10 bude podpora DirectX 11 samozřejmá a s úpravami nebude těžké získat plnou podporu DirectX 11, když z toho bude hra nějakým způsobem profitovat. Otázkou zůstává, zda vývojáři nenalepí nálepku DirectX 11 na všechny produkty a hry tvořené prvotně pro starší rozhraní s ospravedlněním, že DirectX 10 je součástí a podmnožinou nového API.

Největší devizou a nutností přechodu na DirectX 11 je podpora multi-threadingu na starším DirectX 10 hardware. Všechny kroky ve vykreslování, rasterizaci a zobrazování jako celku jsou prováděny postupně, ale multi-threading dovoluje aplikaci (hře) vytvářet zdroje, měnit stav a příkazy pro vykreslování současně. Tento fakt sice sám osobě významně neurychlí běh aplikací, jelikož obvykle je limitem právě GPU, ale na druhé straně dovolí využít naplno například vícejádrových procesorů, které budou hrát prim, což dokazují prototypy procesorů Intel s 12 a 16 jádry nebo speciální projekt Solaris s 80 malými jádry.

Možná už za pár měsíců nebude problém mít v domácích systémech procesory s 8 až 16 jádry, a vývojáři tak budou mít více prostorou a hlavně důvod pro optimalizace pro vícejádrové procesory. V současné době je většina her optimalizována pro chod na dvoujádrových procesorech a přínos (a hlavně náklady) optimalizací na 4jádrové procesory nejsou vzhledem k jejich rozšíření nijak zvlášť efektivní . Po příchodu DirectX 11 se mnoho věcí do značné míry změní. Pro efektivní řízení všech změn stavů a vykreslovaní pod DirectX bude lepší místo jediného vlákna ovládajícího všechny tyto věci vytvořit vlákna, která budou samostatně ovládat pouze určité typy funkcí. To vše v budoucnu otevírá cestu k tomu, že každý objekt nebo bytost ve virtuálním světě bude ovládána skrz své vlastní vlákno, neboť jedině tak bude možno efektivně zvládat řízení živého virtuálního světa.



Fakt, že Microsoft plánuje multi-threading podporu pro DirectX 11 na DirectX 10 hardware je hlavní výhodou (pro všechny). Klíčové pro uvedení DirectX 11 do praxe je především uvedení Windows 7, které mají být náplastí na kritizované Windows Vista, jež sice pro Microsoft neznamenaly zásadní neúspěch, ale prodejní čísla hovoří zcela jasně, totiž že většinu z prodaných licencí tvoří odbyt s novými notebooky. Pro rychlý nástup DirectX 11 bude stěžejní i cena Windows 7, která bude pravděpodobně vyšší než u současných Windows Vista a uživatelé s levnějším nebo starším hardware, tak pravděpodobně mohou stále chtít setrvávat u Windows XP potažmo DirectX 9.
Doporučujeme náš velký přehled desktopových grafických čipů.