Wszystko o DirectX 11

Nowy wymiar realizmu w grach, czyli jak działa i co daje DirectX 11

Wszystko o DirectX 11

DirectX to opracowane przez Microsoft rozszerzenie (biblioteka) Windows, które przekłada polecenia systemu operacyjnego, programów i gier na język karty dźwiękowej i graficznej w komputerze. Głównym przeznaczeniem DirectX jest *wyświetlanie na ekranie animacji 3D przede wszystkim w grach. DirectX 11 (DX11), to kolejny etap w rozwoju tej technologii. Spróbujemy przyjrzeć się jej z bliska.*

DirectX 10.1 vs DirectX 11

Różnice pomiędzy obiema technologiami dotyczą głównie nowych technik generowania i przetwarzaniu obrazu, dzięki czemu jest on bardziej szczegółowy, a przez to w znacznie lepszym stopniu kreuje wirtualną rzeczywistość. Lista największych zmian obejmuje:

Cienie: cieniowanie obiektów i ich otoczenia jest teraz bardziej precyzyjne. Oprócz tego długie cienie, na przykład drzew, mogą teraz wydłużać się jeszcze bardziej wraz z obniżającym się słońcem.

Obraz
© DX10 - cienie są dość realistyczne, ale brak im szczegółowości (fot. www.komputerswiat.pl)
Obraz
© DX11 znacznie subtelniej wyświetla załamania materiału, w efekcie cienie są bardziej naturalne (fot. www.komputerswiat.pl)

Struktury: nowa technologia tak zwanej teselacji automatycznie wysubtelnia podstawowe szkielety, jakie programiści gry przewidzieli dla wyświetlanych w grze obiektów.

Obraz
© Kliknij, aby powiększyć (fot. www.komputerswiat.pl)

Powierzchnie: do teksturowania (pokrywania teksturą) powierzchni takich jak futra zwierząt czy kora drzew programiści w DirectX 11 mogą używać obrazów o większych rozdzielczościach, niż to było możliwe w DirectX 10.1. Granica z 4096x4096 pikseli została przesunięta na 16384x16384 piksele. Dzięki temu powierzchnie obiektów i postaci zawierają teraz o wiele więcej szczegółów i wyglądają znacznie bardziej realistycznie.

Przezroczystość: dzięki technologii Order-Independent Transparency (OIT) DirectX 1. może teraz wyświetlać prawidłowo nawet kilka znajdujących się na sobie obiektów przezroczystych.

Obraz
© Bez technologii OIT elementy mechaniczne postaci ukryte pod przezroczystym pancerzem znajdują się w niewłaściwych miejscach. Z włączonym OIT wnętrzności postaci wyświetlają się poprawnie, przesunięcia obiektów transparentnych są tym samym wykluczone (fot. www.komputerswiat.pl)

Procesory wielordzeniowe: nawet komputery za 2000-2500 złotych mają dziś procesory z przynajmniej dwoma rdzeniami. W droższych pecetach znajdują się procesory nawet z ośmioma jednostkami obliczeniowymi. Ten potencjał DirectX 11 wykorzystuje w grach i programach dzięki tak zwanej wielowątkowości - jeśli przeliczanie obrazów nie odbywa się wystarczająco szybko, to DirectX 11 zmusza do pracy niewykorzystane rdzenie procesora. Ma to oczywiście sens tylko w przypadku programów i gier, które obsługują wielowątkowość. Jednym z takich programów jest na przykład wideoedytor Adobe Premiere CS5.

Szybkość: w nowych grach DirectX 1. może wyświetlać w ciągu sekundy o 30 procent więcej obrazów niż DirectX 10. Niestety, aktualne procesory graficzne AMD i NVIDIA nie potrafią tego jeszcze przełożyć na płynniejsze odtwarzanie, choć można się spodziewać, iż problem zniknie wraz z poprawianiem sterowników.

Zadania dodatkowe: dzięki technologii Compute Shader zgodna z DirectX 11 karta graficzna nie musi ograniczać się do odtwarzania obrazu. Może pomagać na przykład przy przeliczaniu wideo i odciążyć w ten sposób główny procesor, jednak używany do tego program musi obsługiwać Compute Shader. Wśród nielicznych dostępnych aktualnie programów wykorzystujących tę technologię jest aplikacja do przetwarzania wideo - Nero Move it.

Nowe technologie obliczeniowe: wykorzystywany do realistycznego wyświetlania obiektów model określany mianem Shader Model w DirectX 1. występuje w wersji 5.0. Zmieniono w nim sposób wykonywania obliczeń, co ma między innymi przyspieszyć generowanie scen 3D.

Polecamy w wydaniu internetowym komputerswiat.pl: Który antywirus najmniej obciąża Windows?

Obraz

Shader Model 5.0 - co nowego?

Shadery wykonują na karcie graficznej przetłumaczone przez sterownik polecenia. Shader to mikroskopijna jednostka obliczeniowa wewnątrz procesora grafiki. W DirectX 10.1 każdy procesor grafiki miał trzy typy shaderów:

Vertex shader (cieniowanie wierzchołkowe): jeśli monitor ma pokazać na przykład pędzącą wyścigówkę, to odpowiada za to vertex shader, który dla każdego obrazu błyskawicznie oblicza nową pozycję pojazdu. Oprócz tego dba również o właściwe oświetlenie obiektu, kiedy mamy do czynienia z kilkoma źródłami światła.

Pixel shader (cieniowanie pikseli): pixel shader zmienia powierzchnię (teksturę) i kolor obiektu.

Geometry shader (cieniowanie geometryczne): jeśli pokazywany samochód wyścigowy przybliża się szybko, uaktywnia się geometry shader i błyskawicznie uzupełnia pojazd o nowe szczegóły bryły. O ile samochód znajduje się daleko w tle, to do jego wyświetlenia wystarcza kilka konturów, jeśli jednak wypełnia już cały ekran, to tylko wiele detali jest w stanie nadać mu realistyczny wygląd.

W DirectX 11 i Shader Model 5.0 doszły dwa nowe, ważne głównie z punktu widzenia teselacji typy shaderów:

Hull shader (cieniowanie powłoki): zadany przez programistów szkielet postaci lub obiektu z gry składa się z dużej liczby wielokątów. Aby jednak jeszcze bardziej wysubtelnić obiekt, hull shader dodaje do szkieletu podstawowego setki dodatkowych punktów.

Domain shader (cieniowanie dziedziny): domain shader razem z jednostką teselacji poprawia wyświetlanie powierzchni znajdujących się na szkielecie podstawowym (tekstur).

Uwagi odnośnie gier i wymagań DirectX 11

DirectX 11, podobnie jak Windows 7, jest obecny na rynku od jednego roku, a więc wybór gier jest jeszcze bardzo skromny. Aktualnie w sprzedaży znajduje się mocno ograniczona oferta gier obsługujących DirectX 11, kilka kolejnych jest w fazie przygotowania. Jedyny wyjątek: firma Electronics Arts za pomocą aktualizacji przygotowała do wymagań DirectX 11 grę online Battle Forge. Wszystkie dostępne gry zgodne z DirectX 1. współpracują również ze starszymi rozszerzeniami Windows, a więc DirectX 10 i 9.

Obraz
© Kliknij, aby powiększyć (fot. www.komputerswiat.pl)

Polecamy w wydaniu internetowym komputerswiat.pl: Który antywirus najmniej obciąża Windows?

Obraz

Druga kwestia, to wykorzystanie wszystkich nowych technologii, które wnosi ze sobą DX11. Teoretycznie gry zgodne z nowymi bibliotekami, wciąż nie dają nam pełnej możliwości cieszenia się wysokim poziomem realistyki. Wynika to z tego, iż często wsparcie dla DirectX 11 "dodawane" jest do starych silników. Dobry przykład to XRay Engine w STALKER: Zew Prypeci. Mimo wsparcia dla DX11, sam silnik ma już dobre kilka lat. Adaptacja nowych technologii jest więc ograniczona. Przełomem (podobnie jak miało to miejsce przy okazji DirectX 10), będzie prawdopodobnie premiera gry Crysis 2, opartej na zupełnie nowym silniku graficznym.

Obraz
© Przykład popularnej gry Colin McRae Dirt 2 pokazuje, że wsparcie dla DX11 może być tylko chwytem marketingowym... (fot. www.komputerswiat.pl)
Obraz
© ...w efekcie, różnice pomiędzy wersją DX10 i DX11 są symboliczne, lub prawie żadne. Jest to efekt przestarzałego silnika gry (fot. www.komputerswiat.pl)

Gry wspierające DX11, pracują też dość topornie. Karty graficzne jak na razie nie są w stanie efektywnie wykorzystać nowych blibliotek. Gracze często skarżą się na znaczne spadki wydajności - nawet na najnowszych kartach graficznych. Problem ten prawdopodobnie rozwiąże stopniowa aktualizacja i optymalizacja sterowników. Różnice pomiędzy grami DirectX 10 i DirectX 11 w większości dostępnych aktualnie tytułów są niemal niewidoczne (z powodu adaptacji starych silników). Zmienić się to ma w chwili publikacji nowych gier.

Obraz
© (fot. www.komputerswiat.pl)

DirectX 11 współpracuje z Windows Vista, ale nie z popularnym wciąż systemem operacyjnym Windows XP. Starsza wersja Windows nie obsługuje także DX10. Stąd inwestując w nową kartę graficzną, należy bezwzględnie pomyśleć o przesiadce na Windows 7. Inaczej nasza inwestycja zwyczajnie nie ma sensu.

Polecamy w wydaniu internetowym komputerswiat.pl: Który antywirus najmniej obciąża Windows?

Obraz

Testy szybkości

Szybkość naszego komputera z DirectX 11 możemy przetestować za pomocą programu Unigine Heaven, lub nowego 3DMark 11. Warunek: nasz komputer musi pracować pod kontrolą Windows 7 i mieć kartę graficzną zgodną z DirectX 11. Ten drugi program zadebiutował niecały tydzień temu (7 grudnia). W wersji podstawowej jest bezpłatny, za wersję dla zaawansowanych trzeba zapłacić spore pieniądze. Alternatywą jest kupienie nowej karty marki MSI - producent dodaje pełną wersję (klucz) programu, do każdej nowej karty graficznej z wyższej półki.

Obraz
© (fot. www.komputerswiat.pl)

Prezentacja programu Unigine Heaven

Prezentacja programu 3DMark 11

Co jest potrzebne, aby rozpocząć zabawę z DirectX 11?

Aktualizacja systemu operacyjnego: jeśli komputer pracuje pod kontrolą Windows 7. to użytkownik nie musi go aktualizować, bo DirectX 11 jest częścią składową Windows 7. Komputery z Windows Vista przed instalacją DirectX 11 wymagają specjalnej aktualizacji.

Nowa karta graficzna: z zalet DirectX 11 skorzystamy tylko pod warunkiem, że nasz komputer będzie wyposażony w odpowiednią kartę graficzną. Spośród kart AMD nadają się do tego wszystkie karty z serii Radeon HD 500. (5xxx), oraz 6000 (6xxx) - także wersje mobilne (oznaczone literką M). DX11 obsługują także karty graficzne Nvidia z serii: GeForce GTX/GTS/GT 400 (4xx), oraz 500 (5xx). To samo dotyczy wersji mobilnych - również z literką M. Warto dodać, iż najprostsze (i najtańsze) modele kart graficznych obu producentów zapewnią nam wsparcie dla technologii DX11, mogą jednak nie oferować odpowiedniej wydajności. Jeśli myślimy więc na poważnie o graniu w DX11, warto dysponować budżetem przynajmniej 700-1000 złotych do wydania na wydajną kartę graficzną.

Wielordzeniowy procesor: do płynnego odtwarzania gier DirectX 11 potrzebny jest wydajny procesor, bo przy słabym układzie nawet najlepsza karta graficzna nie będzie mogła rozwinąć swojej pełnej szybkości. Dlatego w komputerze powinien być przynajmniej dwurdzeniowy procesor AMD Athlon II, Phenom II, lub Intel Core i3. i5, lub i7.

Polecamy w wydaniu internetowym komputerswiat.pl: Który antywirus najmniej obciąża Windows?

Obraz
Źródło artykułu:Komputer Świat
Wybrane dla Ciebie
Komentarze (10)