DirectX 12 vs. DirectX 11: co jest lepsze do gier na PC?

DirectX 12 to najnowszy graficzny interfejs API, który obsługuje system Windows 11, ale wiele z nich najlepsze gry komputerowe nadal albo działają na DirectX 11, albo zawierają opcję przełączania. Który powinieneś wybrać?

Chociaż większość aktualizacji DirectX ma charakter iteracyjny, DirectX 12 stanowi ogromną zmianę w interfejsie API, nad którym firma Microsoft pracuje od kilkudziesięciu lat. Może znacznie poprawić wydajność twoich gier i ma kilka unikalnych funkcji, do których DirectX 11 nie ma dostępu.

Advertisement

Graficzne interfejsy API nie są sobie równe

Mamy pełny opis załamania czym jest DirectX, ale ważne jest, aby szybko omówić, czym jest graficzny interfejs programowania aplikacji (API). Graficzny interfejs API obsługuje tłumaczenie instrukcji z oprogramowania (Twojej gry) na standardowe instrukcje dla Twojego sprzętu (karta graficzna i procesor).

Jednak nie wszystkie interfejsy API grafiki są zbudowane jednakowo. Jak widać w naszym awaria API Vulkan, zapewnia lepszą wydajność niż DirectX w większości gier. Narzut na interfejs API może oznaczać znaczną różnicę w wydajności podczas grania w gry, więc chociaż używanie dowolnej wersji DirectX może wydawać się w porządku, może to być jedno z najważniejszych ustawień do dostosowania.

DirectX 12 vs. DirectX 11: jaka jest różnica?

Śledzenie promieni DirectX w Battlefield V.
Wykorzystanie ray tracingu w Battlefield V.

Najważniejszą różnicą między DirectX 11 a DirectX 12 jest to, że DirectX 11 jest interfejsem API wysokiego poziomu, podczas gdy DirectX 12 jest interfejsem API niskiego poziomu. Istnieją różne warstwy między twoją grą a twoim sprzętem. Interfejsy API niskiego poziomu są bliżej sprzętu, podczas gdy interfejsy API wysokiego poziomu są dalej i są bardziej uogólnione.

Jest to ważna różnica między DirectX 11 i DirectX 12. Krótko mówiąc, DirectX 12 pozwala twórcom gier ukierunkować optymalizacje bliżej sprzętu, zmniejszając koszty związane z interfejsem API i sterownikiem graficznym. Z kolei programistom trudniej jest z nimi pracować.

Advertisement

Podczas uruchamiania DirectX 12 wykazywał nieco niższą wydajność niż DirectX 11, głównie ze względu na swoją złożoność. Jednak programiści skupili się bardziej na DirectX 12 – ahem – bezpośrednio w ciągu ostatnich kilku lat i wycisnęli więcej optymalizacji. Jak przejdziemy dalej, DirectX 12 działa lepiej niż DirectX 11 w większości gier.

Potok graficzny dla DirectX 11.
Potok graficzny dla DirectX 12.

Kolejną istotną zmianą w DirectX 12 jest przetwarzanie równoległe. DirectX 11 obsługuje operacje szeregowe, co oznacza, że ​​istnieje pojedyncza kolejka operacji wykonywanych w określonej kolejności. Obliczenia równoległe otwierają programistom możliwość wykonywania wielu połączeń jednocześnie, znacznie poprawiając wydajność operacji.

Podobnie DirectX 12 otwiera możliwość operacji asynchronicznych. Jest to podobne do obliczeń równoległych, ale to nie to samo. Obliczenia asynchroniczne umożliwiają sprzętowi kontynuowanie operacji bez czekania na zakończenie innej operacji. Na przykład twój procesor może wykonać wprowadzenie, aby pobrać tekstury z pamięci i przejść do wykonania innej funkcji (takiej jak sztuczna inteligencja dla postaci) bez czekania na zakończenie tej instrukcji pamięci. Takie ustalenie priorytetów może zmniejszyć niewielkie opóźnienia w tysiącach miejsc, dzięki czemu Twoje gry działają ogólnie znacznie szybciej.

Wreszcie, DirectX 12 obsługuje również szereg funkcji z DirectX 12 Ultimate. Możesz o nich przeczytać m.in nasz podział DirectXale obejmują ray tracing i cieniowanie o zmiennej szybkościwśród innych cech wizualnych i wydajnościowych.

DirectX 12 kontra DirectX 11: wydajność

Wydajność DirectX 11 w porównaniu z DirectX 12.

Istnieje wiele różnic technicznych między DirectX 11 i DirectX 12, ale najważniejsza jest wydajność. Jak widać na powyższym wykresie, prawie zawsze uzyskujesz lepszą wydajność z DirectX 12 niż z DirectX 11, więc najlepiej jest używać nowszego interfejsu API.

Widzieliśmy „prawie”, ponieważ interfejs API nie jest jedynym czynnikiem wpływającym na wydajność. Niektóre gry nie widzą większych korzyści z DirectX 12, ponieważ niektóre gry widzą więcej korzyści z optymalizacji niskiego poziomu niż inne. Dying Light 2, na przykład nie widzi zasadniczo żadnych zmian w wydajności. Jednak Cywilizacja VI, który ma ogromne obciążenia sztucznej inteligencji, które korzystają z obliczeń asynchronicznych, widzi ogromną poprawę. Cień Tomb Raidera oraz Krainy cudów Tiny Tiny usiądź gdzieś pośrodku.

Advertisement

Gry to nie jedyny czynnik. Powyższe wyniki zostały zebrane za pomocą an AMD RX 7900 XTX, który pochodzi z najnowszej generacji AMD. Nowsze karty graficzne i procesory odniosą większe korzyści z DirectX 12 niż starsze generacje.

Jest tu jednak dość szeroka sieć. Mówimy o ostatnich kilku generacjach, które odnotowały poprawę, podczas gdy karty graficzne, które mają prawie dekadę, odnotowują mniejszą poprawę. Jeśli masz nowoczesny komputer, DirectX 12 jest zwykle właściwą odpowiedzią.

Czy powinieneś używać DirectX 12?

Mapa w Civilization VI.

Istnieje tuzin lub więcej gier obsługujących DirectX 11 i DirectX 12, w tym Civilization VI, Control, Shadow of the Tomb Raider, oraz Umierające światło 2. Większość gier domyślnie korzysta z DirectX 11 w celu zapewnienia zgodności, ale warto przełączyć się na tryb DirectX 12.

Jedynym wyjątkiem jest sytuacja, gdy masz starszy komputer sprzed 10 lat lub więcej. Starszy sprzęt może działać płynniej w DirectX 11, a DirectX 12 może wcale nie przynosić większych korzyści. Zdecydowana większość ludzi powinna jednak wybrać DirectX 12 ze względu na jego bardziej rozbudowane funkcje i lepsze optymalizacje gier.

Dzisiejsze wiadomości techniczne, wyselekcjonowane i skondensowane do Twojej skrzynki odbiorczej


Sprawdź swoją skrzynkę odbiorczą!

Podaj prawidłowy adres e-mail, aby kontynuować.

Ten adres e-mail jest obecnie zapisany. Jeśli nie otrzymujesz newsletterów, sprawdź folder ze spamem.

Przepraszamy, wystąpił błąd podczas subskrypcji. Spróbuj ponownie później.

Zalecenia redaktorów






Advertisement