artykuły

Windows 10 kontra Windows 8.1 kontra Windows 7 – test wydajności

179 13 sierpnia 2015, 04:08 R. Stanisławski, A. Skałecki, M. Skrycki

WDDM 2.0 – nowa architektura sterowników

Począwszy od Windows Vista sterowniki urządzeń muszą być zbudowane w inny sposób niż poprzednio. Nową architekturę sterowników nazwano WDDM (Windows Display Driver Model) i z czasem (od Windows 8) stała się ona obowiązkowa. WDDM daje szereg korzyści, między innymi możliwość wirtualizacji pamięci GPU, możliwość zaawansowanego kolejkowania zadań dla GPU, restartowanie sterownika w razie wystąpienia błędu. Pierwsza wersja WDDM pozwoliła spożytkować możliwości techniczne procesorów graficznych ze zunifikowanymi jednostkami wykonawczymi. Kolejne wersje ułatwiały wykorzystanie kolejnych innowacji we współczesnych GPU.

Windows 10 wprowadza WDDM 2.0, architekturę sterowników graficznych niezbędną do udostępnienia programistom niskopoziomowej kontroli nad GPU, jaką zapewnia DirectX 12. Sterowniki kart graficznych do Windows 10 nie muszą być zgodne z WDDM 2.0, ale jeśli nie będą, to ze sprzętem nie będzie dało się „porozumieć” przez interfejs programowania DirectX 12. Wszyscy producenci GPU już udostępnili sterowniki WDDM 2.0 do tych kart graficznych, które obsługują API DX12.

DirectX 11 i DirectX 12 obok siebie

Na komputerach z DirectX 12 można dalej wykorzystywać starszy interfejs programowania. DX11 nie zostaje zastąpiony – DirectX 11.3 i DirectX 12 to dwa różne API, które będą istnieć obok siebie. DX12 daje twórcom gier większą kontrolę i zostawia w ich rękach większą część kodu. DX11 zapewnia wyższy poziom abstrakcji: więcej funkcji jest wbudowanych w samo API, więc kontrola programisty nad procesem renderowania jest znacznie mniejsza, ale programowanie jest łatwiejsze. Microsoft spodziewa się, że wielu twórców gier, szczególnie tych prostszych, będzie dalej korzystać z DX11.

Jaką funkcjonalność udostępnia DX12?

Jako interfejs programowania, nowy DirectX 12 ma ułatwiać wykorzystanie funkcji sprzętowych. DX12 pozwala używać wszystkich tych funkcji, które dało się wykorzystać w DX11, a do tego kilka nowych.

Bindless resources

To jedna z funkcji, które w ogóle pozwalają zmniejszyć narzut API na wydajność GPU. Umożliwia łatwe wielokrotne wykorzystanie tego samego zasobu (np. tekstury) w wielu procedurach. Bez bindless resources każdorazowe użycie danego zasobu wymaga „uwolnienia” go spod kontroli poprzedniej procedury albo zrobienia kopii, co wiąże się z nieproduktywnymi operacjami koniecznymi tylko ze względu na interfejs programowania.

API z bindless resources może udostępnić wielu wątkom i procedurom bardzo dużą pulę zasobów. Procesor graficzny musi mieć możliwość przechowywania kopców opisujących polecenia i zasoby wykorzystywane do właśnie przeprowadzanych obliczeń. Ponieważ różne architektury GPU mogą przechowywać więcej lub mniej takich danych, obsługę bindless resources podzielono na trzy poziomy (ang. tier). Poziom 1. nakłada duże ograniczenia na programistów i wymaga oszczędnego gospodarowania zasobami. Poziom 3. ma najmniej ograniczeń, a poziom 2. jest pośredni. Dokładny opis wszystkich trzech poziomów można znaleźć na stronie Microsoftu.

Obsługa bindless resources co najmniej na poziomie 1. jest wymagana do obsługi interfejsu programowania DirectX 12. Dodatkowe funkcje sprzętowe DirectX 12 zapewnia poziom 2. Największą swobodę w zarządzaniu zasobami przy renderowaniu oraz teoretycznie największą korzyść ze zmniejszonego narzutu API zapewnia poziom 3.

Które karty graficzne są kompatybilne z DirectX 12?

Kolejne wersje DirectX przez lata kojarzyły się z nowymi funkcjami sprzętowymi. Łatwo było określić, które karty graficzne są zgodne z którą wersją DX. Tymczasem DirectX 12 to przede wszystkim nowy sposób dostępu do sprzętu, a nowe funkcje sprzętowe są drugorzędne. Z tego powodu kompatybilnych z API DirectX 12 jest wiele procesorów graficznych zaprojektowanych na długo przed pierwszymi zapowiedziami i pracami nad DX12.

Uwaga: informacje w poniższej tabeli podajemy zgodnie ze swoją najlepszą wiedzą w dniu publikacji artykułu. Mogą się zmienić wraz z aktualizacjami sterowników graficznych i systemu Windows 10.

Architektura GPUAPI DirectX 12DirectX feature levelBindless resources
AMD TeraScaleRadeon HD 6000, APU Trinity, APU Richland - 11_0 -
AMD GCN 1.0Radeon HD 7000, R7 240, R7 250, R7 265, R9 270, R9 270X, R9 280, R9 280X Tak 11_1 poziom 3.
AMD GCN 1.1Radeon HD 7790, R9 260, R9 260X, R9 290, R9 290X, R9 295, APU Kaveri, Kabini, Temash, Beema, Mullins Tak 12_0 poziom 3.
AMD GCN 1.2Radeon R9 285, APU Carrizo Tak 12_0 poziom 3.
Nvidia TeslaGeForce GTX 200 - 11_0 -
Nvidia FermiGeForce GTX 400, GTX 500 Tak 11_0 poziom 1.
Nvidia KeplerGeForce GTX 600, GTX 700, GTX Titan Tak 11_0 poziom 2.
Nvidia Maxwell 1GeForce GTX 740, GTX 745, GTX 750, GTX 750 Ti Tak 11_0 poziom 2.
Nvidia Maxwell 2GeForce GTX 900, GTX Titan X Tak 12_1 poziom 2.
Intel Ivy BridgeCore 3. generacji - 11_1 -
Intel HaswellCore 4. generacji Tak 11_1 poziom 1.
Intel BroadwellCore 5. generacji, Core M Tak 11_1 poziom 1.
Intel Skylake Tak 12_0 poziom 2.

Wskaż myszą przypis lub kliknij na niego, aby zobaczyć listę kart graficznych i APU należących do danej architektury

Na zielono zaznaczyliśmy te rodziny GPU, które obsługują API DirectX 12 (niezależnie od różnych funkcji sprzętowych niekoniecznych do programowania w DX12). Większość korzyści z API DX12 będzie dostępna dla wszystkich tych układów graficznych. Również ci deweloperzy, których zachęci nowy interfejs programowania prawdopodobnie zdecydują się na wykorzystanie tych funkcji, które są dostępne nw największej liczbie różnych GPU. 

Trzeba pamiętać, że aby pojawiły się najbardziej oczekiwane korzyści z DX12, czyli zmniejszony narzut API i mniejsza zależność wydajności w grach od prędkości CPU, potrzebne są:

  • gra zaprogramowana w DirectX 12
  • karta graficzna obsługująca API DX12
  • system operacyjny Windows 10
  • sterownik WDDM 2.0.

Dodatkowo wykorzystanie sprzętowych nowości udostępnianych przez DX12, DX12.1 i DX11.3 (nowe formaty kompresji tekstur, zachowawcza rasteryzacja, trójwymiarowe strumieniowane tekstury i inne) wymaga zarówno wszystkich powyższych elementów, jak i karty graficznej z feature level 12_0 lub 12_1.

Strona:
  1. Windows 10 kontra Windows 8.1 kontra Windows 7 – test wydajności
  2. WDDM 2.0 i DirectX 12
  3. 3DMark – test sprawności API DX11 i DX12
  4. Platforma testowa
  5. Assassin's Creed: Unity
  6.     Assassin's Creed: Unity (Windows 7 kontra Windows 8.1 kontra Windows 10)
  7.     Assassin's Creed: Unity (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  8.     Assassin's Creed: Unity (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  9. ArmA III
  10.     ArmA III (Windows 7 kontra Windows 8.1 kontra Windows 10)
  11.     ArmA III (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  12.     ArmA III (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  13. Battlefield 4 MP
  14.     Battlefield 4 MP (Windows 7 kontra Windows 8.1 kontra Windows 10)
  15.     Battlefield 4 MP (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  16.     Battlefield 4 MP (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  17. Battlefield 4 SP
  18.     Battlefield 4 SP (Windows 7 kontra Windows 8.1 kontra Windows 10)
  19.     Battlefield 4 SP (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  20.     Battlefield 4 SP (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  21. Call of Duty: Advanced Warfare
  22.     Call of Duty: Advanced Warfare (Windows 7 kontra Windows 8.1 kontra Windows 10)
  23.     Call of Duty: Advanced Warfare (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  24.     Call of Duty: Advanced Warfare (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  25. Counter-Strike: Global Offensive
  26.     Counter-Strike: Global Offensive (Windows 7 kontra Windows 8.1 kontra Windows 10)
  27.     Counter-Strike: Global Offensive (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  28.     Counter-Strike: Global Offensive (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  29. Crysis 3
  30.     Crysis 3 (Windows 7 kontra Windows 8.1 kontra Windows 10)
  31.     Crysis 3 (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  32.     Crysis 3 (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  33. Dying Light
  34.     Dying Light (Windows 7 kontra Windows 8.1 kontra Windows 10)
  35.     Dying Light (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  36.     Dying Light (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  37. Far Cry 4
  38.     Far Cry 4 (Windows 7 kontra Windows 8.1 kontra Windows 10)
  39.     Far Cry 4 (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  40.     Far Cry 4 (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  41. GTA V
  42.     GTA V (Windows 7 kontra Windows 8.1 kontra Windows 10)
  43.     GTA V (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  44.     GTA V (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  45. Middle-earth: Shadow of Mordor
  46.     Middle-earth: Shadow of Mordor (Windows 7 kontra Windows 8.1 kontra Windows 10)
  47.     Middle-earth: Shadow of Mordor (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  48.     Middle-earth: Shadow of Mordor (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  49. Project CARS
  50.     Project CARS (Windows 7 kontra Windows 8.1 kontra Windows 10)
  51.     Project CARS (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  52.     Project CARS (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  53. Total War: Attila
  54.     Total War: Attila (Windows 7 kontra Windows 8.1 kontra Windows 10)
  55.     Total War: Attila (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  56.     Total War: Attila (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  57. Watch Dogs
  58.     Watch Dogs (Windows 7 kontra Windows 8.1 kontra Windows 10)
  59.     Watch Dogs (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  60.     Watch Dogs (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  61. Wiedźmin 3: Dziki Gon (The Witcher 3: Wild Hunt)
  62.     Wiedźmin 3: Dziki Gon (Windows 7 kontra Windows 8.1 kontra Windows 10)
  63.     Wiedźmin 3: Dziki Gon (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  64.     Wiedźmin 3: Dziki Gon (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  65. Adobe Photoshop CC
  66.     Adobe Photoshop CC (Windows 7 kontra Windows 8.1 kontra Windows 10)
  67.     Adobe Photoshop CC (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  68. 7-zip
  69.     7-zip (Windows 7 kontra Windows 8.1 kontra Windows 10)
  70.     7-zip (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  71. Cinebench R15
  72.     Cinebench R15 (Windows 7 kontra Windows 8.1 kontra Windows 10)
  73.     Cinebench R15 (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  74. HTML5
  75.     HTML5 (Windows 7 kontra Windows 8.1 kontra Windows 10)
  76.     HTML5 (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  77. x264
  78.     x264 (Windows 7 kontra Windows 8.1 kontra Windows 10)
  79.     x264 (Windows 7 kontra 8.1 kontra 10) – szczegółowe wyniki
  80. Uśredniona wydajność w grach
  81.     Uśredniona wydajność w grach (Windows 7 kontra Windows 8.1 kontra Windows 10)
  82.     Uśredniona wydajność w grach (GeForce GTX 970 OC kontra Radeon R9 290X OC)
  83. Uśredniona wydajność w programach użytkowych
  84.     Uśredniona wydajność w prog. użytk. (Windows 7 kontra Windows 8.1 kontra Windows 10)
  85. Podsumowanie
2