DirectX kütüphaneleri, PC'de oyun oynamak için hala vazgeçilmezdir. Bunun nedeni sadece teknik özellikleri değil, aynı zamanda Microsoft'un bilgisayar masaüstündeki hakimiyetidir. DirectX, Microsoft'un PC oyunlarını tekelleştirmesine yardımcı olmuştur; çünkü Windows işletim sistemlerine ve Xbox ekosistemine dahil edilmiştir.

Bugün, bu uygulama programlama arayüzü (API) hakkında güncel bilgiler sunuyoruz. Bu kütüphaneler, özellikle video oyunları gibi multimedya uygulamalarının geliştirilmesinde kullanılmaktadır. OpenGL ve onun umut verici son versiyonu Vulkan gibi daha açık standartlaştırılmış diğer spesifikasyonlar mevcut olsa da, Windows'un PC'lerdeki hakimiyeti, DirectX'i kişisel bilgisayar oyunları için referans haline getirmiştir ve bu durum, Windows'un OS X ve Linux gibi diğer bilgisayar masaüstlerine göre en belirgin avantajlarından biridir.

DirectX Nereden Geldi?

Eski kullanıcılar hatırlayacaktır ki, Windows 95'ten önce PC oyunları genellikle zorlu bir süreçti; çünkü DOS sistemi ve önyükleme disketleri kullanmak gerekiyordu. Oyunların donanım kaynaklarına doğrudan erişimini sağlamak için, önce DOS'ta başlatmak ve config.sys ve autoexec.bat dosyalarında özel argümanlar kullanmak gerekiyordu.

Microsoft, Windows işletim sistemini oyuncular arasında popüler hale getirmek için, oyun geliştiricilerine ürünlerinin Windows'ta donanım kaynaklarına erişim sağlaması için bir yol sunması gerektiğini hızlıca fark etti.

DirectX'in ilk versiyonu, Haziran 1996'da Windows 95 ve NT 4.0 için yayımlandı. Başlangıçta benimseme yavaş oldu, ancak çok geçmeden DirectX güçlü hale geldi. Bazı eleştirmenler, OpenGL gibi diğer arayüzlerin donanım kullanımında daha verimli olduğunu, çoklu platformda standart bir API olarak telif hakkı ödemeden açık olduğunu ve esasen Microsoft tarafından kontrol edilmediğini, özellikle de yalnızca Windows işletim sistemine bağlı olduğunu öne sürüyorlar.

Bu, uzun bir tartışma konusu ama bugün için değil. Gerçek şu ki, DirectX'in gelişi PC oyun sektörünü sonsuza dek değiştirdi. Günümüzde, Windows %90 oranında bilgisayar masaüstlerini domine ediyor ve Xbox One konsolunda da kullanılıyor, bu nedenle önemi tartışılmaz.

DirectX 12, Son Versiyon

Bu multimedya kütüphanelerinin son versiyonu, Microsoft tarafından 2015 yılında sadece Windows 10 ve Xbox One için piyasaya sürüldü. Piyasaya çıktığında, özellikle dört çekirdekli işlemciler ve çoklu GPU konfigürasyonları için sistem kaynaklarını daha iyi kullanmayı vaat eden bir devrim niteliğindeydi.

Sonuçları beklenildiği gibi olmadı. Başlangıçta destek minimumdu ve son zamanlarda durum biraz iyileşse de avantajlar yavaş yavaş geldi. Teknik kapasiteden çok, geliştiricilerin tüm potansiyelini çıkarması için gereken karmaşıklık nedeniyle, iyileştirmeler önemsiz kaldı (belirli oyunlar dışında). Bellek yönetimi, çoklu GPU ve asenkron hesaplama için gereken temel teknolojilerde karmaşıklık arttı. Kısacası, DirectX 12 kağıt üzerinde büyük bir potansiyele sahip, ancak -şu ana kadar- pratikte pek bir sonuç vermedi.

Hangi Versiyonu Kullanıyorum?

Windows işletim sisteminde yüklü olan versiyonu kolayca görebilirsiniz; örneğin, sistem arama motorunu veya "çalıştır" aracını (başlat menüsünde sağ tıklayarak veya "Windows + R" kısayol tuşlarıyla) kullanarak "dxdiag" komutunu yazabilirsiniz:

DirectX Tanılama Aracı'na erişeceksiniz. "Sistem" sekmesinde yüklü olan DirectX versiyonunu göreceksiniz. "Ekran" sekmesinde ise daha fazla bilgi, yüklü grafik kartı, en son sürücü versiyonu veya etkinleştirilmesi gereken DX parametreleri gibi DirectDraw, Direct3D veya doku hızlandırması gibi bilgiler bulunacaktır. Ek bir not, API'lerle ilgili herhangi bir sorun olup olmadığını bildirir.

Bu, yüklü olan son versiyon ve Windows'un uyumlu oyunlarda tercih edeceği versiyondur; ancak başka versiyonların da yüklü olması sık rastlanan bir durumdur. Her oyunun farklı bir DirectX versiyonuna bağımlı olduğunu unutmamak gerekir. Örneğin, bir geliştirici oyunu DirectX 11'in 40 numaralı güncellemesi için yazdıysa, yalnızca o versiyon çalışacaktır ve üst versiyonlar değil. Bu nedenle, her yeni oyun yüklediğinizde, özellikle daha eski olanlar, yeni bir API versiyonu yüklenmesi olasıdır. Kütüphaneler C: \ Windows \ System32 veya/y ve C: \ Windows \ SysWOW64 dizinlerinde bulunur.

DirectX Nasıl Güncellenir?

Eskiden, DirectX kendi indirme ve kurulumuna sahipti, ancak Windows 8'den itibaren, Microsoft API'leri işletim sisteminin bir parçası olarak dahil etti.

  • Windows 10 için yalnızca DirectX 12 çalışmaktadır. Windows Update üzerinden doğrudan güncellenir. "Ayarlar> Güncelleme ve Güvenlik> Windows Update > Güncellemeleri kontrol et" yolunu izleyin.
  • Windows 8.1, DirectX 11.2'ye kadar destek sunar. Windows 10'da olduğu gibi, düzenli bir manuel indirme yoktur ve güncellemeler aynı şekilde yapılır.
  • Windows 7 için desteklenen son DirectX versiyonu 11.1'dir. Bu, Windows 7 Service Pack 1 ile birlikte gelir ve özellikle Windows Update KB2670838 güncellemesinde mevcuttur. Manuel olarak veya Windows Update üzerinden güncellenebilir.
  • Microsoft ayrıca önceki versiyonların indirilebileceği özel bir indirme sayfası tutmaktadır.

Vulkan, Büyük Alternatif

Vulkan, video oyunları ve genel olarak 3D grafik uygulamaları geliştirmek için son nesil bir platformdur. Microsoft'un DirectX'ine (veya Apple'ın Metal'ine benzer) benzer hedeflere sahiptir; düşük seviyeli erişim sağlayarak programcıların donanımın performansını daha iyi kullanmalarını sağlar.

Vulkan, DirectX 12'nin en büyük rakibidir ve teknik özelliklerinin ötesinde, çoklu platform desteği ile çeşitli cihazlar (konsollar, bilgisayarlar, tabletler, mobil cihazlar, gömülü sistemler…) ve platformlar (Linux, Android, OS X, Steam OS veya tüm Windows versiyonları…) için büyük bir avantaj sunmaktadır. Bu, Microsoft'un son API'lerinin yalnızca Windows 10'a (ve Xbox konsollarına) özel olduğunu hatırlarsak büyük bir avantajdır.

Bir diğer avantajı, açık kaynak kodu altında lisanslı bir API olmasıdır; bu da neredeyse her platforma eklenebilir. Geliştiriciler, Vulkan ile oyun kodlayabilir ve bu oyunlar farklı platformlar arasında kolayca taşınabilir.

NVIDIA, AMD ve Intel, Windows ve Linux grafik sürücülerinde Vulkan desteği sunmaktadır. Valve'ın Steam OS'i de destek sunmakta ve hatta macOS ve iOS'e ulaşmıştır; ancak Apple ticari nedenlerle Metal'i teşvik etmeyi tercih etmektedir. Ayrıca, Samsung'un Vulkan'a olan yatırımı, yeni nesil grafik API'si olarak dikkat çekmektedir ve genel olarak Google'ın Android'deki desteği de önemlidir.

Vulkan 1.1 ile birlikte, Microsoft'un API'si olan HLSL gölgeleme ve Direct3D bellek tasarımları yerel olarak eklenmiştir. Bu destek, mevcut Direct3D kodunu Vulkan'a taşıma işlemini kolaylaştıracaktır; çünkü artık tüm gölgeleme programlarını yeniden yazmaları gerekmemektedir. Bu desteği desteklemek için, Khronos, OpenCL için yazılmış programların herhangi bir Vulkan çalışma zamanına sahip GPU'da çalışabilmesi için yeni bir SPIR-V 1.3 sürümü yayınladı.

Vulkan gerçekten ilginç bir platform. Ancak kimseyi yanıltmamak için belirtmek gerekir ki, DirectX hala küresel oyun geliştirme için vazgeçilmezdir. Özellikleri kopyalanabilse de, Microsoft'un Windows ile bilgisayar masaüstündeki hakimiyeti tartışmasızdır.