Microsofts DirectX och Khronos Groups Vulkan är två mycket använda grafik-API:er som gynnas av många spelutvecklare idag. I huvudsak säkerställer Vulkan och DirectX effektiv allokering av hårdvaruresurser (CPU och GPU) för att göra det möjligt för spel att uppnå höga bildhastigheter och snabba renderingstider. Men hur jämför dessa två grafik-API:er, Vulkan och DirectX? Vilken är överlägsen för spel? Låt oss utforska.
Vulkan vs DirectX: Evolution & Development
Låt oss först fördjupa oss i utvecklingen och historien för att belysa betydelsen av grafik-API:er som DirectX och Vulkan.
PC-spel började med DirectX
Inledningsvis utvecklade ett Microsoft-team DirectX för att öka användningen bland spelutvecklare, för att säkerställa att Windows-baserade datorer hade spel för användarna. Innan DirectX föredrog utvecklarna att skapa spel för DOS och hade inga planer på att släppa nya titlar för Windows.
Det här var ungefär när Windows 95 skulle lanseras. Förutom DOS-spel fick konsolspelande också fart. DirectX 1.0, känd som Windows Game SDK, släpptes i september 1995.
Alex St. John, en medlem av DirectX-teamet, berättade i en intervju att Microsoft var tvungen att obevekligt övertala spelutvecklare att använda DirectX. De tog upp utvecklarnas problem och använde deras feedback för att förbättra spelandet på Windows, och uppmuntrade skapandet av nya spel för operativsystemet som används av miljoner.
Under DirectXs start fanns det vågade marknadsföringsstrategier som syftade till att locka spelindustrin att anta API:et och uppmuntra utvecklingen av Windows PC-spel.
Läs också:
DirectX gjorde det möjligt för spelutvecklare att utnyttja PC-hårdvaran effektivt utan störningar från operativsystemet. Komponenter som DirectSound för ljudbehandling, DirectPlay för kommunikation i spelet och DirectDraw för grafikrendering var alla en del av DirectX 1.0, från början känd som "Spel SDK" eller "Projekt Manhattan.” Idag är DirectX en omfattande uppsättning API:er som används i många spel. Även om DirectX 12 är den senaste versionen, använder många spel fortfarande DirectX 11.
Vulkan skapades med liknande mål men implementerades annorlunda
Vulkan har sina rötter i AMD:s Mantle API, som utvecklats i samarbete med DICE. Mantle, som ursprungligen användes i spel som Sniper Elite III, Battlefield 4 och Civilization: Beyond Earth, ville erbjudaöverlägsen prestanda jämfört med DirectX 11, särskilt i scenarier med CPU-flaskhalsar. Trots sina fördelar stod Mantle inför begränsad adoption.
AMD bidrog så småningom med Mantle API till Khronos Group, som använde det som en grund för att utveckla Vulkan. Vulkan introducerades officiellt som ett nytt grafik-API vid GDC 2015. Idag har Vulkan blivit en betydande öppen standard vid sidan av DirectX 11 och DirectX 12, flitigt använt i många spel.
En anmärkningsvärd skillnad mellan Vulkan och DirectX är att Vulkan är enplattformsoberoende API, som stöder både stationära och mobila miljöer. Vulkans design betonar att minimera "drivrutinoverhead", vilket avsevärt kan förbättra prestandan, en funktion som också är integrerad i den senaste DirectX 12-implementeringen.
Under de senaste fem åren har både DirectX och Vulkan genomgått betydande förbättringar, var och en med sina egna styrkor. Låt oss fördjupa oss i deras prestanda och jämföra DirectX mot Vulkan i olika samtida spel.
DirectX vs Vulkan: jämförande fördelar
Vulkan är känt för sitt effektiva utnyttjande av hårdvaruresurser, vilket uppnår en balanserad användning av CPU, GPU och RAM jämfört med DirectX 12. Eftersom Vulkan är ett API på lägre nivå och öppen källkod, stöder Vulkanplattformsoberoendeutveckling, vilket gör det möjligt för utvecklare att effektivisera utgåvor över PC- och mobilplattformar. Men desskomplexitetkan innebära utmaningar, vilket potentiellt ökar utvecklingstiden.
För utvecklare gör Vulkans natur med öppen källkod och plattformsoberoende möjligheter det mycket attraktivt. Det finns gott om utbildningsmaterial tillgängligt, vilket gör det tillgängligt för nykomlingar inom grafik och spelutveckling. Vissa utvecklare tycker att Vulkan är enklare och renare att använda, med överlägsen dokumentation jämfört med DirectX. I slutändan erbjuder vissa spel både API:er för användarna att välja mellan, vilket passar olika systemkonfigurationer och preferenser.
I själva verket används DirectX främst för Windows-datorer och Xbox-konsoler, medan Vulkan stöder ett bredare utbud av plattformar inklusive Linux, Windows och olika mobila operativsystem. Vulkan är också kompatibel med Nintendo Switch, som använder en Nvidia Tegra GPU som kan köra Vulkan.
Läs också:
När det gäller optimeringar och API:er är spelkonsoler som PlayStation designade speciellt för spel, vilket gör det möjligt för utvecklare att uppnå mycket direkta och effektivaAPI:ermed minimal overhead. Denna specialisering resulterar ofta i överlägsen prestanda jämfört med datorer, där API:er som DirectX och Vulkan måste tillgodose ett bredare utbud av hårdvarukonfigurationer och mjukvarumiljöer.
DirectX vs Vulkan: Prestanda
När du överväger DirectX kontra Vulkan för spelprestanda, kan valet variera beroende på det specifika spelet och din hårdvaruinställning. Jag genomförde tester på två populära spel för att jämföra deras prestanda med min Acer Nitro V gaming laptop, utrustad med en Intel Core i5-13420H CPU, Nvidia GeForce RTX 4050 GPU och 16 GB DDR5-minne.
Det är viktigt att notera att prestandaresultat kan skilja sig beroende på din dators komponenter. Vissa spel kan prestera bättre med DirectX, medan andra kan dra mer nytta av Vulkans optimeringar. Tyvärr stötte jag på problem när jag testade DirectX 11 kontra Vulkan i Baldur's Gate 3, eftersom spelet hela tiden kraschade. När det är löst kommer jag att uppdatera det här avsnittet med benchmarkresultat för den jämförelsen.
Red Dead Redemption 2: DirectX 12 vs Vulkan
I mitt test med Red Dead Redemption 2, Vulkanvisade bättre lägsta FPSoch bibehöll generellt ett mer konsekvent FPS-intervall jämfört med DirectX 12. Vulkan gav också en mjukare upplevelse med högre genomsnittlig FPS i olika scener. Å andra sidan uppvisade DirectX 12 högre maximala FPS men kämpade med lägre lägsta FPS, vilket resulterade i en något mindre smidig upplevelse totalt sett.
Det är värt att notera att vissa användare har rapporterat stamningsproblem med Vulkan, medan andra har stött på inkonsekvent prestanda med DirectX. För att växla mellan Vulkan och DirectX 12 i Red Dead Redemption 2, navigera till grafikinställningarna i spelet och välj de avancerade grafikinställningarna. Därifrån kan du växla mellan Vulkan och DirectX 12 och köra riktmärket i spelet för att jämföra FPS-nummer. Att välja grafik-API:et som erbjuder bättre genomsnittliga FPS i din installation är förmodligen det bästa valet för optimal prestanda i spelet.
Läs också:
Exilväg: DirectX 11 vs DirectX 12 vs Vulkan
I mina tester med Path of Exile på min Acer RTX 4050 gaming laptop, framstod Vulkan som det optimala valet bland de tre tillgängliga grafik-API:erna. Vulkan levererade konsekvent runt 80 FPS i de flesta scenarier, vilket ger smidig spelprestanda. DirectX 11, trots att det var ett äldre API (släpptes 2009), levererade bättre prestandasiffror i vissa fall men matchade inte Vulkans övergripande stabilitet och FPS-konsistens. DirectX 12, å andra sidan, gav otillfredsställande resultat med FPS som sjönk under 60 i vissa scenarier.
För Path of Exile-spelare, att väljaVulkanfrån de tillgängliga grafiska API-alternativen verkar gebästa balansenprestanda och stabilitet på liknande hårdvaruinställningar.
DirectX vs Vulkan: Vilket alternativ ska du välja?
Beroende på dina systemspecifikationer kan en av dessa två API:er ge överlägsen prestanda. Speloptimering spelar också en avgörande roll. För att avgöra om DirectX eller Vulkan är mer lämpad för dina behov, genomför prestandatester i spelet och jämför FPS.
Vanligtvis erbjuder DirectX större stabilitet, även om detta inte alltid är fallet. Vulkan hyllas ofta för sitt balanserade tillvägagångssätt med minimal overhead. AMD GPU-användare kan särskilt dra nytta av Vulkan, möjligen på grund av dess ursprung i AMD:s Mantle.
I slutändan bör spelare prioritera API:et som erbjuder bättre prestanda på deras system. Vad är dina tankar om DirectX kontra Vulkan? Dela dina åsikter i kommentarerna nedan!