OpenGL ve DirectX gibi Grafik API'leri, oyun oynamak için kullanılan yazılım ve grafik donanımı arasında bir köprü görevi görür. Bu API'ler, ekranda 2B ve 3B grafikleri görüntülemek için standartlaştırılmış yöntemler sağlar. Son birkaç on yılda oyun geliştirme için temel hale geldiler.

Unity gibi motorlar, kullandıkları grafik API'leri arasında bir seçim sunar, ancak oyununuz için doğru seçeneği nasıl seçeceksiniz? Bu araçlardan hangisinin sizin için en iyisi olduğuna dair bir fikir vermek için OpenGL ile DirectX'i karşılaştırırken bize katılın.

DirectX vs. OpenGL: Ana Özelliğe Genel Bakış

Özünde, hem DirectX hem de OpenGL aynı grafik hattını paylaşır ve uzun yıllardır sahipler. Her iki API de karmaşık grafik temel öğeleri oluşturmak için tepe noktası adı verilen noktaları kullanır. Her köşe kendi koordinatlarını ve diğer önemli bilgileri saklar. Ancak her kitaplığın köşeleri kullanma şekli farklıdır.

Benzer işlevleri yerine getirebilirler, ancak onlarla çalışırsanız OpenGL ve DirectX arasındaki farkı fark edeceksiniz.

instagram viewer

DirectX vs. OpenGL: API Kapsamı

Daha ileri gitmeden önce, her ikisi de grafik API'leri olsa da OpenGL ve DirectX'in farklı kapsamlara sahip olduğunu belirtmek önemlidir. OpenGL safkan bir grafik API'sidir ve bu, 2D ve 3D grafikler dışında hiçbir şeyle ilgilenmediği anlamına gelir. DirectX ise, hepsi birlikte çalışan bir grafik, ses, ağ ve diğer donanım API'leri koleksiyonudur.

Bazı durumlarda OpenGL, kendi başına yapamayacağı işlevleri gerçekleştirmek için DirectX'i kullanır. Bu makalenin geri kalanı, her aracın grafik öğelerine odaklanarak iki API arasındaki bu farkı görmezden gelecek.

OpenGL vs. DirectX: Platformlar

OpenGL, Khronos Group adlı kar amacı gütmeyen bir şirket tarafından yönetilen ücretsiz bir API'dir, DirectX ise Microsoft tarafından yapılmıştır. DirectX, öncelikle Windows ve Xbox'ta çalışır, Linux gibi diğer platformlar yavaş yavaş destek alır. OpenGL çapraz platformdur ve onu çeşitli işletim sistemlerinde ve oyun konsollarında oyun geliştirme için kullanılabilir hale getirir.

DirectX vs. OpenGL: Donanım Kaynakları

DirectX, donanım yönetimini geliştiriciye bırakarak size kaynakları ihtiyaç duyduğunuzda verimli bir şekilde tahsis etme yeteneği verir. OpenGL, donanım yönetimini üstlenir, ancak kaynakları kendiniz yönetme konusunda endişelenmenize gerek olmadığı için bu, kendi avantajlarıyla gelebilir.

DirectX vs. OpenGL: Belgeler

Ayrıntılı belgelere erişim, API'lerle çalışırken oyun geliştirmeyi çok daha kolay hale getirebilir. DirectX ve OpenGL, düzenli olarak güncellenen belgeler ve yardımcı geliştirici toplulukları sunar. Bu API'lerin her ikisi de, mevcut en iyi özellikleri sunduklarından emin olmak için büyük yıllık güncellemeler alır.

OpenGL'yi kullanma vs. Oyun Geliştirme için DirectX

Geliştiriciler, hem OpenGL hem de DirectX kullanarak modern pazarda birçok güzel ve iyi optimize edilmiş oyun yaptılar. 2D/3D grafik API'sini seçerken göz önünde bulundurmanız gereken birkaç şey vardır. Bazı geliştiriciler, en rahat oldukları araca güvenirler.

OpenGL veya DirectX: Platformlar

Platformlara zaten değindik, ancak bu, geliştiriciler için çok önemli bir husustur. Nintendo Switch, Playstation 4 veya Linux için oyun yapmak istiyorsanız, OpenGL veya onları destekleyen başka bir API ile çalışmanız gerekecektir. DirectX, Windows ve Xbox için yapılmıştır ve diğer sistemlerle sınırlı uyumluluğu vardır.

OpenGL veya DirectX: Motor Uyumluluğu

Çoğu oyun geliştiricisi, günümüzde oyunlarını oluşturmak için Unity ve Unreal gibi motorları kullanıyor. Bu motorların her ikisi de, diğer platformlar arası oyun geliştirme motorlarında olduğu gibi OpenGL ve DirectX'i destekler.

OpenGL veya DirectX: Kullanım Kolaylığı

Bazıları OpenGL ile çalışmanın DirectX'ten daha kolay olduğunu iddia edebilir. Donanım kaynaklarının yanı sıra, OpenGL yalnızca grafikleri işleyerek doğası gereği daha basit hale getirir. Daha fazla platformda çalışması, bu gereksinime sahip oyunların yayınlanmasını da kolaylaştırıyor.

Graphics API kullanım kolaylığı, oyun geliştiricileri için eskisi kadar önemli değil. Unity gibi motorlarla Sahne arkasında grafik API'leri ile arayüz oluşturarak, kullandığınız API'yi değiştirmek için yalnızca bir düğmeye tıklamanız yeterlidir. Sıfırdan bir oyun oluşturmuyorsanız, her API'nin kullanım kolaylığında bir fark görmeniz pek olası değildir.

OpenGL veya DirectX: Grafik Özellikleri

Sınır dışı bir durum olmadığınız sürece, bunlar arasında sahip olduğunuz özelliklerde büyük bir fark görmeniz pek olası değildir. API'ler. Her ikisi de grafik kartınızın özelliklerini destekler ve bu yalnızca GPU'lar grafik kartında çarpıcı değişiklikler görürse değişecektir. gelecek.

OpenGL veya DirectX: Oyun Performansı

Bu API'lerin performansı konusunda geliştiriciler arasında çok fazla tartışma var. OpenGL veya OpenGL'nin daha pürüzsüz ve daha verimli olduğu iddiası yaygın olsa da, DirectX'in önemli performans farklılıkları vardır. internet üzerinden.

Bu API'lerden hangisinin en iyi performansı gösterdiğini bulmanın tek yolu test etmektir. Unity'nin her iki API ile uyumluluğu sayesinde, bir proje oluşturabilir ve her iki API ile örnek bir oyunu test edebiliriz. bir performans kıyaslaması oluşturun.

Bu testler, farklı boru hatlarının önemli bir faktör olmadığından emin olmak için hem 2D hem de 3D grafiklerle gerçekleştirilmiştir. Her test 120 saniyelik normal oyun için çalışır ve performansı belirlemek için saniyedeki kareler ölçülür. Tüm testler aynı bilgisayarda yapılmıştır.

3D Performans Testi: Unity Karting Mikro Oyunu

Unity Carting Microgame, basit bir yarış oyunu oluşturmak için ihtiyacınız olan her şeyi içeren ücretsiz bir şablondur. Öğreticilerle birlikte geliyor, ancak oyunun kendisiyle daha çok ilgileniyoruz. Performanslarını karşılaştırmak için Carting Microgame'i hem OpenGL hem de DirectX ile oluşturduk ve sonuçlar aşağıdaki gibi oldu:

En düşük En yüksek Ortalama
DirectX 331 848 365.05
OpenGL 247 819 283.7

DirectX, 3D karşılaştırmamızda OpenGL'den daha iyi performans göstererek baştan sona etkileyici kare hızları elde etti. OpenGL'nin sonuçları hala oynanabilir olmaktan çok daha fazlası.

2D Performans Testi: Unity Platformer Mikro Oyunu

Carting Microgame'e çok benzeyen Unity Platformer Microgame ücretsiz ve harika öğrenme araçlarıyla dolu. Beklendiği gibi, testlerimizdeki 2B oyun 3B oyundan daha iyi performans gösteriyor, ancak sonuçları kendiniz değerlendirebilirsiniz.

En düşük En yüksek Ortalama
DirectX 599 850 767.367
OpenGL 302 604 515.417

Yukarıdaki sonuçlardan da görebileceğiniz gibi, DirectX testlerimizde çok daha yüksek bir ortalama kare hızı elde etti. Fark dramatik görünse de, sonuçların her ikisi de çok oynanabilir.

OpenGL veya DirectX 11: Performans Sonucu

Birçok kişi OpenGL'nin DirectX'ten daha iyi performans gösterdiğini söylese de, ikinci API her iki kıyaslamamızda da daha iyi sonuçlar elde etti. Bu, bir oyunun performansını belirlemede rol oynayan birçok faktörle, özellikle de daha karmaşık hale geldikçe, kesin olmaktan uzaktır.

DirectX veya OpenGL: Oyun Geliştirme için Hangisini Kullanmalısınız?

Doğru grafik API'sini seçmek birkaç faktöre bağlıdır. DirectX, en yaygın kullanılan grafik API'sidir. Birçok oyun geliştiricisi, oyunlarını diğer platformlar için OpenGL'ye taşımadan önce Windows ve Xbox için oluşturur. Yalnızca Windows ve Xbox dışında bir oyun yayınlıyorsanız, en başından OpenGL kullanmaktan yararlanabilirsiniz.

Performans da dikkate alınması gereken bir faktördür, ancak testlerimiz Unity gibi motor araçlarını kullanırken bunun oldukça ihmal edilebilir olduğunu gösteriyor. Özünde, bu iki grafik API'si arasındaki farklar yalnızca belirli niş özellikler arayanlar için önemlidir.