artykuły

DirectX 12 w trzech grach: Gears of War Ultimate Edition, Hitman, Rise of the Tomb Raider

Rewolucji brak

254
28 marca 2016, 08:24 Łukasz Marek

DirectX 12 + synchronizacja pionowa (VSync)

Zanim przedstawimy wyniki testów, wyjaśnimy, dlaczego wyglądają tak, a nie inaczej. Jak wspomnieliśmy, w przypadku DirectX 12 i Windows 10 to system operacyjny ma kontrolować wyświetlanie obrazu. Program wydaje polecenie Present, a system wykonuje je według własnego uznania. Źródłowe dane na ten temat są zadziwiająco ubogie; jeśli wierzyć przetrawionym informacjom podawanym przez zagraniczne witryny (np. PCper), Microsoft chce, żeby tak pozostało. Dzięki temu producent systemu operacyjnego może wymusić synchronizację pionową, co oznacza lepsze odczucia użytkownika systemu (np. odświeżanie pulpitu Windows od dawna jest zsynchronizowane z odświeżaniem pionowym ekranu).

Nie trzeba chyba wyjaśniać, że choć synchronizacja pionowa często jest pożyteczna i pożądana, to wymuszanie, by zawsze była włączona, jest bardzo niekorzystne z punktu widzenia graczy. Na szczęście można to obejść, bo odpowiednie mechanizmy są wbudowane w API i system operacyjny. Obecnie VSync jest wymuszona:

  • we wszystkich grach kupionych przez Windows Store (platforma UWP), niezależnie od zainstalowanej karty graficznej i API,
  • w trybie DirectX 12 w większości gier uruchomionych z użyciem kart graficznych AMD.

Hitman w pięciokrotnym spowolnieniu. W przypadku obu systemów synchronizacja pionowa w grze była wyłączona

Jak twierdzi PCPer, sterowniki AMD zachowują się zgodnie z zaleceniami Microsoftu i umożliwiają systemowi operacyjnemu wymuszenie synchronizacji pionowej. Nvidia stosuje inny mechanizm wyświetlania, pozwalający kontrolować to za pomocą panelu konfiguracyjnego sterownika (włączenie lub wyłączenie synchronizacji w samej grze często nie przynosi rezultatów!). Jest to konieczne choćby do działania techniki G-Sync. Krótko przed publikacją tego artykułu AMD poinformowało nas, że w obecnej (jeszcze nieukończonej) wersji gry Ashes of the Singularity synchronizację pionową można już wyłączyć, ale dotąd nie mieliśmy możliwości tego zweryfikować. Jesteśmy w kontakcie z AMD i spodziewamy się obszerniejszych informacji na temat VSync w DirectX 12.

Dlaczego tak jest i kiedy się to zmieni? Microsoft, AMD i Nvidia nie sformułowały żadnego oficjalnego stanowiska. Według doniesień z Game Developers Conference Microsoft pracuje nad usprawnieniem platformy UWP (Windows Store), tak żeby można było wyłączyć synchronizację pionową, oraz działaniem technik multi-GPU i innych, do których przywykliśmy przez lata. 

Kiedy włączona jest synchronizacja pionowa, czas oczekiwania na kolejny nowy obraz może przyjąć tylko kilka kwantyfikowanych wartości. Dlatego podawanie minimalnej liczby klatek na sekundę nie ma sensu: chwilowa minimalna wartość jest niemal zawsze pierwszą dostępną wartością poniżej średniej. W dalszej części artykułu będziemy przedstawiać średnią liczbę klatek na sekundę w grach uruchamianych w trybie DirectX 12. Jeśli widzicie średnią między 30 kl./sek. a 60 kl./sek., to wiedzcie, że minimalną wartością było 30 kl./sek. – i tak samo w innych przedziałach.

My użyliśmy 120-hercowego monitora, pozwalającego nam mierzyć wydajność do 120 kl./sek. Trzeba jednak wziąć pod uwagę to, że użytkownik monitora 60-hercowego przy włączonej synchronizacji pionowej nigdy nie zobaczy większej płynności. W takich warunkach nie ma zatem praktycznej różnicy między dwoma kartami graficznymi, z których jedna osiąga 65 kl./sek., a druga – 75 kl./sek. (wyjąwszy zmniejszone opóźnienie sygnału, inaczej input lag, w sytuacji, gdy wydajność znacznie przekracza częstotliwość odświeżania monitora).

Strona:
  1. Jak testować wydajność w DirectX 12
  2. DirectX 12, UWP i synchronizacja pionowa
  3. Założenia i metodyka testów – sprzęt i gry
  4. Platforma testowa
  5.     Gears of War Ultimate Edition (GPU) – Intel Core i7-6700K 4,7 GHz
  6.     Gears of War Ultimate Edition (GPU) – Intel Core i5-6600K
  7.     Gears of War Ultimate Edition (GPU) – Intel Core i3-6100
  8.     Gears of War Ultimate Edition (GPU) – Intel Pentium G4400
  9.     Gears of War Ultimate Edition (GPU) – AMD FX-8350
  10.     Gears of War Ultimate Edition (GPU) – AMD FX-6350
  11.     Gears of War Ultimate Edition (GPU) – AMD FX-4350
  12.     Gears of War Ultimate Edition (CPU) – GeForce GTX 980 Ti, GTX 970, GTX 960
  13.     Gears of War Ultimate Edition (CPU) – Radeon R9 Fury X, R9 390, R9 380
  14.     Hitman (GPU) – Intel Core i7-6700K 4,7 GHz
  15.     Hitman (GPU) – Intel Core i5-6600K
  16.     Hitman (GPU) – Intel Core i3-6100
  17.     Hitman (GPU) – Intel Pentium G4400
  18.     Hitman (GPU) – AMD FX-8350
  19.     Hitman (GPU) – AMD FX-6350
  20.     Hitman (GPU) – AMD FX-4350
  21.     Hitman (CPU) – GeForce GTX 980 Ti, GTX 970, GTX 960
  22.     Hitman (CPU) – Radeon R9 Fury X, R9 390, R9 380
  23.     Rise of the Tomb Raider (GPU) – Intel Core i7-6700K 4,7 GHz
  24.     Rise of the Tomb Raider (GPU) – Intel Core i5-6600K
  25.     Rise of the Tomb Raider (GPU) – Intel Core i3-6100
  26.     Rise of the Tomb Raider (GPU) – Intel Pentium G4400
  27.     Rise of the Tomb Raider (GPU) – AMD FX-8350
  28.     Rise of the Tomb Raider (GPU) – AMD FX-6350
  29.     Rise of the Tomb Raider (GPU) – AMD FX-4350
  30.     Rise of the Tomb Raider (CPU) – GeForce GTX 980 Ti, GTX 970, GTX 960
  31.     Rise of the Tomb Raider (CPU) – Radeon R9 Fury X, R9 390, R9 380
  32. Podsumowanie
2