Skillnaden mellan OpenGL och DirectX12

Application Programming Interfaces (APIs) är vilka processer kommandot du gör och gränssnitt med programvaran för att få dig det resultat du behöver.

Ett API-samtal innebär att man gör en begäran till servern om att få en viss uppgift / åtgärd utförd. En snabb jämförelse av Open GL och Direct 3D görs här. Vi kommer att titta närmare på föreställningarna för de två API: erna med GeeXLab som nu finns med en Open GL och en Direct 3D 12-återgivare.

Open Graphics Library (OpenGL) är ett korsspråkigt, plattforms-API för återgivning av 2D- och 3D-vektorgrafik. API används vanligtvis för att interagera med en grafikbearbetningsenhet (GPU) för att uppnå hårdvaruaccelererad återgivning. Direct3D är ett grafiskt applikationsprogrammeringsgränssnitt (API) för Microsoft Windows som är en del av DirectX, Direct3D används för att återge tredimensionell grafik i applikationer där prestanda är viktigt, till exempel spel. Direct3D använder maskinvaruacceleration om det finns tillgängligt på grafikkortet.

Ett strukturerat nät är gjord med olika polygontäthet. Testet använder en kommandolista, ett PSO, ett HLSL-program, ett nät och en struktur. GeeXLab och testet är båda tillgängliga för nedladdning i host_api / Direct3D12_vs_OpenGL / mappen i kodprovpaketet. Antalet polygoner kan ändras genom att redigera källkoden för båda filerna. Testet utfördes för följande specifikationer:

CPU: Intel Core i5 6600K @ 3,5 GHz

Moderkort: ASUS Z170 Pro Gaming

BAGGE: 8 GB DDR4 Corsair-hämnd

OS: Windows 10 64-bitars

förare:

Radeon R9 290X: Katalysator 15.10 beta

GeForce GTX 970: R358.50

HD Graphics 530: v4279

Framerat per sekund

Framerate per sekund för båda API: erna med olika drivrutiner studerades.

Direct3D 12 resultat

Trianglar AMD Radeon R9 290X NVIDIA GeForce GTX 970 Intel HD Graphics 530

800 9100/40% 5500/25% 1360

5000 8200/45% 5300/35% 1220

20000 5800/60% 5100/45% 1100

80000 2400/80% 2600/70% 850

320000 720/90% 700/85% 500

500000 480/98% 480/90% 400

2000000 130/100% 130/97% 160

OpenGL 3.2-resultat

Trianglar AMD Radeon R9 290X NVIDIA GeForce GTX 970 Intel HD Graphics 530

800 4600/25% 3700/35% 1220

5000 4300/25% 3600/35% 1160

20000 4200/25% 3600/36% 1060

80000 4100/30% 3600/58% 840

320000 4100/46% 2800/87% 500

500000 3200/70% 2200/90% 420

2000000 1000/100% 930/95% 180

Resultaten av Direct 3D 12 visade sig vara snabbare än OpenGL när antalet polygoner var lågt. När antalet polygoner var cirka 80 000 visade det sig att Direct3D erbjuder samma typ av prestanda som OpenGL. När detta nummer översteg 80 k, visade sig OpenGL vara mycket snabbare.

Fyrdukar återges

Resultaten av ett dragstresstest listas också, en fyrdubbla har gjorts 100, 400 och 4000 gånger. Varje fyrhjuling återges med sitt eget draganrop. För detta test består varje fyrdel av fyra vertikaler och 2 trianglar.

Direkt 3D 12

Num quads GeForce GTX 960 (R361.43)

100 2900/20%

400 1070/26%

4000 180/20%

OpenGL 3.2

Num quads GeForce GTX 960 (R361.43)

100 1840/58%

400 730/30%

4000 97/20%

Det kan observeras att fler objekt kan ritas med Direct 3D 12 än med OpenGL.