Har någon någon bra förklaring för en lekman som mig inom detta ämne på varför det är så stor skillnad (i de siffror vi har sett/läser i denna artikel) överlag på Vulkan och DX12?
I Doom såg i varje fall jag en väldigt stor skillnad, och här talas det om upp till 60%, medans DX12 titlar verkar, mellan tummen och pekfingret, inte ge någon generellt sett stor ökning i pretanda.
Båda arbetar close to metal, men känns som att det måste finnas någon fundamental skillnad mellan Vulkan och DX12 eller är det bara slumpen och för få titlar i bagaget som gör att skillnaden upplevs så pass stor?
Iof fick jag en bra ökning med DX12 i Total war: Warhammer så DX12-prestandan syftar jag till tester generellt sett.
Kanske något uppenbart jag missar här, men ni förstår kanske vart jag vill komma
Med risk för att halka på hal is...
I korta drag, DX11 är så välanvänt att det har optimerats i åratal. Är lite som finputsad diamant, iaf på Nvidias sida. AMD är lite efter här dock. Största nackdelen... du sitter fast med Windows, oavsett vilka dumma beslut de gör med det.
OpenGL som Doom körde från början är egentligen inte så mycket sämre, men det har inte väl optimerats pga det är så liten marknad som använder det, vilket är synd, då det är OS oberoende.
DX12 är Microsofts nya... leksak. De har sagt att den ska vara fantastisk och det skulle komma spel redan julen 2015, och hela 2016 med dem som verkligen fungerar kanon. Tror jag kan räkna antalet faktiska DX12 spel på en hand... och de är sällan bra.
Problemet är att DX11 är så väl optimerat, och denna optimering har gjorts på grafikkortstillverkarens sida, Nvidia/AMD. Med DX12 faller denna optimering över på spelutvecklarna, lite som konsoler, där det krävs mer kunskap och helst att spelet och motorn skrivs om helt till DX12 optimerad kod för att verkligen kunna ta nytta av det.
Spelutvecklare är dock inte alltid så duktiga som de tror... och de har nu dumpats en enorm last på sina axlar att få DX12 att fungera på sina spel.
Vulkan är lite i samma båt, där den också kräver mer ingripande av utvecklarna från grunden, och även om det finns små skillnader i dem, är de väldigt lika. Det största och viktigaste som skiljer imho, är inget Windows 10 krav. Nada.
Du kan köra det på Windows 7, Ubuntu Linux eller vilket OS du än vill. I teorin tom Mac OSX (även om Apple valt en annan väg så har inte Khronos Group sagt nej om de ändrar sig). Detta gör att vi inte låser oss till vad än Microsoft planerar för oss, utan kan själv välja, och med tanke på Windows 10 kontroversiella metoder, behövs det. Vulkan kommer dock fungera på Windows 10 också, så det är ingen förlust för dessa användare...
Så det du ser är:
- (icke optimerad) OpenGL vs Vulkan (optimerad, men tidig utveckling)
- (väl optimerad) DX11 vs DX12 (optimerad, men tidig utveckling).
Därför är det inte så självklart i skillnad att nyare är bättre.
DX12/Vulkan är bättre, men de kräver mer på annat håll för att bli bra, något som tar tid tyvärr. Vissa spel som Doom gör det ordentligt, medan andra som Maffia lappar ihop lite DX12 stöd som var skit... Dessa nya APIer ska inte lappas, de ska precis som el-bilen byggas om från början för att bli bra.