DirectX 12 vs DirectX 11 vs Mantle - pierwsze testy wydajności

Jak sobie radzi nadchodzące API Microsoftu?

Paweł Maziarz
Microsoft DirectX 12 logo

Microsoft intensywnie pracuje nad interfejsem programowania DirectX 12, który udoskonali proces renderowania grafiki i pozwoli lepiej wykorzystać potencjał procesorów wielordzeniowych. Co prawda premiera interfejsu najprawdopodobniej nastąpi dopiero pod koniec roku (wraz z systemem operacyjnym Windows 10), lecz już teraz poznaliśmy jego próbkę możliwości – a trzeba przyznać, że całość wygląda bardzo obiecująco.

DirectX 12 ma być obsługiwany tylko przez system operacyjny Windows 10, który ma też korzystać z nowego modelu sterowników WDDM 2.0. Które karty graficzne są zgodne z nowym interfejsem? Oficjalnie potwierdzono zgodność dla modeli Radeon HD 7000 i Rx 200 bazujących na architekturze GCN 1.0/1.1/1.2 oraz GeForce 600, 700 i 900 bazujących na architekturach Kepler i Maxwell (1. i 2. generacja). W przypadku kart GeForce 400 i 500 z rdzeniami Fermi nowy DirectX nie jest jeszcze aktywny (choć ma być obsługiwany).

Microsoft DirectX 12 moc obliczeniowa CPU i GPU wykres
Nowy DirectX 12 to przede wszystkim lepsze wykorzystanie potencjału wielordzeniowych CPU

Serwis AnandTech przeprowadził przedpremierowe testy wydajności nowego API na przykładzie benchmarku Star Swarm – testu charakteryzującego się dużym obciążeniem procesora (wykorzystywanego też przy pierwszych prezentacjach Mantle API). Warto jednak zauważyć, że redaktorzy posłużyli się tutaj testową wersją systemu Windows 10 (Build 9926) i testowymi sterownikami graficznymi (GeForce 349.56 i Catalyst 15.200). Można zatem podejrzewać, iż po premierze całość zostanie bardziej dopracowana i będzie działać jeszcze lepiej niż teraz.

AMD Radeon R9 290X - DirectX Diagnostic Tool 12

Na potrzeby testów stworzono konfiguracje z następującymi procesorami Intela:

  • 2-rdzeniowym/4-wątkowym (odpowiednik Core i3),
  • 4-rdzeniowym/4-wątkowym (odpowiednik Core i5),
  • 6-rdzeniowym/12-wątkowym (odpowiednik wydajnych Core i7).

Do porównania wykorzystano też następujące karty graficzne:

  • AMD Radeon R7 260X (GCN 1.1),
  • AMD Radeon R9 285 (GCN 1.2),
  • AMD Radeon R9 290X (GCN 1.1),
  • Nvidia GeForce GTX 680 (Kepler),
  • Nvidia GeForce GTX 750 Ti (Maxwell 1. gen),
  • Nvidia GeForce GTX 980 (Maxwell 2. gen).

Ze względu na problemy z akceleratorami Radeon na bazie architektury GCN 1.0, redaktorzy postanowili nie wykorzystywać ich w testach. Karty Radeon przetestowano też w interfejsie programowania Mantle API autorstwa AMD.

DirectX 12 - wydajność skalowanie GPU
DirectX 12 - wydajność skalowanie GPU

Skalowanie kart graficznych wygląda bardzo interesująco. W przypadku modeli Radeon, animacja w trybie DirectX 11 działała bardzo wolno, natomiast przejście do DirectX 12 pozwoliło uzyskać znaczny wzrost wydajności – nadal jednak trochę mniejszy, aniżeli w przypadku korzystania z Mantle API. Karty GeForce w trybie DirectX 11 oferowały zauważalnie wyższą wydajność, ale nowy DirectX 12 również pozwolił tutaj na znaczny wzrost płynności animacji.

DirectX 12 - wydajność skalowanie CPU
DirectX 12 - wydajność skalowanie CPU

Skalowanie procesora też wygląda bardzo obiecująco. DirectX 12 na każdym procesorze zaoferował znaczny wzrost osiągów. Co ciekawe, Mantle tylko w przypadku modeli 4- i 6-rdzeniowych oferuje większą płynność animacji, natomiast w platformie z modelem 2-rdzeniowym większą płynność zaoferował już DirecxtX 12.

DirectX 12 - porównanie do Mantle API
DirectX 12 - porównanie do Mantle API

Warto jeszcze rzucić okiem na różnice w wydajności między DirectX 12 a Mantle API. O ile w platformie z procesorem 4-rdzeniowym nieznacznie wyższą wydajność oferuje Mantle API, to w platformie z układem 2-rdzeniowym wyższość przeważnie pokazuje DirectX 12 (im wydajniejsza karta tym wyższa ra). Można podejrzewać, że rozbieżności te wynikają z większego dopracowania interfejsu AMD – ten działa tylko w przypadku modeli bazujących na architekturze GCN i jest już w fazie finalnej. DirectX 12 jest jeszcze w fazie tworzenia i ma działać też z kartami Nvidii.

DirectX 12 - pobór mocy

DirectX 12 ma lepiej wykorzystywać potencjał procesorów wielordzeniowych – nie jest zatem tajemnicą, że cała platforma w takiej konfiguracji pobiera więcej energii elektrycznej (choć ta z Mantle API oferuje jeszcze wyższą wydajność i pobiera jeszcze więcej mocy).

Więcej informacji o DirectX 12 poznamy na początku marca na konferencji GDC 2015. Spragnionych wiedzy o nowym API odsyłamy do oryginalnego artykułu na AnandTech (w języku angielskim).

Źródło: AnandTech

Wybrane dla Ciebie
ZANIM WYJDZIESZ... NIE PRZEGAP TEGO, CO CZYTAJĄ INNI!