DirectX 12 – co gracz musi wiedzieć?
DirectX to zestaw narzędzi (API / interfejs), jaki wykorzystują programiści do tworzenia gier i aplikacji. W praktyce oznacza to, że jeśli dana gra jest oznaczona jako zgodna z DirectX to jest także zgodna z określonym sprzętem i systemem operacyjnym.
Skąd się wziął DirectX 12?
Powód biznesowy: W aktualnej sytuacji wielu twórców przygotowuje gry z myślą o co najmniej jednej konsoli i PC. Przygotowywanie gier na konsole znacząco różni się z powodu wykorzystywanego interfejsu, który na konsolach o stałej specyfikacji ma inną budowę niż na komputerach, które mogą mieć niezliczoną ilość konfiguracji. API dla konsol jest dobrze znane przez twórców, a przy tym pozwala wykorzystać maksimum możliwości ich podzespołów. Z kolei API dla PC musi umożliwiać działanie gry na sprzęcie o różnej mocy i możliwościach. W warunkach konsol poprzedniej generacji każda z platform miała diametralnie inną architekturę i ten stan musiał trwać. Jednak teraz, gdy Xbox One wykorzystuje technologie znajdujące zastosowanie także w PC, można było ujednolicić wiele elementów tych programistycznych narzędzi. W efekcie gry mogą być tworzone szybciej, bo przynajmniej dwie platformy (Xbox One i PC) korzystają z tego samego API.
Okoliczności chronologicznie: w 2013 roku firma AMD zaprezentowała Mantle API, które udostępniono wielu deweloperom gier. DICE i Firaxis chwaliły to rozwiązanie, zwłaszcza że pozwalały im obejść ograniczenia "innych" API. W marcu 2014 roku Microsoft zapowiedział DirectX 12, a w 2015 roku firma AMD zakończyła rozwój Mantle rekomendując swoim partnerom korzystanie z DirectX 12 lub Vulkan API, z czego to ostatnie powstało na bazie Mantle właśnie i jest rozwijane nie przez jedną firmę, ale przez całe konsorcjum firm (Khronos Group).
Co daje DirectX 12?
W teorii powinno lepszą optymalizację gier i bogatsze gry, ale to od deweloperów gier zależy wykorzystanie tych możliwości. Nowych funkcji DirectX 12 jest wiele, ale nie wszystkie z nich są zawsze w użyciu.
Oto 3 najważniejsze zalety DirectX 12 dla użytkownika:
- Niższe obciążenie procesora, czyli wyższa wydajność i/lub bogatsza grafika.
- Lepsza obsługa procesorów wielordzeniowych.
- Działanie gry mniej zależne od sterowników, a bardziej od dewelopera gry. Niezależność od sterowników powinna przełożyć się na mniejszą zależność od intencji firm sprzętowych.
Jakie gry są zgodne DirectX 12?
Aktualnie dostępne gry z DirectX 12: Ashes of the Singularity, Gears of War Ultimate Edition, Hitman, Quantum Break, Rise of the Tomb Raider.
Nadchodzące gry z zapowiedzianą obsługą DirectX 12: Ark: Survival Evolved, Deus Ex Mankind Divided, Forza Motorsport 6: APEX, Squad, Star Citizen, Total War Warhammer, Watch Dogs 2.
Gry z DirectX 12 dzielą się na 3 rodzaje:
- Gry z nienatywną obsługą DirectX 12, czyli tytuły, które dostosowano do nowego API na późniejszym etapie produkcji (lub już po wydaniu), co może dawać ograniczone efekty - np. Gears of War Ultimate Edition, Hitman, Rise of the Tomb Raider
- Gry z natywną obsługą DirectX 12, czyli tytuły, które pisano od podstaw pod nowe API (w tym dla Xbox One) - np. Quantum Break, Forza Motorsport 6: APEX
- Gry z natywną obsługą DirectX 12, ale zaimplementowanym w celach testowych wsparciem DirectX 11 - taką grą jest Ashes of the Singularity, która służyła także do testów silnika Oxide Nitrous
Wymagania DirectX 12:
DirectX 12 jest obsługiwany wyłącznie w systemie Windows 10, podczas gdy DirectX 11 działa w systemach Windows Vista, 7, 8/8.1 i 10.
Aktualna lista kart graficznych zgodnych z DirectX 12:
AMD
- Wszystkie modele R9 i R7, w tym serie 200, 300, Nano, Fury, Pro Duo
- Wszystkie modele z serii HD 8000 od HD 8570 w górę oraz cała seria HD 8000M
- Wszystkie modele z serii HD 7000 i HD 7000M od HD 7730/7730M w górę
- Wszystkie zintegrowane w procesorach AMD serii A/E-7000 (także PRO)
- Wszystkie zintegrowane w procesorach AMD Micro
- A także zintegrowane w procesorach: AMD E1-6010, E2-6110, A4-6210, A6-6310, A8-6410
Intel
- Wszystkie zintegrowane w procesorach Intel Core serii 4000-6000
- Wszystkie zintegrowane w procesorach Intel Pentium serii G4000
- Wszystkie zintegrowane w procesorach Intel Celeron serii 3900 i 3800
Nvidia
- Wszystkie modele z serii Titan
- Wszystkie modele z serii 900-400
W praktyce jest to sprzęt, który wchodził do sprzedaży od 2 do nawet 6 lat temu.
Jaki sprzęt jest wydajniejszy w DirectX 12?
Przede wszystkim nie każdy sprzęt zgodny z DirectX 12 obsługuje go w takim samym stopniu, a także nie każdy sprzęt zapewni w warunkach DirectX 12 wyższą wydajność niż w DirectX 11. Zgodność z DirectX 12 to informacja tylko o tym, że dany sprzęt może uruchomić grę wykorzystującą tę technologię.
Na rynku jest już 5 gier DirectX 12 i niezależne testy w mediach pozwalają wysnuć następujące wnioski:
- Uruchomienie trybu DirectX 12 ZAWSZE pozytywnie wpływa na wydajność procesorów
- Uruchomienie trybu DirectX 12 jak dotąd nie pozwoliło uzyskać ładniejszej grafiki, co nie znaczy, że nowe API tego nie umożliwia (jest jeszcze za wcześnie by to ocenić)
- W grach natywnie obsługujących DirectX 12 aktualnie szybsze są karty graficzne Radeon
- W grach nienatywnie obsługujących DirectX 12 sytuacja jest zmienna ze wskazaniem na karty GeForce
- Aktualnie DirectX 12 nie daje żadnych korzyści użytkownikom kart GeForce. W trybie DirectX 11 wydajność jest porównywalna
- Korzyści z DirectX 12 dla użytkowników kart Radeon mogą być małe lub większe, ale prawie zawsze są
Popularne mity o DirectX 12
- MIT 1: Każdy sprzęt zgodny z DirectX 12 będzie szybszy od niezgodnego - w grach natywnie przygotowanych pod DirectX 12 (w tym tych przenoszonych z konsol Xbox One) porównywalny wydajnościowo sprzęt może być szybszy. W grach nienatywnych wszystko zależy od poziomu implementacji funkcji DirectX 12. Poziom wzrostu zależy również od rodzaju sprzętu - karty Radeon w obecnej sytuacji zyskują najwięcej.
- MIT 2: Gra w trybie DirectX 12 będzie działać szybciej niż w trybie DirectX 11 - tak, ale pod pewnymi warunkami. Po pierwsze gra musi mieć poprawną implementację DirectX 12, po drugie gracz musi mieć odpowiedni sprzęt, a po trzecie scena musi oferować taką samą ilość detali. Nowe API daje możliwość kilku-kilkunastokrotnie zwiększyć liczbę wywołań ("draw calls") do karty graficznej względem DirectX 11, co deweloperzy chętnie mogą chcieć zagospodarować nowymi efektami i elementami sceny. Wzrost liczby klatek na sekundę może być zatem skompensowany szczegółowością lub jakością grafiki. Użytkownicy bardzo mocnych procesorów odczują też mniejszy wzrost niż użytkownicy słabszych jednostek.
- MIT 3: Gra w trybie DirectX 12 będzie zawsze ładniejsza niż w trybie DirectX 11 - taka możliwość istnieje, ale wszystko jest w rękach deweloperów gier. Jesteśmy dopiero na początku rozwoju gier z DirectX 12, a gier natywnie przygotowanych pod to API nikt nie sprawdzał w starszym DirectX 11.
- MIT 4: DirectX 12 nie daje wzrostu wydajności - niezależne testy pokazują, że wzrost wydajności zależy od sprzętu i implementacji technologii w grze. Historia gier DirectX 12 dopiero się zaczęła, ale już teraz widać, że nie każdy sprzęt zgodny z DirectX 12 daje takie same efekty. Radeony, które bazują na tej samej architekturze, co konsole, w grach natywnych dostają duży wzrost wydajności także dzięki obsłudze asynchronicznych obliczeń, które w konsolach odgrywają dużą rolę. W grach nienatywnych wzrost nie zawsze jest widoczny, ale nawet w nich znikają spowolnienia w miejscach limitowanych do tej pory przez procesor. W grach dzięki DirectX 12 tańsze wielordzeniowe (4 i więcej wątków) procesory doskakują często do poziomu drogich modeli.