Perbedaan antara OpenGL dan DirectX12

Application Programming Interfaces (APIs) adalah apa yang memproses perintah yang Anda buat dan berinteraksi dengan perangkat lunak untuk memberi Anda hasil yang Anda butuhkan.

Panggilan API melibatkan membuat permintaan ke server untuk menyelesaikan tugas / tindakan tertentu. Perbandingan cepat Open GL dan Direct 3D akan dilakukan di sini. Kami akan melihat lebih dekat kinerja dua API dengan GeeXLab yang sekarang tersedia dengan Open GL dan Direct 3D 12 renderers.

Open Graphics Library (OpenGL) adalah API lintas-platform lintas-bahasa untuk rendering grafik vektor 2D dan 3D. API biasanya digunakan untuk berinteraksi dengan unit pemrosesan grafis (GPU), untuk mencapai rendering yang dipercepat perangkat keras. Direct3D adalah antarmuka pemrograman aplikasi grafis (API) untuk Microsoft Windows yang merupakan bagian dari DirectX, Direct3D digunakan untuk membuat grafik tiga dimensi dalam aplikasi yang kinerjanya penting, seperti permainan. Direct3D menggunakan akselerasi perangkat keras jika tersedia pada kartu grafis.

Jaring bertekstur disajikan dengan berbagai kepadatan poligon. Tes ini menggunakan satu daftar perintah, satu PSO, satu program HLSL, satu mesh dan satu tekstur. GeeXLab dan tes keduanya tersedia untuk diunduh di folder host_api / Direct3D12_vs_OpenGL / paket contoh kode. Jumlah poligon dapat diubah dengan mengedit kode sumber dari kedua file. Tes dilakukan untuk spesifikasi sebagai berikut:

CPU: Intel Core i5 6600K @ 3.5GHz

Motherboard: ASUS Z170 Pro Gaming

RAM: 8GB DDR4 Corsair Vengeance

OS: Windows 10 64-bit

Driver:

Radeon R9 290X: Katalis 15.10 beta

GeForce GTX 970: R358.50

Gambar HD 530: v4279

Membingkai per detik

Framerate per detik dari kedua API dengan driver yang berbeda dipelajari.

Direct3D 12 hasil

Segitiga 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 hasil

Segitiga 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

Hasil Direct 3D 12 ditemukan lebih cepat dari OpenGL ketika jumlah poligon rendah. Ketika jumlah poligon sekitar 80k, ditemukan bahwa Direct3D menawarkan kinerja yang sama dengan OpenGL. Ketika angka ini melampaui 80k, OpenGL ternyata jauh lebih cepat.

Paha dibuat

Hasil-hasil uji tegangan undian juga terdaftar, sebuah quad telah dirender 100, 400 dan 4000 kali. Setiap quad diberikan dengan draw call sendiri. Untuk tes ini, setiap quad terdiri dari 4 simpul dan 2 segitiga.

3D Langsung 12

Num paha depan GeForce GTX 960 (R361.43)

100 2900/20%

400 1070/26%

4000 180/20%

OpenGL 3.2

Num paha depan GeForce GTX 960 (R361.43)

100 1840/58%

400 730/30%

4000 97/20%

Dapat diamati bahwa lebih banyak objek dapat digambar dengan 3D Langsung 12 daripada dengan OpenGL.