Przełom dla AMD? Vulkan znacznie poprawia wydajność Doom
Digital Foundry testuje aktualizację.
Tegoroczna odsłona serii Doom otrzymała w końcu obiecywane wsparcie dla bibliotek Vulkan. Wydajność rośnie na kartach graficznych obu najpopularniejszych producentów, lecz szczególnie posiadacze sprzętu AMD mogą liczyć na przełomowe korzyści. Nasze wstępne testy sugerują 30-40 procent klatek na sekundę więcej.
Czym właściwie jest Vulkan? Przypomnieć można podział z poprzedniej „generacji”: OpenGL kontra DirectX. Teraz jest podobnie, lecz Vulkan rywalizuje już z DX12. Główne korzyści to lepsze wykorzystanie wielordzeniowych procesorów oraz obliczenia asynchroniczne. Zwłaszcza ten drugi element jest szeroko stosowany w nowym Doomie, poprawiając wyniki na Radeonach. Jeden z programistów w id Software - Tiago Sousa - ujawnił niedawno, że na konsolach udaje się dzięki temu zaoszczędzić 3-5 ms podczas generowania każdej klatki obrazu, co w przypadku konieczności zmieszczenia się w limicie na poziomie 16 ms robi ogromną różnicę.
- Obliczenia asynchroniczne będą szeroko stosowane w wersji Vulkan na PC ze sprzętem AMD - potwierdził główny programista Billy Khan. - Vulkan pozwala w końcu programować znacznie bliżej „metalu”, eliminując grubą warstwę sterowników. To przełoży się na istotną poprawę wydajności, nie do osiągnięcia na OpenGL czy DX.
- Spoglądając na wydajność w GPU, szybko stanie się jasne, że niektóre fazy renderowania niemal wcale nie korzystają z jednostek obliczeniowych - dodaje starszy programista silnika, Jean Geoffrey. - Dla przykładu, renderowanie map cieni jest zazwyczaj ograniczane przez ustalone procesy (jak rasteryzacja) i przepustowość pamięci, a nie przez czystą moc obliczeniową. Oznacza to, że jeśli renderujemy mapę cieni i równolegle nie robimy nic innego, to marnujemy sporo mocy GPU.
- Nawet tworzenie geometrii wraz z bardziej intensywnymi obliczeniami shaderów potencjalnie nie wykorzysta wszystkich jednostek obliczeniowych, z wielu powodów, związanych z wewnętrznym cyklem renderowania. Gdy tak się dzieje, asynchroniczne obliczenia shaderów mogą wykorzystać te wolne zasoby dla innych zadań. Tak właśnie rozwiązaliśmy to w Doomie. Dla przykładu, efekty post-processingu czy tonacja barw działają równolegle ze sporą porcją innych procesów graficznych. To dobry przykład sytuacji, gdzie samo zmienienie harmonogramu procesów w kolejkach obliczeń może dać korzyści w postaci kilku milisekund.
- To tylko jeden przykład, ale obliczenia asynchroniczne to ogólnie świetne narzędzie do wykorzystania pełni możliwości GPU. Jeśli tylko można połączyć procesy obciążające pamięć z tymi wymagającymi obliczeń, pojawia się szansa na wzrost wydajności. Obliczenia asynchroniczne stosujemy w ten sam sposób na obu konsolach. Są pewne różnice sprzętowe pod względem dostępnych kolejek poleceń, ale ze względu na nasz system wydawania poleceń nie było to aż takie ważne.
Jak przekłada się to na aktualizację wersji PC? Niestety, nie możemy skorzystać z naszego standardowego narzędzia do mierzenia wydajności. FCAT nakłada kolorową obwódkę na każdą wygenerowaną przez GPU klatkę obrazu, ale obecnie Doom nie wspiera tej aplikacji, a wbudowane w grę statystyki czasu generowania klatki wydają się nie współpracować ze sprzętem AMD. Postawiliśmy więc na dużo prostsze podejście, sprawdzając trzy różne sceny na szeregu kart.
Takie testy traktować należy jako bazowe, ale wyniki mówią same za siebie. Zaczynamy od ustawień 1440p/ultra/8x TSSAA na GTX 1080, GTX 1070, GTX 980 Ti oraz R9 Fury X. W tabeli oferujemy średnią z trzech scen. Rezultaty są jasne: Radeon drastycznie przegrywa na podstawowym OpenGL, ale wysuwa się na prowadzenie po włączeniu wersji Vulkan. Nie daje rady jedynie potężnemu GTX 1080.
Średnie FPS | GTX 1080 | GTX 1070 | GTX 980 Ti | R9 Fury X |
---|---|---|---|---|
Open GL | 134,0 | 107,7 | 109,3 | 88,7 |
Vulkan | 149,0 | 115,0 | 115,0 | 123,7 |
Wzrost | +11,2% | +6,8% | +5,2% | +39,5% |
Chcieliśmy też sprawdzić możliwości architektury Polaris, więc powtarzamy te same testy z użyciem RX 480, nie zmieniając niczego innego w ustawieniach czy konfiguracji. W idealnym świecie wyniki zestawilibyśmy z GTX 1060, ale ta karta objęta jest jeszcze embargo, więc stawiamy na GTX 970 i GTX 980.
Wyniki po raz kolejny potwierdzają przewagę Nvidii przy sterowniku OpenGL. GTX 970 ma 7 procent przewagi nad RX 480, a GTX 980 - już 24 proc. Sytuacja ponownie zmienia się jednak po włączeniu wersji Vulkan - RX 480 przeskakuje GTX 970 i zbliża się do GTX 980 na odległość błędu statystycznego.
Warto pamiętać, że testujemy jedynie mały wycinek względnie spokojnych scen. Widać wyraźnie, że zmniejszyło się zużycie procesora, co może dać nawet lepsze rezultaty w bardziej wymagających momentów. Testowanie Dooma jest jednak dużym wyzwaniem. Nawet jeśli wskaźniki czasu generowania klatek działałyby poprawnie na sprzęcie AMD, to dynamiczna natura gry znacznie utrudnia pozyskanie powtarzalnych scen.
Średnie FPS | RX 480 | GTX 970 | GTX 980 |
---|---|---|---|
Open GL | 69,7 | 75,7 | 86,6 |
Vulkan | 89,7 | 77,3 | 90,7 |
Wzrost | +28,7% | +3,4% | +4,7% |
Mamy nadzieję, że gra otrzyma wkrótce wsparcie dla FCAT lub innego rozwiązania tego typu. Obecne rezultaty nie pozostawiają wielu niewiadomych: Vulkan to dobre wieści dla wszystkich graczy, bez względu na sprzęt. My testowaliśmy na podkręconym Core i7 6700K - w 4,6 GHz - ale optymalizacja wykorzystania procesora powinna dać spore korzyści także na słabszych CPU.
Bazując jednak na naszych uśrednionych wynikach, widać wyraźną przewagę po stronie AMD. Notujemy to choćby w przypadku R9 Fury X. GTX 1080 pozostaje na czele dzięki czystej, brutalnej sile, ale karta „czerwonych” wyprzedza już GTX 1070 i GTX 980 Ti. To imponujące osiągnięcie, jeśli weźmiemy pod uwagę, że mowa tylko o łatce do gry, bez żadnych zmian w sprzęcie.
- Nadszedł już ten czas - zapewnia Billy Khan z id Software, zapytany o ramy czasowe, w których Vulkan i obliczenia asynchroniczne mogą stać się interesującą propozycją. - W przyszłości technologie te będą stosowane jeszcze chętniej w silniku idTech6. Jest niemal pewne, że z możliwości tych skorzysta większa liczba deweloperów, gdy tylko odkryją efektywność tych rozwiązań w swoich grach.