Teoria wygląda pięknie
Chyba wszyscy nieco szerzej zainteresowani tematem gier komputerowych oraz kart graficznych mieli okazję zobaczyć w swoim czasie jedną lub nawet kilka zapowiedzi DirectX 12. Microsoft obiecywał, zapewniał, a nawet pokazywał zalety nowego API przy praktycznie każdej nadarzającej się okazji. Rzeczywistość jednak nie okazała się łaskawa dla nowego API. Przynajmniej jeszcze nie teraz.
Zbliżamy się do połowy roku, a gier, które wspierają DirectX 12 na rynku jest raptem kilka. Nie mówiąc już o takich, które zostały stworzone głównie z myślą o nim...dwie, góra trzy jeśli liczyć całkowite klopsy optymalizacyjne pokroju Quantum Break. Jak zwykle w takich przypadkach teoria (lub jak kto woli marketing) mocno wyprzedza rzeczywistość.
Microsoft zaślepiony chęcią wymuszenia na graczach szybkiej przesiadki z Windows 7 na Windows 10 zupełnie nie zważa(ł) na fakt, że porządna implementacja nowego API wymaga czasu. Czasu, którego twórcom pierwszych gier wspierających DirectX 12 wyraźnie zabrakło. W konsekwencji efekt często bywa(ł) odwrotny od zamierzonego.
Nikt jednak (a w szczególności nie Microsoft) nie zwracał na to uwagi, bowiem machina marketingowa ruszyła, Windows 10 zadebiutował na rynku już jakiś czas temu. Jak powszechnie wiadomo nie został przyjety zbyt ciepło, szczególnie przez świadomych użytkowników, którzy cenią swoją prywatność. W rezultacie wiele osób wstrzymało się z aktualizacją systemu i to nawet pomimo faktu, że jest ona darmowa (dla posiadaczy oryginalnej kopii Windowsa 7/8).
Jak powszechnie wiadomo gracze stanowią spory kawałek rynku komputerowego więc aby ich zmotywować (zmusić) do przesiadki na nowy system Microsoft postanowił zrobić coś, co wcześniej firmie się nie udało - ocno postawić na znane produkcje, dotychczas dostępne wyłącznie na konsole Xbox One. Nic bowiem tak nie przyciąga graczy jak popularne tytuły.
I tak na pecety zawitał już Quantum Break, Gears of War: Ultimate Edition, Forza Motorsport 6: Apex oraz Killer Instinct, a pojawienie się kolejnych, dużych tytułów znanych z konsoli Microsoftu jest już tylko kwestią czasu. Wydawałoby się, że to świetnia wiadomość dla graczy... i po części taka jest, ale z pewnością nie w całości.
Problemów jest przynajmniej kilka, ale najważniejsze to z pewnością jakość (optymalizacja) wspomnianych konwersji oraz fakt, że są one dostępne jedynie w sklepie Windows. Nie mówiąc już o ich cenach czy ograniczeniach UWP (Universal Windows Platform). Przy okazji naszych testów Quantum Break wspomnieliśmy, że tak kiepskego portu to już dawno nie widzieliśmy.
I niestety jest to cecha wspólna prawie wszystkich gier wydanych wyłącznie dla Windows 10. Wyjątkiem od tej reguły jest Forza Motorsport 6: Apex, która pod tym względem prezentuje całkiem przyzwoity poziom. Należy jednak pamiętać, że tytuł ten był prezentowany w formie dema technologicznego DirectX 12 już w 2014 roku, a więc twórcy mieli wystarczająco czasu, aby go dopracować przed wydaniem.
Oczywiście Microsoft nie jest jedyną firmą, która wydała gry wspierające DirectX 12. W ostatnich kilku miesiącach pojawiły się tytuły, które można nazwać przejściowymi, a więc takie umożliwiają uruchomienie pod nowym API jak i "starym" (DX 11). Mowa tutaj choćby o Rise of the Tomb Raider, Hitman czy Ashes of the Singularity.
Niestety jak się okazało taka kombinacja często przynosi więcej problemów niż korzyści. "Doklejenie" obsługi DirectX 12 okazało się chybionym pomysłem. Nie tylko nie dało to żadnych korzyści z punktu widzenia optymalizacji / wydajności, ale czasami wręcz ją obniżało (Tomb Raider i Htiman). Nie wspominając już, że np. w RoTR po włączeniu obsługi nowego API przestaje działać SLI / CrossFire.
Jedynym pozytywnym przykładem obsługi zarówno DirectX 11 jak i 12 w jednym tytule jest Ashes of the Singularity. Problem tej produkcji polega jednak na tym, że bardziej znana i rozpoznawana jest jako benchmark niż jako dobra gra. W gwoli ścisłości należy jednak dodać, że jako ten pierwszy sprawdza się całkiem dobrze.
Platforma testowa
Sterowniki, system operacyjny i programy:
- Windows 10 Enterprise 64-bit
- Program do mierzenia kl./s - Fraps, Action!, PresentMon
- GeForce Game Ready Driver 368.13/16
- Radeon Software Crimson Edition 16.5.3 Hotfix
DirectX 11 vs DirectX 12
Jak już wcześniej wspomnieliśmy, w grach, które umożliwiają uruchomienie zarówno w trybie DirectX 11 jak DirectX 12 ten drugi zazwyczaj nie przynosi korzyści. Czasem nawet obniża wydajność. Najlepiej zilustrować to na przykładzie Rise of the Tomb Raider. Odwrotną sytuację można natomiast zaobserwować w Ashes of the Singularity.
Ustawienia testowe
Rise of the Tomb Raider (DirectX 11) - 1920x1080, Ustawienia bardzo wysokie, FXAA
| nazwa karty | średnia liczba kl./s minimalna liczba kl./s |
| GeForce GTX 1080 (1607/1250) | 112 104 |
| GeForce GTX 980 Ti (1000/1750) | 86 79 |
| GeForce GTX 980 (1126/1750) | 64 55 |
| AMD Radeon R9 Fury X(1050/500) | 60 52 |
| GeForce GTX 970 (1051/1750) | 59 52 |
| AMD Radeon R9 390X (1050/1500) | 56 50 |
| AMD Radeon R9 290X (1000/1250) | 51 46 |
Rise of the Tomb Raider (DirectX 12) - 1920x1080, Ustawienia bardzo wysokie, FXAA
| nazwa karty | średnia liczba kl./s minimalna liczba kl./s |
| GeForce GTX 1080 (1607/1250) | 114 106 |
| GeForce GTX 980 Ti (1000/1750) | 88 80 |
| GeForce GTX 980 (1126/1750) | 65 55 |
| GeForce GTX 970 (1051/1750) | 60 52 |
| AMD Radeon R9 Fury X(1050/500) | 53 49 |
| AMD Radeon R9 390X (1050/1500) | 47 41 |
| AMD Radeon R9 290X (1000/1250) | 41 35 |
Pomijając już fakt, że Rise of the Tomb Raider wyraźnie faworyzuje karty zielonych można wyraźnie zaobserwować, że nawet w przypadku tych kart zysk z uruchomienia gry w trybie DirectX 12 jest marginalny. Jeszcze gorzej to wygląda dla kart AMD. Zamiast zyskać przy przejściu na DX 12 wszystkie karty tego producenta straciły całkiem sporo względem DX 11.
Ustawienia testowe
W przypadku Ashes of the Singularity sytuacja wygląda dokładnie odwrotnie niż w przypadku Rise of the Tomb Raider. Karty Nvidii nie zyskują po przejściu na DirectX 12 (GTX 980 Ti nawet minimalnie stracił), natomiast modele AMD uzyskały wyraźnie lepsze wyniki dla tej wersji API. Zapowiada się więc, że logo producenta na ekranie startowym nadal będzie kluczowe dla wydajności kart.
Ustawienia testowe
3840x2160, Ustawienia ultra
| nazwa karty | średnia liczba kl./s minimalna liczba kl./s |
| GeForce GTX 1080 (1607/1250) | 60 56 |
| GeForce GTX 980 Ti (1000/1750) | 50 41 |
| AMD Radeon R9 390X (1050/1500) | 43 37 |
| GeForce GTX 980 (1126/1750) | 36 30 |
| AMD Radeon R9 290X (1000/1250) | 33 28 |
Forza Motorsport 6: Apex to przykład gry, która została napisana wyłącznie w oparciu o biblioteki DirectX 12. I widać, że producent miał czas, aby produkcję dopracować. Już nawet pomijając powyższe rezultaty tytuł umożliwia włączenie tzw. dynamicznych ustawień, które płynnie zmieniają poziom detali w trakcie zabawy aby zachować ustaloną ilość kl/s. Dodać należy, że działa to całkiem nieźle.
Warto odnotować również, że Forza jest produkcją neutralną, a więc nie była wspierana na etapie produkcyjnym ani przez Nvidię, ani przez AMD. Patrząc na wyniki, takie rozwiązanie jest zdecydowani najkorzystyniejsze z punktu widzenia wszystkich graczy (i nie jest to odosobniony przypadek). Nic tylko czekać na pełnoprawną Forzę, na PC.
Możliwością są, tylko trzeba je wykorzystać
Możliwości są duże
DirectX 12 to z pewnością spory skok technologiczny w stosunku do swojego poprzednika. Jednak minie jeszcze trochę czasu nim twórcy gier w pełni wykorzystają możliwości nowego API. Pomijając niskopoziomowy dostęp do GPU, DirectX 12 oferuje jeszcze wiele mniejszych i większych nowinek, na których implementację z niecierpliwością czekamy.
Jedną z ciekawszych funkcji jest możliwość łączenie kart graficznych Nvidii i AMD w multiGPU i wykorzystania potencjału takiego duetu. Pierwsza taka implementacja miała już miejsce - w Ashes of the Singularity. Jak się okazało działa to całkiem nieźle. Jednak na obecną chwilę jednak z punktu widzenia przeciętnego gracza DirectX 12 nie zmienia nic.
Mity, o których należy zapomnieć
Od pewnego czasu panuje przekonanie, że DirectX 12 na tyle odciąży procesor, że w zasadzie wystarczy dowolna jednostka do gier stworzonych z myślą o tym API. Pomimo, że zdarzają się sytuacje kiedy to np. i3 w DX 12 jest szybsze od i5 w DX 11 to w lwiej części testowanych produkcji taka sytuacja nie ma miejsca.
Do większości gier, nawet tych tworzonych pod kątem Directx 12 wskazany jest relatywnie szybki, 4-rdzeniowy procesor (i5). I w tej kwestii raczej nic się nie zmieni. Nowe API nie jest również lekarstwem na problemy techniczne graczy, tutaj również (dużych) zmian nie należy się spodziewać, bowiem wszystko nadal jest w rękach programistów.
Jeśli nie wiadomo, o co chodzi....
DirectX 12 może i obecnie nie zmienia za wiele obecnie z punktu widzenia graczy, ale z pewnością pomógł AMD oraz oczywiście Microsoftowi. Pierwsza firma dzięki DX 12 w końcu pozbyła się starego jak świat problemu dotyczącego narzutu sterownika, przez co wydajność kart tego producenta mocno kulała w połączeniu ze słabszymi procesorami.
Microsoft natomiast pod sloganem "DirectX 12 to przyszłość gier komputerowych" mocno zachęca (a nawet wymusza) graczy do przesiadki na nowy system operacyjny - Windows 10. Mamy tylko nadzieję, że z czasem na wprowadzeniu nowego API skorzystają wszyscy, a nie tylko te dwie wspomniane firmy.