Vulkan, DirectX 12'nin Katili ve Oyunların Yeni Geleceği OIabilecek mi?

Vulkan, DirectX 12'nin Katili ve Oyunların Yeni Geleceği OIabilecek mi?

Eğer güncel oyunları takip ediyorsanız oyun dünyasında önümüzdeki dönemde gerçekleşecek yeniliklerden haberdar olmanız mümkün. Oyun dünyası bir süredir DirectX 12'ye geçiş için büyük bir hazırlık içerisinde. DirectX 12 altyapısının oyun dünyasını bir seviye yükseğe taşıyabileceğini söyleyebiliriz. Bilgisayar donanımları üzerindeki yükü hafifleten DirectX 12 teknolojik olarak daha gelişmiş oyunlar görmemizi mümkün kılacak. Donanım üreticileri DirectX 12 ile uyumluluklarını sergilemek için birbirleriyle adeta yarışıyorlar.

Oyun dünyasının ilgisi DirectX 12 üzerindeyken Vulkan olarak adlandırılan bir aktör sessiz sedasız bu dünyaya adım attı. Vulkan'ın DirectX 12'nin dişli bir rakibi olabileceğini ilk aşamada belirterek, bu yeni altyapının ne olduğunu anlatmayı bir sonraki adıma bırakacağız. İlk olarak DirectX 12'nin bize ne gibi yenilikler sunacağını görmek doğru olacaktır. Çünkü yazımızın geri kalan kısmında DirectX 12'yi Vulkan ile kıyaslayacağız. DirectX 12 ile ilgili fikir sahibi olmak için bu yazılarımıza göz atabilirsiniz:

DirectX 12 Oyunlarda Ne Gibi Farklar Yaratacak?

DirectX 12 Uyumlu Ekran Kartları - AMD ve Nvidia

DirectX 12'nin neler getireceğine göz attıktan sonra şimdi Vulkan'ı bir inceleyelim:

Vulkan Nedir?

Vulkan geçtiğimiz sene içerisinde duyurulmuş yeni bir 3D grafik API'si (API= uygulama geliştirme arayüzü). Vulkan ilk başta OpenGL'nin yeni nesil versiyonu olarak tanıtılmıştı ve bu nedenle bu dönemde glNext adını almıştı. Khronos ekibi tarafından geliştirilen bu yeni arayüz bir yandan da ilk olarak AMD tarafından hayata geçirilmeye çalışılan Mantle projesinin mirasçısı. AMD bu projeyi rafa kaldırdıktan sonra Khronos'a Mantle'ı kullanma ve yapılandırma izni vermişti. glNext projesi bir süre sonra Vulkan API adını aldı ve 18 aylık bir geliştirme sürecinden sonra geçtiğimiz günlerde Vulkan 1.0 yayınlandı.

Vulkan ve DirectX 12'nin Benzerlikleri Neler?

Vulkan ve DirectX 12'nin özelliklerine göz attığımızda iki uygulama geliştirme arayüzünün de işlemci kullanımını çok daha verimli hale getirmeye çalıştığını söyleyebiliriz. Şu ana kadar yaygın olarak kullanılan ve halen kullanılmaya devam edilen DirectX 11 ve OpenGL 4 arayüzleri işlemci kullanımında maalesef günümüz teknolojisinin nimetlerinden faydalanamıyorlar. Bu arayüzler genel olarak tek bir işlemci çekirdeğine yükleniyorlar. Eğer çok çekirdekli bir işlemciniz olsa bile DirectX 11 ve OpenGL 4'ü kullanan oyunlar sadece belli çekirdeklerden faydalandıkları için işlemciniz tam performans veremiyor.

DirectX 12 ve Vulkan işlemcilerin tek bir çekirdeğinde yoğunlaşmak yerine işlem yükünü farklı çekirdekler arasında bölüştürmek üzere programlandıkları için oyunlarda daha karmaşık hesaplamalar sisteminizi darboğaza sokmadan gerçekleştirilebilecek.

DirectX 12'nin ve Vulkan'ın bir diğer benzerliği de donanım uyumluluğu noktasında. DirectX 12 geçtiğimiz yıllarda piyasaya sürülen donanımlarla uyumlu bir şekilde çalışabiliyor. Vulkan da OpenGL ES 3.1, OpenGL 4 ve üst versiyonlarını destekleyen donanımlarla uyumlu olarak çalışabilecek. Fakat DirectX 12'de olduğu gibi Vulkan'dan da faydalanabilmek için yeni donanım sürücülerine ihtiyaç duyacağız.

Vulkan ve DirectX 12 Farkları Neler?

Vulkan'ın ve DirectX 12'nin farkları hakkında konuşurken iki uygulama geliştirme arayüzünün geliştiricilere sunduğu özgürlükten bahsetmekte fayda var; çünkü bir geliştirici ne kadar özgürse ve esnek bir geliştirme arayüzü kullanıyorsa o kadar ince elenip sık dokunmuş bir iş ortaya çıkarabilir.

Vulkan'ı DirectX 12'den ayıran en büyük özellik cross-platform, yani çoklu platform desteğine sahip olması. Microsoft, DirectX 12'yi sadece kendi bünyesinde geliştiriyor ve bu arayüzü sadece Windows 10 ile limitliyor. Yani DirectX 12 kullanan oyunları oynayabilmek için sadece Windows 10'a sahip bir bilgisayar veya Xbox One oyun konsoluna sahip olmamız gerekiyor.

Vulkan bu noktada bir imdat çekici gibi ortaya çıkıyor ve oyuncuları ve geliştiricileri Windows 10 kafesi içerisine hapsolmaktan kurtarıyor. Vulkan aracılığıyla geliştirilen oyunlar Windows'un yanında Linux işletim sistemlerinde ve hatta Android mobil işletim sisteminde de çalışabilecek. Bu sayede geliştiriciler bir oyunu Windows 10 haricindeki bir platforma taşımak için ek zahmete girmeyecek ve oyunlarını rötuşlamak için daha çok vakit harcayabilecek. Oyun maliyetleri düşecek, oyuncular daha ucuza oyun temin edebilecek.

Vulkan'ın aslında oyun geliştiricilerinin ve donanım üreticilerinin Microsoft'un Windows ve DirectX tekeline karşı aldıkları sert bir tavır olduğu söylenebilir. Bunu Vulkan'ı destekleyen isimlerden açıkça görebiliyoruz; Valve, Intel, AMD, Google, Qualcomm, Croteam gibi büyük isimler ya Vulkan'ın geliştirilme sürecinde katkıda bulunmuş ya da Vulkan ile geliştirilmiş projeleri oyunculara sunacaklar.

Valve'ın babası Gabe Newell zamanında Windows 8'i oyunlar için en kötü platform olarak nitelendirmişti. Valve bu nedenle kendi Linux tabanlı işletim sistemi SteamOS'i geliştirdi ve oyun geliştiricilerini bu platforma oyun geliştirmek için teşvik etmeye çalıştı. Linux için geliştirilen oyunların sayısı çok yüksek olmasa da Vulkan çıktığında bu sayı tavan yapabilecek; çünkü oyun geliştiricileri zahmetsizce oyunlarını bu platform ile uyumlu hale getirebilecek.

AMD halihazırda Vulkan için Beta sürücülerini yayınlamış durumda. Valve, Source 2 oyun motorunun Vulkan'ı destekleyeceğini geçtiğimiz sene içerisinde duyurmuştu.  Google da geçtiğimiz yaz aylarının sonunda Android işletim sisteminin gelecek versiyonlarının Vulkan'ı destekleyeceğini açıklamıştı. Vulkan altyapısı üzerine kurulu ilk oyun ise Croteam tarafından geliştirilen The Talos Principle olacak.

Görüldüğü üzere Vulkan geniş bir geliştirici ve üretici desteğine sahip. Vulkan ile DirectX 12 arasındaki bir diğer büyük fark ise Vulkan'ın grafik işlemcisi üzerinde direkt olarak kontrol sağlayabilecek olması. Bu sayede grafik çekirdeğinin performansı ihtiyaca göre oyunlarda değiştirilebilecek. Geliştiriciler yoğun grafiksel hesaplamalar gerektiren sahnelerde donanımdan daha verimli bir şekilde yararlanabilecek. Yani oyuncular oyunlarda daha karmaşık efektler içeren sahnelere bilgisayarlarını zorlamadan tanık olabilecekler.

Vulkan'ın oyun geliştiricilerine sunduğu bir diğer esneklik de shaderları farklı dillerde yazmalarına imkan tanıması. DirectX'te ise belli bir programlama dilinde shaderların yazılması gerekiyor.

DirectX 12'nin Vulkan karşısında üstün olduğu noktalar da elbet ki mevcut. Bu noktaların en önemlisi çift ekran kartı kullanma konusunda sunduğu esneklik. Normalde bilgisayarımızda çift ekran kartlı bir sistem için SLI veya Crossfire seçeneklerini kullanmaktayız. Bu sistemlerde aynı markaya ait 2 adet ekran kartı birleştiriliyor. DirectX 12'de ise Nvidia ve AMD markalı 2 farklı ekran kartının gücünü aynı sistem üzerinde birleştirebileceğiz. Tabi çift ekran kartına sahip bir sistem düşünmüyorsanız DirectX 12'nin bu avantajını göz ardı edebilirsiniz.

Vulkan, DirectX 12'yi Devirebilecek mi?

Daha elimizde detaylı DirectX 12 ve Vulkan performans karşılaştırmaları olmadığı için iki arayüzü bu anlamda değerlendiremiyoruz; fakat geliştirici tabanı açısından Vulkan'ın Windows 10 ve DirectX 12 tabanını yavaşça kaydırmaya başlayabileceğini söyleyebiliriz. Geliştiriciler sahip olacakları esneklik açısından zamanla Vulkan'a yönelmeye başlayacaklar. Daha az masraf yapmak ve daha kaliteli işler çıkarmak elbet ki her geliştiricinin doğal olarak tercih edeceği bir yol; tabi Microsoft karşı bir adım atıp işi kızıştırmazsa. Sonuçta kazanan yine oyuncular olacak.

Vulkan'ın DirectX 12'nin can alıcı özelliklerini bünyesinde barındırıyor olması ve bunun yanında ek özellikler de sunması, bu arayüzle daha fazla sayıda oyunun geliştirilecek olabilme ihtimali Microsoft'un ciddi derecede kafa yorması gereken bir durum. Vulkan uzun vadede oyuncuları SteamOS gibi ücretsiz Linux işletim sistemlerine taşıyarak Windows kullanıcı tabanını da eritme potansiyeline sahip.

YORUMLAR