För ungefär ett och ett halvt år sedan startade AMD den offentliga halvan av ett lopp för att förbättra tillståndet för grafik-API:er. Döpt till “Mantle”, AMD:s interna API för sina Radeon-kort tog bort abstraktionen och ineffektiviteten hos traditionella API:er på hög nivå som DirectX 11 och OpenGL 4, och gav istället utvecklare ett sätt att komma åt GPU:n i ett lågnivåspel konsolliknande sätt. Drivkraften: med ett lågnivå-API kunde motorutvecklare uppnå bättre prestanda än med ett högnivå-API, ibland vida överstigande vad DirectX och OpenGL kunde erbjuda.
Även om AMD var det första sådana företaget att offentligt tillkännage sitt lågnivå-API, var de inte det sista. 2014 tillkännagavs API:er som DirectX 12, OpenGL Next och Apples Metal, som alla skulle implementera liknande idéer av liknande prestandaskäl. Det var en renässans inom grafik-API-utrymmet efter många år av långsamma framsteg, och man behövde desperat hålla jämna steg med utvecklingen av både GPU:er och processorer.
I PC-grafikutrymmet har vi redan sett hur tidiga versioner av Mantle presterar, med Mantle som erbjuder några betydande prestandahöjningar, särskilt i CPU-bundna scenarier. Lika fantastisk som Mantle är, är det för närvarande ett de-facto proprietärt AMD API, vilket betyder att det bara kan användas med AMD GPU:er; hur är det med NVIDIA och Intel GPU:er? För det vänder vi oss mot DirectX, Microsofts traditionella cross-vendor API som kommer att göra samma hopp som Mantle, men med ett gemensamt API till fördel för alla leverantörer i Windows-ekosystemet.
DirectX 12 tillkännagavs först på GDC 2014, där Microsoft avslöjade existensen av det nya API:t tillsammans med deras planerade mål, en kort demonstration av mycket tidig kod och begränsade tekniska detaljer om hur API:et skulle fungera. Sedan dess har Microsoft arbetat hårt med DirectX 12 som en del av det större utvecklingsarbetet för Windows 10, som kulminerade i lanseringen av den senaste Windows 10 Technical Preview, Build 9926, som levereras med en tidig förhandsversion av DirectX 12.
GDC 2014 – DirectX 12 presenterad: 3DMark 2011 CPU-tid: Direct3D 11 vs. Direct3D 12
När de olika delarna av Microsofts senaste API äntligen kommer samman, kommer vi idag att ta vår första titt på prestandaframtiden för DirectX. API:et stabiliseras, grafikkortsdrivrutinerna förbättras och den första DirectX 12-applikationen har skrivits; Microsoft och deras partners är äntligen redo att visa upp DirectX 12. Därför ska vi idag titta på DirectX 12 genom Oxide Games Star Swarm benchmark, vår första DirectX 12-applikation och ett verkligt API-effektivitets-tortyrtest.
Ger DirectX 12 samma typ av prestandafördelar som vi såg med Mantle? Kan det lösa CPU-flaskhalsarna som DirectX 11 kämpar med? Hur väl fungerar konceptet med ett lågnivå-API för ett gemensamt API med olika hårdvara? Låt oss ta reda på!