Ashes of the Singularity to najgłośniejsza pod względem technologicznym z nadchodzących gier. Zastosowano w niej dwie metody wyświetlania obrazu, z których jedna wykorzystuje DirectX 12, a druga – DirectX 11. Gra studia Oxide Games jest jeszcze w fazie beta i dostępna wyłącznie dla tych, którzy dołożyli się do kampanii finansowania na Kickstarterze. Tymczasem udostępniono nam benchmark, który podobno wiernie reprezentuje prawdziwą rozgrywkę. Sprawdziliśmy, jak różni się wydajność w trybach DirectX 11 i DirectX 12.
Spis treści
- Ashes of the Singularity beta – test kart graficznych i procesorów w benchmarku DirectX 12
- Asynchroniczne obliczenia (asynchronous compute)
- Platforma testowa
- Wyniki procesorów (Nvidia GeForce GTX 980 Ti)
- Wyniki procesorów (AMD Radeon R9 Fury X)
- Wyniki procesorów (Nvidia GeForce GTX 970)
- Wyniki procesorów (AMD Radeon R9 390)
- Wyniki procesorów (Nvidia GeForce GTX 960)
- Wyniki procesorów (AMD Radeon R9 380)
- Wyniki kart graficznych (Intel Core i7-6700K OC)
- Wyniki kart graficznych (Intel Core i7-6700K)
- Wyniki kart graficznych (Intel Core i5-6600K)
- Wyniki kart graficznych (Intel Core i5-6400)
- Wyniki kart graficznych (Intel Core i3-6100)
- Wyniki kart graficznych (Intel Celeron G3920)
- Wyniki GeForce GTX 970 (DX11, DX12, obliczenia asynchroniczne)
- Wyniki Radeon R9 390 (DX11, DX12, obliczenia asynchroniczne)
Obietnica DirectX 12
Powstałe w ostatnich latach niskopoziomowe interfejsy programowania kart graficznych (Mantle, DirectX 12, Vulkan) obiecują programistom większą kontrolę nad sprzętem. Ma z tego wynikać szereg zalet. Dobrze wykorzystane, mogą między innymi pozwolić na lepsze spożytkowanie mocy obliczeniowej kart graficznych, szczególnie w konfiguracjach z mało wydajnymi procesorami.
Zmniejszenie wpływu wydajności CPU na płynność animacji to jedna z najbardziej kuszących obietnic, jakie składa DirectX 12. AMD w jednej z zeszłorocznych prezentacji pokazało taki oto diagram:
Wtedy nie powiedziano, jakiej gry dotyczy – teraz wiemy, że chodziło o Ashes of the Singularity. Wykres pokazuje czas, jaki spędziły poszczególne wątki procesora AMD FX na przygotowywaniu jednej klatki obrazu. Na fioletowo zaznaczono kod gry, czyli część programu odpowiedzialną za samą rozgrywkę, przetwarzanie danych z myszy i klawiatury, komunikację sieciową, symulację sztucznej inteligencji i tym podobne, na czerwono – czas spędzony na przetwarzaniu poleceń DirectX (część należącą do API i systemu operacyjnego), na niebiesko – pracę wykonaną dla sterownika karty graficznej, a na zielono – wyświetlanie obrazu na monitorze.
Dzięki zastosowaniu DirectX 12 zmniejszyła się całkowita ilość obliczeń potrzebnych do funkcjonowania sterownika graficznego, a pozostałą część rozłożono na większą liczbę wątków. Dzięki temu zasoby obliczeniowe procesora zostały wykorzystane w większym stopniu, a wyświetlanie obrazu trwało znacznie krócej.
Podobny wykres – choć dotyczący innego programu, czterowątkowego procesora Intela i zintegrowanego układu graficznego Iris Pro – przedstawił Microsoft. Oczywiście, pokazywane są wybrane przypadki, w których zysk z użycia nowego API jest szczególnie duży. Benchmark Ashes of the Singularity zapewnia pierwszą okazję, żeby sprawdzić, jak jest w praktyce.
O czym trzeba pamiętać, czytając ten test?
To jest benchmark wersji beta pewnej gry
Po pierwsze, mamy do czynienia z wersją beta. Jak ostrzega nas ekran startowy gry, ta beta spali nam komputer i zabije psa:

Sami pracownicy studia Oxide twierdzą, że ich implementacja DirectX 12 jest tylko jedną z wielu i jest daleka od doskonałości. Wyciąganie na jej podstawie wniosków o DirectX 12 lub w ogóle niskopoziomowych API byłoby skrajnie lekkomyślne.
Do tego Ashes of Singularity, strategia czasu rzeczywistego, nie jest przedstawicielem najbardziej popularnych gatunków gier. RTS-y nie kojarzą się z przełomami technicznymi w dziedzinie grafiki komputerowej i zwykle są cenione za aspekty inne niż estetyczne. Wyświetlanie mnóstwa pojazdów i pocisków nie jest typową pracą, jaką wykonują karty graficzne w trakcie gry, a tylko jednym z przykładów. Dlatego przekładanie obserwacji z Ashes... na inne gry byłoby bardzo pochopne. Jak twierdzi studio Oxide, benchmark wiernie odzwierciedla to, co zobaczymy na ekranie podczas zwykłej rozgrywki, ale i tak należy go traktować z rezerwą.
Testujemy ograniczoną liczbę konfiguracji
Po drugie, interakcja gry, API, sterownika graficznego i sprzętu to bardzo rozległy temat. Peceta można złożyć z tysięcy kombinacji podzespołów, a gotowej maszynie wydać polecenia (programy) na kolejne tysiące sposobów. Benchmark Ashes of Singularity prezentuje bardzo wiele informacji, nie tylko wyniki cząstkowe, pokazujące wydajność w kolejnych kilkusekundowych ujęciach pola walki. W trybie DirectX 12 może on zmierzyć czas spędzony na kolejnych zadaniach obliczeniowych potrzebnych do złożenia gotowej klatki obrazu. To pozwala rozdzielić przypadki, kiedy oczekujemy głównie na zakończenie przetwarzania czegoś przez procesor i kiedy czekamy głównie na kartę graficzną. To trochę za mało, by jednoznacznie określić, że to na przykład silnik symulacyjny gry albo sterownik graficzny najbardziej ogranicza wydajność, ale pozwala wyciągnąć pewne wnioski.
Niestety, nie da się przedstawić ogromu danych generowanych przez benchmark, a ich interpretacja byłaby problematyczna. Dlatego skupiliśmy się na sprawdzeniu, czy niskopoziomowe API spełniły wspomnianą obietnicę, a zatem czy DirectX 12 rzeczywiście przynosi spodziewane korzyści w tych konfiguracjach, które najbardziej ich potrzebują.
- Ashes of the Singularity beta – test kart graficznych i procesorów w benchmarku DirectX 12
- Asynchroniczne obliczenia (asynchronous compute)
- Platforma testowa
- Wyniki procesorów (Nvidia GeForce GTX 980 Ti)
- Wyniki procesorów (AMD Radeon R9 Fury X)
- Wyniki procesorów (Nvidia GeForce GTX 970)
- Wyniki procesorów (AMD Radeon R9 390)
- Wyniki procesorów (Nvidia GeForce GTX 960)
- Wyniki procesorów (AMD Radeon R9 380)
- Wyniki kart graficznych (Intel Core i7-6700K OC)
- Wyniki kart graficznych (Intel Core i7-6700K)
- Wyniki kart graficznych (Intel Core i5-6600K)
- Wyniki kart graficznych (Intel Core i5-6400)
- Wyniki kart graficznych (Intel Core i3-6100)
- Wyniki kart graficznych (Intel Celeron G3920)
- Wyniki GeForce GTX 970 (DX11, DX12, obliczenia asynchroniczne)
- Wyniki Radeon R9 390 (DX11, DX12, obliczenia asynchroniczne)




Ale czego oczekiwać więcej po becie?
Jednego można być już pewnym: DX12 nie pomoże procesorom AMD FX. Wypadały gorzej od Core i3 i lepiej już nie będzie
Walić psa. Ważne żeby kota nie ruszyło.