DirectX firmy Microsoft i Vulkan firmy Khronos Group to dwa powszechnie używane interfejsy API graficzne, które są obecnie preferowane przez wielu deweloperów gier. Zasadniczo Vulkan i DirectX zapewniają wydajną alokację zasobów sprzętowych (CPU i GPU), aby umożliwić grom osiągnięcie wysokiej liczby klatek na sekundę i szybkich czasów renderowania. Ale jak wypadają te dwa interfejsy API graficzne, Vulkan i DirectX? Który z nich jest lepszy do gier? Przyjrzyjmy się temu.
Vulkan kontra DirectX: Ewolucja i rozwój
Najpierw przyjrzyjmy się ewolucji i historii, aby podkreślić znaczenie interfejsów API graficznych, takich jak DirectX i Vulkan.
Gry komputerowe zaczęły się od DirectX
Początkowo zespół Microsoftu opracował DirectX, aby zwiększyć adopcję wśród twórców gier, zapewniając, że komputery PC z systemem Windows będą miały gry dla użytkowników. Przed DirectX twórcy preferowali tworzenie gier dla DOS i nie planowali wydawania nowych tytułów dla Windows.
Było to mniej więcej w czasie, gdy miał zostać wydany system Windows 95. Oprócz gier DOS, popularność zyskiwały również gry konsolowe. DirectX 1.0, znany jako Windows Game SDK, został wydany we wrześniu 1995 r.
Alex St. John, członek zespołu DirectX, powiedział w wywiadzie, że Microsoft musiał nieustannie przekonywać twórców gier do przyjęcia DirectX. Zajęli się obawami twórców i wykorzystali ich opinie do ulepszenia gier w systemie Windows, zachęcając do tworzenia nowych gier dla systemu operacyjnego używanego przez miliony.
Na początku istnienia DirectX stosowano śmiałe strategie marketingowe, mające na celu zachęcenie branży gier do przyjęcia interfejsu API i zachęcenie do tworzenia gier na komputery z systemem Windows.
Przeczytaj także:
DirectX pozwolił twórcom gier na efektywne wykorzystanie sprzętu PC bez ingerencji ze strony systemu operacyjnego. Komponenty takie jak DirectSound do przetwarzania dźwięku, DirectPlay do komunikacji w grze i DirectDraw do renderowania grafiki były częścią DirectX 1.0, początkowo znanego jako „Zestaw SDK do gry" Lub "Projekt Manhattan.”Dziś DirectX to kompleksowy zestaw API szeroko wykorzystywany w wielu grach. Podczas gdy DirectX 12 jest najnowszą wersją, wiele gier nadal wykorzystuje DirectX 11.
Vulkan został stworzony z podobnymi celami, ale wdrożony inaczej
Vulkan ma swoje korzenie w API Mantle firmy AMD, które zostało opracowane we współpracy z DICE. Początkowo używane w grach takich jak Sniper Elite III, Battlefield 4 i Civilization: Beyond Earth, Mantle miało na celu oferowanielepsza wydajność w porównaniu do DirectX 11, zwłaszcza w scenariuszach z wąskim gardłem procesora. Pomimo swoich zalet, Mantle spotkał się z ograniczoną adopcją.
AMD ostatecznie przekazało API Mantle do Khronos Group, która wykorzystała je jako podstawę do opracowania Vulkan. Vulkan został oficjalnie zaprezentowany jako nowy graficzny API na GDC 2015. Obecnie Vulkan stał się znaczącym otwartym standardem obok DirectX 11 i DirectX 12, szeroko wykorzystywanym w wielu grach.
Jedną z istotnych różnic między Vulkanem a DirectX jest to, że Vulkan jestmiędzyplatformowe API, obsługujący zarówno środowiska stacjonarne, jak i mobilne. Projekt Vulkan kładzie nacisk na minimalizowanie „narzutu sterownika”, co może znacznie zwiększyć wydajność, funkcję zintegrowaną również z najnowszą implementacją DirectX 12.
W ciągu ostatnich pięciu lat zarówno DirectX, jak i Vulkan przeszły znaczące ulepszenia, każdy z nich ma swoje mocne strony. Przyjrzyjmy się ich wydajności i porównajmy DirectX z Vulkanem w różnych współczesnych grach.
DirectX kontra Vulkan: Porównanie zalet
Vulkan jest znany z wydajnego wykorzystania zasobów sprzętowych, co pozwala na osiągnięcie zrównoważonego wykorzystania procesora, procesora graficznego i pamięci RAM w porównaniu z DirectX 12. Będąc interfejsem API niższego poziomu i oprogramowaniem typu open source, Vulkan obsługujemiędzyplatformowyrozwoju, umożliwiając deweloperom usprawnienie wydań na platformach PC i mobilnych. Jednak jegozłożonośćmoże stanowić wyzwanie i potencjalnie wydłużać czas rozwoju.
Dla deweloperów otwarty charakter Vulkan i możliwości multiplatformowe czynią go niezwykle atrakcyjnym. Dostępnych jest wiele materiałów edukacyjnych, dzięki czemu jest on dostępny dla nowicjuszy w dziedzinie grafiki i tworzenia gier. Niektórzy deweloperzy uważają, że Vulkan jest łatwiejszy i czystszy w użyciu, z lepszą dokumentacją w porównaniu do DirectX. Ostatecznie niektóre gry oferują użytkownikom oba interfejsy API do wyboru, dostosowując się do różnych konfiguracji i preferencji systemowych.
Rzeczywiście, DirectX jest wykorzystywany głównie na komputerach z systemem Windows i konsolach Xbox, podczas gdy Vulkan obsługuje szerszy zakres platform, w tym Linux, Windows i różne systemy operacyjne urządzeń mobilnych. Vulkan jest również kompatybilny z Nintendo Switch, który wykorzystuje procesor graficzny Nvidia Tegra zdolny do uruchomienia Vulkan.
Przeczytaj także:
Jeśli chodzi o optymalizację i interfejsy API, konsole do gier, takie jak PlayStation, są projektowane specjalnie pod kątem gier, co pozwala programistom na osiągnięcie bardzo bezpośrednich i wydajnych efektów.Pszczołaz minimalnym narzutem. Ta specjalizacja często skutkuje lepszą wydajnością w porównaniu z komputerami PC, gdzie API takie jak DirectX i Vulkan muszą obsługiwać szerszy zakres konfiguracji sprzętowych i środowisk programowych.
Rozważając DirectX kontra Vulkan pod kątem wydajności gier, wybór może się różnić w zależności od konkretnej gry i konfiguracji sprzętowej. Przeprowadziłem testy dwóch popularnych gier, aby porównać ich wydajność, używając mojego laptopa do gier Acer Nitro V, wyposażonego w procesor Intel Core i5-13420H, kartę graficzną Nvidia GeForce RTX 4050 i 16 GB pamięci DDR5.
Ważne jest, aby pamiętać, że wyniki wydajności mogą się różnić w zależności od komponentów komputera. Niektóre gry mogą działać lepiej z DirectX, podczas gdy inne mogą skorzystać bardziej z optymalizacji Vulkan. Niestety napotkałem problemy podczas testowania DirectX 11 kontra Vulkan w Baldur's Gate 3, ponieważ gra ciągle się zawieszała. Po rozwiązaniu problemu zaktualizuję tę sekcję o wyniki testów porównawczych dla tego porównania.
Red Dead Redemption 2: DirectX 12 kontra Vulkan
Podczas moich testów w Red Dead Redemption 2, Vulkanpokazał lepsze minimalne FPSi ogólnie utrzymywał bardziej spójny zakres FPS w porównaniu do DirectX 12. Vulkan zapewniał również płynniejsze działanie z wyższym średnim FPS w różnych scenach. Z drugiej strony, DirectX 12 wykazywał wyższy maksymalny FPS, ale miał problemy z niższym minimalnym FPS, co skutkowało nieco mniej płynnym działaniem ogólnie.
Warto zauważyć, że niektórzy użytkownicy zgłaszali problemy z zacinaniem się Vulkan, podczas gdy inni napotkali niespójną wydajność DirectX. Aby przełączać się między Vulkanem a DirectX 12 w Red Dead Redemption 2, przejdź do ustawień grafiki w grze i wybierz zaawansowane ustawienia grafiki. Stamtąd możesz przełączać się między Vulkanem a DirectX 12 i uruchomić test porównawczy w grze, aby porównać liczby FPS. Wybór interfejsu API grafiki, który oferuje lepszą średnią liczbę FPS w Twojej konfiguracji, jest prawdopodobnie najlepszym wyborem dla optymalnej wydajności w grze.
Przeczytaj także:
Path of Exile: DirectX 11 kontra DirectX 12 kontra Vulkan
Podczas moich testów z Path of Exile na moim laptopie do gier Acer RTX 4050, Vulkan wyłonił się jako optymalny wybór spośród trzech dostępnych interfejsów API graficznych. Vulkan konsekwentnie zapewniał około 80 FPS w większości scenariuszy, oferując płynną rozgrywkę. DirectX 11, mimo że był starszym interfejsem API (wydanym w 2009 r.), zapewniał lepsze wyniki wydajności w niektórych przypadkach, ale nie dorównywał ogólnej stabilności i spójności FPS Vulkana. Z drugiej strony DirectX 12 dawał niezadowalające wyniki, a FPS spadał poniżej 60 w niektórych scenariuszach.
Dla graczy Path of Exile wybórWulkanspośród dostępnych opcji API graficznego wydaje się zapewniaćnajlepsza równowagawydajności i stabilności na podobnych konfiguracjach sprzętowych.
DirectX czy Vulkan: którą opcję wybrać?
W zależności od specyfikacji systemu, jeden z tych dwóch interfejsów API może zapewnić lepszą wydajność. Optymalizacja gry również odgrywa kluczową rolę. Aby ustalić, czy DirectX czy Vulkan jest bardziej odpowiedni dla Twoich potrzeb, przeprowadź testy wydajności w grze i porównaj FPS.
Zazwyczaj DirectX oferuje większą stabilność, choć nie zawsze tak jest. Vulkan jest często chwalony za zrównoważone podejście z minimalnym narzutem. Użytkownicy procesorów graficznych AMD mogą szczególnie skorzystać z Vulkan, prawdopodobnie ze względu na jego pochodzenie w Mantle firmy AMD.
Ostatecznie gracze powinni priorytetowo traktować API, które oferuje lepszą wydajność w ich systemie. Co sądzisz o DirectX kontra Vulkan? Podziel się swoimi opiniami w komentarzach poniżej!