Rozhraní DirectX 11 a jeho nejbližší budoucnost
i Zdroj: PCTuning.cz
Hardware Článek Rozhraní DirectX 11 a jeho nejbližší budoucnost

Rozhraní DirectX 11 a jeho nejbližší budoucnost | Kapitola 2

Z. Obermaier

Z. Obermaier

8. 3. 2010 01:00 106

Seznam kapitol

1. Úvod - Bude rok 2010 rokem DX11? 2. Proč DirectX 11? 3. DirectX 11 Pipeline 4. Direct Compute 5. Teselace I. 6. Teselace II.
7. Multi-thread Command Buffers 8. Nové komprese textur a efekty 9. Analýza her za rok 2008/2009/2010 10. Slovo vývojáře 11. Reálné DX11 hry 12. Závěr

Grafické karty jsou dnes zřejmě nejviditelnějším kusem hardware, kdy se nové generace s vyšším výkonem a technologiemi objevují v téměř pravidelných časových odstupech. Nejskloňovanějším slovem tohoto roku a zřejmě i několika příštích let bude bezesporu DirectX 11 jako nejvíce prosazované API.

Reklama
Rozhraní DirectX 11 a jeho nejbližší budoucnost
i Zdroj: PCTuning.cz

Každá prezentace o DirectX 11 od roku 2008 až do teď, začíná podobnou obrazovkou a otázkou. Já jsem použil jednu z nejstarších, zde se totiž všechny hlavní body vešly do jednoho obrázku. Zbytek čerpám z jiných prezentací, kde je úvod ale rozdělen do více stránek. Takhle to budeme mít přehlednější. Podívejme se ještě krátce na DirectX 10.

DirectX 10

Rozhraní DirectX 11 a jeho nejbližší budoucnost
i Zdroj: PCTuning.cz

Rozhraní DirectX 9 je s námi už od roku 2002, poslední aktualizace DirectX 9c od roku 2005. Po tolika letech to už opravdu vyžadovalo změnu. Z této snahy se narodilo API DirectX 10, jež dorazilo společně s Windows Vista. Nové API nabídlo jednodušší rozhraní se snadnější tvorbou kódu. Také efektivita GPU měla být vyšší, ovladače měly být jednodušeji optimalizovatelné. Důležitou vlastností byla také přísná specifikace, což na jednu stranu umožní lepší optimalizaci na DX10 hardware, na druhou stranu ale nutí změnit zaběhnuté činnosti herních vývojářů, kteří si do DX9 kódu mohli přidávat různá zjednodušení a ulehčit si práci. Tento důvod, společně s ignorováním Windows Vista veřejností způsobil malé rozšíření studií vytvářející DX10 kód her. Majoritní trh DX9 konzolí je dalším obrovským důvodem.

DirectX 10.1

V původním API byla záhy objevena hromada chyb a nedostatků. To vedlo k vytvoření verze DirectX 10.1, kterou ale Microsoft jako svébytné označení nikdy neuznal. I přes tyto změny se API stále jmenuje DirectX 10. Změn ale nebylo málo, vidíte je na dvou malých obrázcích. Vylepšeno bylo MSAA vyhlazování a výkon pod DX10. Rozhraní se také přiblížilo více nadcházejícímu DirectX 11. Vzhledem k podpoře rozšíření DX10.1 pouze na Radeonech HD 3000/4000 se ale vývojáři s implementací do her moc nesnažili. Kolik takových her vyšlo si řekneme později. Tehdejší (a většina dnešních) karet GeForce toto rozšíření nepodporovaly, s podporou přišla NVIDIA až s křížkem "po funusu" u nejlevnějších GeForce 200 vloni. Za zmínku ale stojí, že díky absenci DX10.1 funkcí v kartách GeForce nebylo v některých enginech možné si poradit s vyhlazováním (bez drastického dopadu na výkon). NVIDIA na to ale šla "silou", díky svému programu pro podporu vývojářů nechala tuto možnost do her naroubovat i přes tento hendikep. Vyhlazování sice fungovalo, na výkonu se to ale významně projevilo. Nejlepším příkladem budiž třeba hra Unreal Tournament 3.

Shader Model 5.0

Rozhraní DirectX 11 a jeho nejbližší budoucnost
i Zdroj: PCTuning.cz

Rozhraní DirectX 11 a jeho nejbližší budoucnost
i Zdroj: PCTuning.cz

Nové rozhraní se nese v duchu nového programovacího modelu - Shader Model 5.0. Ten přináší spoustu novinek, vidíte je vypsané na dvou obrázcích nad tímto textem. Hlavními znaky je objektově orientovaný model programování, zjednodušujíce práci programátorů. Kompletně unifikované Shadery jsou už samozřejmostí, včetně dvou nových. Metod zlepšujících vizuální stránku je více, lepší detekce hran u průhledných objektů, reálnější stíny a osvětlení, lepší a rychlejší filtrování textur, rychlejší komprese a dekomprese dat.

DirectX 11

Hlavním vylepšením proti starším Direct3D API (DX9, DX10) by měl být vyšší výkon. Lepší škálování výkonu GPU, by s pokročilými výpočetními funkcemi mělo přinést vývojářům her lepší možnosti a zjednodušit jejich práci. Rozšíření DirectX 11, je dle tvůrce striktní nadstavbou rozhraní DirectX 10 a je zpětně plně kompatibilní i s kartami a ovladači DirectX 9. Tohle je možná jedna z nejpodstatnějších informací. Pokud vývojář naprogramuje hru pouze pro DX11 rozhraní, půjde bez potíží spustit i na DX9 (DX10) grafických kartách, pouze ochuzena o DX11 funkce a efekty, které karta nepodporuje. Teoreticky by tedy každý herní vývojář mohl s klidným svědomím přejít na DX11, zpětná kompatibilita by měla být zaručena. Realita je ovšem složitější.

O tom, že tvrzení o zpětné kompatibilitě je pravdivé, se můžete přesvědčit sami. Příkladem budiž hra Aliens Vs Predator, kterou lze DX11 spouštěcím souborem úspěšně zprovoznit i na GeForce GTX 260. Stejný scénář platí i pro demo Unigine Heaven. Samozřejmě se nekoná Teselace a hra se občas podivně "cukne", spustit ale skutečně jde. Pomocí ovladačů by šlo dosáhnout hratelných fps bez škubání i v tomto případě. K ničemu by to ale nebylo, takže podporu v budoucích driverech pro tento obskurní scénář nečekejme.

Horní slajd nám dále říká, že nejlepší cestou k DirectX 11 je pracovat v současné době s DirectX 10, přechod by měl být pak hodně snadný. Zdali to potvrdí i praxe skutečného vývojáře, se dozvíte později v článku. Kromě zmíněných vlastností vztahujících se spíše ke zpětné kompatibilitě, přináší DirectX 11 mnoho novinek. Mezi hlavní patří Direct Compute, Teselace, Multi-threading, vylepšené komprese textur a další. Všechny zmíněné si nyní popíšeme ..

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama