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).
- Jak testować wydajność w DirectX 12
- DirectX 12, UWP i synchronizacja pionowa
- Założenia i metodyka testów – sprzęt i gry
- Platforma testowa
- Gears of War Ultimate Edition (GPU) – Intel Core i7-6700K 4,7 GHz
- Gears of War Ultimate Edition (GPU) – Intel Core i5-6600K
- Gears of War Ultimate Edition (GPU) – Intel Core i3-6100
- Gears of War Ultimate Edition (GPU) – Intel Pentium G4400
- Gears of War Ultimate Edition (GPU) – AMD FX-8350
- Gears of War Ultimate Edition (GPU) – AMD FX-6350
- Gears of War Ultimate Edition (GPU) – AMD FX-4350
- Gears of War Ultimate Edition (CPU) – GeForce GTX 980 Ti, GTX 970, GTX 960
- Gears of War Ultimate Edition (CPU) – Radeon R9 Fury X, R9 390, R9 380
- Hitman (GPU) – Intel Core i7-6700K 4,7 GHz
- Hitman (GPU) – Intel Core i5-6600K
- Hitman (GPU) – Intel Core i3-6100
- Hitman (GPU) – Intel Pentium G4400
- Hitman (GPU) – AMD FX-8350
- Hitman (GPU) – AMD FX-6350
- Hitman (GPU) – AMD FX-4350
- Hitman (CPU) – GeForce GTX 980 Ti, GTX 970, GTX 960
- Hitman (CPU) – Radeon R9 Fury X, R9 390, R9 380
- Rise of the Tomb Raider (GPU) – Intel Core i7-6700K 4,7 GHz
- Rise of the Tomb Raider (GPU) – Intel Core i5-6600K
- Rise of the Tomb Raider (GPU) – Intel Core i3-6100
- Rise of the Tomb Raider (GPU) – Intel Pentium G4400
- Rise of the Tomb Raider (GPU) – AMD FX-8350
- Rise of the Tomb Raider (GPU) – AMD FX-6350
- Rise of the Tomb Raider (GPU) – AMD FX-4350
- Rise of the Tomb Raider (CPU) – GeForce GTX 980 Ti, GTX 970, GTX 960
- Rise of the Tomb Raider (CPU) – Radeon R9 Fury X, R9 390, R9 380
- Podsumowanie
