Poziom wsparcia to nie wszystko. NVIDIA ma problemy z wydajnością w DirectX 12

Poziom wsparcia to nie wszystko. NVIDIA ma problemy z wydajnością w DirectX 12

Poziom wsparcia to nie wszystko. NVIDIA ma problemy z wydajnością w DirectX 12
02.09.2015 16:13, aktualizacja: 03.09.2015 11:05

DirectX 12 obiecałgwałtowny skok wydajności dla gier – i ta obietnica wystarczyła,by czołowi producenci GPU zaczęli się licytować poziomemzapewnianego wsparcia. Do tej pory liderem wydawała się tu NVIDIA,jako jedyna zapewniająca w aktualnie oferowanej architekturzeMaxwell 2. generacji poziom wsparcia 12_1, podczas gdy AMDpozostawało na poziomie 12_0, zaś Intel – 11_1. Sprawa możejednak wcale nie być taka prosta. Pierwsze realne testy zbudowanejna silniku Nitrous gry Ashes of Singularity, pokazały, że pod DX 12sprzęt Nvidii zyskuje znacznie mniej niż sprzęt AMD.

Przeprowadzone w serwisie ExtremeTechtesty z wykorzystaniem kart GeForce 980Ti oraz Radeon Fury Xpokazały, że o ile pod kontrolą DX 11 karta AMD wypada w Ashes ofSingularity znacznie gorzej (o 30-40%) od karty Nvidii, to już podDX 12 sytuacja radykalnie się zmienia. Najsilniejszy z Radeonów nietylko zrównał się w wynikach z najsilniejszym z GeForce, ale wniektórych wypadkach go wyprzedził – widać to wrozdzielczościach 4K, przy maksymalnym obciążeniu.

  • Ashes of Singularity: DirectX 11 (źródło: extremetech.com)
  • Ashes of Singularity: DirectX 12 (źródło: extremetech.com)
[1/2] Ashes of Singularity: DirectX 11 (źródło: extremetech.com)

Autorzy testów, szukając wyjaśnienia sytuacji, zwracali uwagęna radykalnie odmienne podejścia obu producentów GPU do współpracyz deweloperami. Strategia Nvidii była znacznie korzystniejsza w erzeDX 11, wysokopoziomowego interfejsu który nie odnosi siębezpośrednio do którejkolwiek architektury. Bardzo dużo możnabyło zrobić w kwestii ręcznej optymalizacji na poziomie samychsterowników pod kątem określonych gier, nie wspominając już ograch korzystających dodatkowo z middleware GameWorks. W erze DX 12już tak bawić się jednak nie można, wiele z dotychczasowychoptymalizacji po prostu nie będzie działało. Z kolei dobre wynikikarty AMD wynikają właśnie z tego, że nowe DirectX nie zmusza dotworzenia specyficznych optymalizacji pod daną grę na poziomiesterownika. Czy jednak to naprawdę wszystko?

Reakcja Nvidii na benchmarki była natychmiastowa, można jąokreślić jako próbę zdyskredytowania zarówno samej gry, jak iuzyskanych wyników, zrzucenia problemu na błędy w grze, wskutekktórych wykorzystanie antyaliasingu MSAA prowadziło do spadkuwydajności. Producent gry, studio Oxide, zarzuty zielonych nie tylkoodrzucił,ale zwrócił uwagę właśnie na niedoskonałości sterownikaNvidii. To rozpoczęło prawdziwą burzę, która ujawniła bardzociekawe kwestie ograniczeń samej architektury Maxwell.

Zaczęło się od forum dyskusyjnego Overclock.net,gdzie programista ze studia Oxide przyznał, że Maxwell nie wspieranatywnie mechanizmu Async Compute. Został on więc wyłączony naprośbę Nvidii, ponieważ korzystanie z niego pogarszało wyniki.Mechanizm ten pozwala na jednoczesne przenoszenie danych dla grafikii dla obliczeń oddzielnymi kanałami. W obecnej architekturze kartNvidii dysponujemy jednym pasmem dla grafiki i 32 pasmami dlaobliczeń, jednak przekazanie danych dla obliczeń możliwe jestdopiero po zmianie kontekstu pracy karty. Z kolei architektura GCN wkartach AMD oferuje jedno wspólne pasmo dla grafiki i obliczeń orazdodatkowe osiem pasm po osiem niezależnych torów dla obliczeń.

I właśnie to umożliwia wydajne uruchomienie asynchronicznychshaderów, czyli równoległe wykonywanie zadań dla GPU – działająone bezpośrednio na asynchronicznych silnikach obliczeniowych (ACE)Radeonów, co w warunkach stawiającego na paralelizację interfejsugrafiki Microsoftu pozwala im na łatwe osiągnięcie wyższej niżMaxwelle wydajności.

AMD Simplified: Asynchronous Shaders

AMD oczywiście nie omieszkało publicznie skrytykować tejsłabości konkurenta. Na łamach reddita jeden z czerwonych napisał: NVIDIA zapewnia o „pełnym” wsparciu DX 12, ale wygodnieignoruje fakt, że architektura Maxwell jest całkowicie niezdolna doasynchronicznych obliczeń bez powolnego zmieniania kontekstu.Tymczasem GCN wspierało asynchroniczne shadery od samego ichpowstania, w nadziei i oczekiwaniu, że gry zaczną wykorzystywaćtakie obciążenia robocze.

Oczywiście trzeba pamiętać, że AMD nie może jeszcze ot taksobie zignorować swoich problemów z wydajnością pod DX 11. NoweAPI grafiki Microsoftu jeszcze długo nie zdominuje rynku, choćby ztego powodu, że jest interfejsem przeznaczonym wyłącznie dlaWindows 10, a popularność tego systemu wśród graczy wciąż niejest tak duża, by zaryzykować tworzenie gier tylko pod DX 12. Nadłuższą metę trendy jednak AMD sprzyjają – w ciągu ostatniegomiesiąca popularność Windows 10 na Steamie wzrosła o ponad 13punktów procentowych (obecnie 16,39% użytkowników tej platformykorzysta z 64-bitowego Windows 10). Jeśli więc AMD przetrzyma teswoje najbliższe trudne kwartały do wydania większej liczby gierkorzystających z Direct X 12, to jego sytuacja na trudnym rynku GPUpowinna być znacznie lepsza niż dzisiaj.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (107)