Size sorma nedeni nedeni oyun motorunun farklı grafik API'lerini (Application Programming Interface) desteklemesidir. Bu seçenek hangi grafik API'sinin kullanılacağını belirlemenize olanak tanır ve seçiminiz, performans ve uyumluluk açısından haliyle oyununuzun deneyimini etkiler.
OpenGL: Platformlar arası bir API'dir. Windows, macOS, Linux ve bazı mobil cihazlarda çalışabilir.
DirectX 11: Sadece Windows ve Xbox platformlarında çalışır.
DirectX 11 genellikle Windows'ta daha iyi optimize edilmiştir ve özellikle Nvidia kartlarla daha iyi çalışır ama daha çok kaynak tüketir. OpenGL daha düşük sistem kaynağı tüketir. DirectX 11 donanımı yorar.
Düşük tüketim ve daha iyi bir görüntü kalitesi için OpenGL denir ama stabil bir performans, sabit FPS için DirectX 11 tercih edilir çünkü özellikle Windows için optimize edilmiştir.
Eğer detaylara takılıyorsanız bunu deneyerek seçin. Oyun da bir etken bazen biri diğerinden daha iyi olabilir ve bu hep aynı olmaz.
Örneğin burada Direct3D 12 ve OpenGL grafik API'lerinin performansını karşılaştıran bir test var. Bu test, her iki API'nin de belirli koşullarda nasıl performans gösterdiğini analiz ediyor. Test sonuçlarına göre Direct3D 12 ve OpenGL arasında performans açısından belirgin farklar gözlemlenmiş. Özellikle Direct3D 12'nin belirli senaryolarda daha verimli çalıştığı ancak OpenGL'nin de kendi avantajlarına sahip olduğu belirtilmiş. Bu sonuçlar her iki API'nin de farklı donanım ve yazılım yapılandırmalarında değişken performans sergileyebileceğini gösteriyor.
Direct3D 12 Sonuçları
TrianglesAMD Radeon R9 290X (avg FPS / GPU load)NVIDIA GeForce GTX 970 (avg FPS / GPU load)Intel HD Graphics 530 (avg FPS)
800 | 9100 / 40% | 5500 / 25% | 1360 |
5’000 | 8200 / 45% | 5300 / 35% | 1220 |
20’000v | 5800 / 60% | 5100 / 45% | 1100 |
80’000 | 2400 / 80% | 2600 / 70% | 850 |
320’000 | 720 / 90% | 700 / 85% | 500 |
500’000 | 480 / 98% | 480 / 90% | 400 |
2’000’000 | 130 / 100% | 130 / 97% | 160 |
OpenGL 3.2
TrianglesAMD Radeon R9 290X (avg FPS / GPU load)NVIDIA GeForce GTX 970 (avg FPS / GPU load)Intel HD Graphics 530 (avg FPS)
800 | 4600 / 25% | 3700 / 35% | 1220 |
5’000 | 4300 / 25% | 3600 / 35% | 1160 |
20’000v | 4200 / 25% | 3600 / 36% | 1060 |
80’000 | 4100 / 30% | 3600 / 58% | 840 |
320’000 | 4100 / 46% | 2800 / 87% | 500 |
500’000 | 3200 / 70% | 2200 / 90% | 420 |
2’000’000 | 1000 / 100% | 930 / 95% | 180 |
Bu test sonucunu şöyle yorumluyorlar;
"Bu testlere göre, üçgen sayısı düşük olduğunda Direct3D 12, OpenGL'den daha hızlıdır. Özellikle AMD Radeon ekran kartları bu durumda oldukça hızlı! Ancak yaklaşık 80.000 poligon civarında, Direct3D ve OpenGL benzer bir performans sergiler. 80.000 poligonun üzerinde ise OpenGL daha hızlıdır. Intel GPU'lar ilginç bir durum sergiliyor çünkü D3D12 ve OpenGL'de hemen hemen aynı performansı sunuyorlar. Dahası, 2 milyon poligonluk bir ağda, Intel GPU, D3D12'de GTX 970 veya R9 290X'ten daha hızlı! Görünüşe göre, birçok poligon işlendiğinde, D3D12'nin renderleme işlem hattında bir yerde CPU kaynaklı bir dar boğaz oluşuyor ve bu durum GPU'ların gerçek gücünü tam olarak yansıtmıyor. Sonuçlar, en son sürücülerle (R361.43 / Crimson 15.12) benzer şekilde. Ayrıca basit bir çizim stres testi yaptım: Bir dörtgen (quad) sırasıyla 100, 400 ve 4000 kez işleniyor. Donanım instancing kullanılmıyor ve her dörtgen kendi çizim çağrısıyla işleniyor. Testleri yalnızca geliştirme sistemimde, GeForce GTX 960 + R361.43 ile yaptım."