PC'ler için oyun geliştirmek zahmetli bir iş. Geliştiriciler, konsollar için oyun geliştirirken yalnızca birkaç markayı (Xbox, PlayStation, Nintendo), belirli işlemcileri, bellekleri ve diğer donanımları dikkate alıyorlar.
PC'lerde ise sınırsız denebilecek sayıda donanım yapılandırması bulunuyor. Oyunların farklı ekran kartlarında, anakartlarda vb. düzgün çalışmasını sağlamak, şapkadan tavşan çıkarmak gibi bir şey. Geliştiriciler bu yüzden son yıllarda konsollara yoğunlaşıyorlar. Konsollarda korsan yazılım kullanım oranı düşükken, belli donanımlar için geliştirmek, geliştiricilerin işini kolaylaştırıyor. Üstelik geliştiriciler, konsollarda donanıma direkt erişim sağlayabiliyorlar.
Bu son cümle, DirectX 12'nin kalbini oluşturuyor. PC'lerde donanım özelliklerine erişerek performansın tamamını kullanmakta Microsoft'un yeni DirectX'i önemli bir adım atıyor.
DirectX de neyin nesi?
DirectX, temel olarak Microsoft'un PC'nizin donanımlarıyla iletişim kurmaya olanak tanıyan yazılımı. DirectX içerisinde 2D ve 3D vektör grafikleriyle ilgili görevleri yerine getiren ve ses çalabilen uygulama programlama arayüzleri (yani API'lar) bulunuyor.
DirectX'in rakibi OpenGL 1992'de ortaya çıkmıştı. Khronos Group tarafından açık kaynaklı olarak geliştirilmeye devam eden OpenGL, çapraz-platform desteğine sahip bir API, ancak Windows'ta doğal olarak çalışan DirectX'in avantajlarına sahip değil.
DirectX, çoğu PC oyununun DOS platformunda çalıştığı bir dönemde Windows 95'te ortaya çıktı ve geliştiricilere ses kartı, video kartı, fare, gamepad gibi bileşenlerle "konuşma" olanağı sundu.
DirectX ilk zamanlarda çok ilgi görmedi; bunun nedeni o dönemde çoğu geliştiricinin OpenGL'yi kullanması ve DOS ortamında istediğini yapabilmesiydi. DirectX'in hiçbir yere gitmeyeceğini anlayan geliştiriciler, zamanla ondan faydalanmaya başladılar.
DirectX'in OpenGL'yi 2002'de DirectX 9 ile birlikte yolun dışına ittiği kabul ediliyor. Windows XP, DirectX'in büyümesini hızlandırıp platformu yüksek bir kararlılık seviyesine ulaştırırken Windows 10'la birlikte gelen DirectX 12'nin de en az DX9 kadar popüler olması bekleniyor.
DirectX 12 size ne yarar sağlayacak?
Son sürüme kadarki DirectX'lerin dezavantajı, konsollarda olduğu gibi donanımlara "alt-seviye" erişim sağlamamasıydı. AMD bunu çözmek üzere Mantle API'larını yayınladı. Böylece geliştiriciler, AMD yongalarından daha çok faydalanıp, yazılımlarını AMD yongaları için optimize edebileceklerdi.
AMD'nin Mantle'ı geliştiriciler tarafından beğenildi ve sıkça kullanıldı, ancak Microsoft'un donanıma daha iyi erişim sağlayan DirectX'i çok beklemeden yayınlaması nedeniyle fazla yaşamadı.
Nvidia'dan Henry Moreton, geçen seneki bir blog gönderisinde DX12'nin "CPU overhead'ini azaltarak görsel zenginlik sunmaya odaklandığını" söylemiş, şunları eklemişti: "Sürücüler ve işletim sistemi yazılımları, geçmişte bellek, durum ve senkronizasyon yönetimini geliştiriciler yerine yapıyorlardı. Ancak uygulamaların ihtiyaçlarını kusursuz bir biçimde anlayamamak, verimliliğin düşmesi sonucunu doğuruyor. DX12, kaynakları ve durumu uygulamanın direkt olarak yönetmesine ve gerekli senkronizasyonu yapmasına izin veriyor. Bunun sonucu olarak gelişmiş uygulamaların geliştiricileri, GPU'yu etkili bir biçimde kontrol edebiliyor, oyunun davranışıyla ilgili bilgilerinden faydalanabiliyorlar."
DirextX 12 iş yükünü birden fazla çekirdeğe dağıtabildiğinden oyunlarda performans artışı görmemiz mümkün. DirectX 11 bunu yapmadığından tüm işi tek çekirdek yapıyor ve bu sırada diğerleri boşta bekliyordu. Ancak bilgisayarlar, tek çekirdekli günleri çoktan geride bıraktılar ve DirectX 12'deki bu geliştirmeler, oyun tutkunları için daha yüksek FPS değerleri anlamına gelebilir.
DirectX 12'yi istiyorsanız Windows 10'a geçin
DirectX 12, PC'lerden tabletlere, telefonlardan Xbox One'a birçok alanda kullanılan, Windows 10'la gelen bir API. DirectX 12'de yeni oyunları çalıştırmaya yönelik geriye yönelik uyumluluk da bulunuyor; bu yüzden çoğu zaman eski kartınızı yeni "uyumlu" modelle değiştirmenize gerek kalmıyor.
DirectX 12'nin avantajlarından faydalanan oyunlar arasında Ashes of the Singularity, The Elder Scrolls Online, Rise of the Tomb Raider, Gears of War: Ultimate Edition, Hitman ve fazlası bulunuyor. Quantum Break, Deus Ex: Mankind Divided, Star Citizen, Forza Motorsport 6: Apex ve fazlasının yeni API'yı desteklemesi bekleniyor.
Bu yazımızda okuduklarınızın DirectX 12'nin getirdikleri hakkında oldukça basitleştirilmiş bilgiler verdiğini söyleyelim. API'yı destekleyen oyunlarda hız artışı görebileceğimiz gibi geliştiriciler, yamalar yoluyla oyunlarını DirectX 12'yi kullanacak biçimde güncelleyebilirler. Grafik kartı üreticileri AMD ve Nvidia'nın sürücüleri DirectX 12'yi sonuna kadar desteklediğinden, API'nın faydalarını gerçekten görmemiz için çok az daha beklememiz gerekecek.
Windows 10'a geçmeyi düşünüyorsanız DirectX 12 geçiş için geçerli bir neden olabilir. En son PC oyunlarını en iyi biçimde oynamak isteyenlerin Windows 10'dan başka seçeneği olmayacak gibi görünüyor. Windows 10'a yükseltmek halen ücretsiz olduğundan, dahası Windows 10, Windows 7 ve 8'in iyi bir birleşimi olduğundan, geçiş çok zor olmasa gerek.