DirectX 11 - omówienie DX 11

DirectX 11 - omówienie DX 11

Autor: Mateusz Miciński

Opublikowano: 3/18/2009, 12:00 AM

Liczba odsłon: 37038

Wiele źródeł podaje różne wersje informacji. Jedni twierdzą, że nowa biblioteka Microsoft DirectX 11 będzie kompatybilna z kartami graficznymi obsługującymi sprzętowo poprzednią wersję, zaś inni uważają, że nie będzie to możliwe, i jedynie układy GPU wyprodukowane w procesie technologiczny 45nm podołają wymaganiom DX 11. Jak jednak będzie naprawdę? Przekonamy się zapewne w najbliższym czasie. Ale już teraz możemy się przyjrzeć nowej wersji, która nadal jest opracowywana w laboratoriach Microsoftu.

Zaplanowana premiera na koniec roku 2009 bibliotek DirectX 11, przyniesie wiele nowości. Nowy zestaw instrukcji DX zostanie także zintegrowany z nadchodzącym systemem Windows 7, ale najprawdopodobniej zostanie także wydany do Windows Vista. DirectX 11 to przede wszystkim zaawansowany sterownik, który przeobrazi naszą kartę graficzną, w kolejny, równoległy procesor, wspomagający jednostkę CPU.

Moc drzemie w DirectX 11

Zmiany, jakich można się spodziewać w DirectX 11, można śmiało nazwać rewolucją. Nowości zapewne spowodują ogromne przetasowania na rynku grafik. Otóż DX 11 wymagać będzie obecności sprzętowych modułów shadera powłoki, teselatora oraz shadera dziedziny. Microsoft także zapowiedział, że znaczącej modyfikacji ulegnie przetwarzanie wielopotokowe.

Poniższe zestawienie zawiera podsumowanie zmian i nowości wprowadzonych do DirectX 11:

  • lepsze przetwarzania wielopotokowe,
  • sprzętowo realizowany etap teselacji,
  • shader powłoki, dziedziny, obliczeniowy,
  • lepsza kompresja tekstur,
  • nowy model cieniowania Shader Model 5.0.

Super wydajne GPU oraz CPU

Na rynku dominują procesory wielordzeniowe oraz karty graficzne pracujące w systemach SLI i CrossFire. Niestety znaczna większość gier nie obsługuje potencjału drzemiącego w wielordzeniowych CPU oraz GPU. Sytuacja nieco, ale tylko nieco lepiej wygląda w przypadku systemów dwóch bądź więcej połączonych układów graficznych. Choć trzeba przyznać od razu, że to tylko pozory. Podziałem operacji generowania obrazu co prawda zajmuje się sterownik, ale jego zadanie polega jedynie na naprzemiennym zlecaniu generowania klatek animacji raz jednej karcie, raz drugiej. Zastosowanie więc dwóch układów graficznych mija się z celem. Co innego, gdyby przykładowo w jednym czasie jedna karta zajmowała się generowaniem postaci i samochodów w grze, a druga scenografią. W takiej sytuacji wydajność układu wzrosłaby diametralnie. Jeszcze lepszy rezultat można by osiągnąć, wykorzystując skuteczniej procesory wielordzeniowe. Każdy osobny rdzeń równocześnie zaangażowany byłby w generowanie scen 3D, a mianowicie oba rdzenie generują parametry obrazu, pierwszy przesyła je do układu graficznego, który zaś wytwarza finalny obraz, w tym samym jednak czasie dla GPU czekają obliczenia powstałe w drugim rdzeniu. Taki podział równoczesnej pracy podzespołów komputera z wyprzedzeniem obliczeń podniósłby wydajność komputera, a także przyczyniłby się do tworzenia coraz bardziej realistycznych gier.

DirectX 11 myśli za producentów gier

Microsoft tworząc najnowszą wersję bibliotek wykonał sporo roboty za producentów gier. Dzięki DX 11 gry będą mogły być przetwarzane w sposób opisany w powyższym scenariuszu. Oczywiście sytuacja nie jest tak różowa jak brzmi. Bowiem twórcy najnowszych bibliotek kładąc ogromny nacisk na wielopotokowość, znacznie zmodyfikowali sterownik oraz graficzny interfejs API. Dzięki nim twórcy gier w dość prosty sposób będą mogli dopasować swoje gry do możliwości drzemiących w wielordzeniowych jednostkach.

Shader, teselacja, czyli rendering

Microsoft postanowił wprowadzić do DX 11 trzy nowe etapy realizowane sprzętowo, a mianowicie:

  • shader powłoki (ang. hull shader),
  • shader dziedziny (ang. domain shader),
  • teselator (ang. tessellator).

Pierwszy z nich pozwala na stworzenie bardziej realistycznych przedmiotów takich jak szklanki, kule, owoce, czyli kształty sferyczne i zaokrąglone. Drugi zaś umożliwia (albo lepiej, gwarantuje) jednorazowe generowanie całego przedmiotu, czyli dokładniej mówiąc, karta graficzna generuje obraz samochodu, jednak po chwili został on uszkodzony w wirtualnym świecie, zatem karta graficzna uaktualnia te fragmenty pojazdu, które uległy zmianom, a nie generuje obiekt od nowa. Ostatni element, czyli teselator, zajmuje się matematycznym podzieleniem obiektów sceny 3D na ogromną liczbę trójkątów. Z im większej liczby obraz składa się z takich trójkątów, tym scena jest lepiej odwzorowana.

Fizyka, czyli umysł

Kolejną nowością, która znajdzie się w DirectX 11 jest shader obliczeniowy, który nie jest bezpośrednio wykorzystywany w generowaniu obrazu. Shader obliczeniowy będzie odpowiedzialny za szeroko pojętą fizykę zjawisk. Za pomocą niego będą odzwierciedlane między innymi zachowania:

  • interakcji przedmiotów,
  • trajektorii ruchu,
  • eksplozji, dymu,
  • cieczy,
  • tkanin i ubrań,
  • ciał miękkich.

Prawdopodobnie także DX 11 będzie wspomagał algorytmy sztucznej inteligencji, określające zachowanie postaci w grach. Z dostępnych informacji wynika także, że shader obliczeniowy wraz z procesorem CPU będzie mógł wspomagać programy naukowo-inżynierskie.

Co jeszcze nowego?

To nie wszystkie nowości zapowiedziane w DirectX 11. Gigant z Redmond postanowił także wprowadzić dwa nowe formaty kompresji tekstur - BC6 oraz BC7. Pierwszy znacząco poprawia jakość wyświetlanego obrazu HDR (ang. High Dynamic Range) bez zauważalnego spadku szybkości generowania. Drugi zaś posiada znacznie szybszy algorytm kompresji zwykłych (czyli Low Dynamic Range) tekstur, zachowując ich wysoką jakość. Wraz z DX 11 pojawi się także nowy model cieniowania Shader Model 5.0, który w znacznym stopniu ułatwi pracę programistom, dzięki zastosowaniu obiektowości. Mówiąc jaśniej, twórcy gier za pomocą Shader Model 5.0 będą mogli zaimplementować w grach bardziej realistyczną grafikę.

Czy już czas na zmiany?

Jedno jest pewne, DirectX 11 pojawi się w dniu premiery systemu Windows 7, choć już w wersjach testowych wspomnianego systemu można znaleźć informację o obecności najnowszej wersji bibliotek. Co do dnia premiery edycji dla systemu Windows Vista, próżno szukać pewnych informacji. Microsoft jednak zapowiedział, że wszystkie gry napisane pod DX 10 oraz 10.1 będą prawidłowo działać w najnowszym środowisku graficznym.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia