Application Programming Interfaces (APIs) er det som behandler kommandoen du lager og grensesnitt mot programvaren for å gi deg det resultatet du trenger.
Et API-anrop innebærer å stille en forespørsel til serveren om å få en bestemt oppgave / handling utført. En rask sammenligning av Open GL og Direct 3D vil bli gjort her. Vi vil se nærmere på forestillingene til de to API-ene med GeeXLab som nå er tilgjengelig med en Open GL og en Direct 3D 12-gjengiver.
Open Graphics Library (OpenGL) er et tverrspråklig API på tvers av plattformer for gjengivelse av 2D- og 3D-vektorgrafikk. API-en brukes vanligvis for å samhandle med en grafikkbehandlingsenhet (GPU), for å oppnå maskinvareakselerert gjengivelse. Direct3D er et grafisk applikasjonsprogrammeringsgrensesnitt (API) for Microsoft Windows som er en del av DirectX, Direct3D brukes til å gjengi tredimensjonal grafikk i applikasjoner der ytelse er viktig, for eksempel spill. Direct3D bruker maskinvareakselerasjon hvis det er tilgjengelig på grafikkortet.
Et strukturert nett er gjengitt med forskjellig polygontetthet. Testen bruker en kommandoliste, ett PSO, ett HLSL-program, ett nett og en tekstur. GeeXLab og testen er begge tilgjengelige for nedlasting i host_api / Direct3D12_vs_OpenGL / -mappen i kodeeksempelpakken. Antall polygoner kan endres ved å redigere kildekoden til begge filene. Testen ble utført for følgende spesifikasjoner:
PROSESSOR: Intel Core i5 6600K @ 3,5 GHz
hovedkort: ASUS Z170 Pro Gaming
RAM: 8 GB DDR4 Corsair hevn
OS: Windows 10 64-bit
drivere:
Radeon R9 290X: Katalysator 15.10 beta
GeForce GTX 970: R358.50
HD Graphics 530: v4279
Framerate per sekund
Frameratet per sekund av begge API-ene med forskjellige drivere ble studert.
Direct3D 12 resultater
Triangler 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-resultater
Triangler 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
Resultatene av Direct 3D 12 ble funnet å være raskere enn OpenGL når antallet polygoner var lavt. Når antallet polygoner var rundt 80 000, ble det funnet at Direct3D tilbyr samme type ytelse som OpenGL. Da dette tallet gikk over 80 000, ble det funnet at OpenGL var mye raskere.
Fire gjengitt
Resultatene fra en uavgjort stresstest er også listet opp, en firerplass er blitt gjengitt 100, 400 og 4000 ganger. Hver firer er gjengitt med sin egen trekningsanrop. For denne testen består hver firer av 4 hjørner og 2 trekanter.
Direkte 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 observeres at flere objekter kan tegnes med Direct 3D 12 enn med OpenGL.