Download.it arama simgesi
Advertisement

Oyunlarda grafik ve multimedya performansını artıran, modern donanımlarla uyumlu gelişmiş bir çoklu ortam altyapısı

Oyunlarda grafik ve multimedya performansını artıran, modern donanımlarla uyumlu gelişmiş bir çoklu ortam altyapısı

Oyla (8.040 oy)

Program lisansı Ücretsiz

Geliştirici Microsoft

Sürüm 9.29.1974.20210222

Şunun altında çalışır Windows

Oyla

(8.040 oy)

Geliştirici

Microsoft

Şunun altında çalışır

Windows

Program lisansı

Ücretsiz

Sürüm

9.29.1974.20210222

DirectX, Windows üzerinde özellikle oyun ve multimedya odaklı yazılımların donanımla daha doğrudan konuşmasına yardım eden bir teknoloji ailesi olarak konumlanıyor. Grafik, ses, metin ve denetleyici gibi farklı alanlarda sunulan API’lerle, geliştiricinin modern sistemlerin hızlandırma imkanlarından yararlanmasını hedefliyor.

Kısaca, Windows için oyun geliştirenler, grafik ağırlıklı uygulamalar üretenler ve düşük seviyede medya bileşenleriyle çalışmak isteyen yazılımcılar için.

Genel yapı: tek bir ürün değil, tamamlayıcı API’ler seti

DirectX’i “tek parça” bir yazılımdan çok, farklı ihtiyaçlara ayrılmış bir altyapı paketi gibi düşünmek daha doğru. Bu yaklaşımın artısı, projenin ihtiyacına göre doğru bileşeni seçebilmeniz. Örneğin grafik tarafında Direct3D öne çıkarken, metin tarafında DirectWrite, ses tarafında XAudio2 ve denetleyici tarafında XInput ayrı ayrı rol üstleniyor.

Grafik tarafı: Direct3D ile düşük seviyede kontrol

Direct3D, grafik hattında “primitif” çizim mantığına dayanan düşük seviyeli bir arayüz sunuyor. Bunun doğal sonucu, geliştiriciye geniş bir kontrol alanı sağlanması, aynı zamanda da belirli bir grafik altyapısı bilgisi gerektirmesi. Belgelerdeki yaklaşım açık, farklı GPU uygulamalarını ortak bir soyutlamanın arkasında topluyor, fakat gerçek zamanlı çizim mantığını anlamayı yine geliştiricinin omuzlarına bırakıyor.

Ayrıca Direct3D’nin yalnızca çizimle sınırlı kalmayıp, GPU üzerinde paralel iş yükleri başlatmaya dönük “compute shader” kullanımını da kapsaması, onu saf görsellikten öte bir grafik ve hesaplama kapısı haline getiriyor.

Boyutlu çizimler ve arayüz öğeleri: Direct2D ile birlikte çalışma avantajı

Direct2D, bitmap ve vektör çizimleri için donanım hızlandırmalı bir seçenek olarak ele alınıyor ve metinle birlikte arayüz bileşenlerini üretme tarafında anlam kazanıyor. Dikkat çeken noktalardan biri de, mevcut GDI veya Direct3D kullanan kodlarla birlikte çalışacak şekilde tasarlanmış olması. Bu, köklü projelerde geçiş ve birlikte kullanım senaryolarını daha gerçekçi kılıyor.

Metin kalitesi ve düzen: DirectWrite’ın güçlü tarafı

DirectWrite, yüksek kaliteli metin işleme odağıyla ayrışıyor. Çözünürlükten bağımsız yazı tipleri, Unicode metin ve yerleşim desteği, metin düzenini cihazdan bağımsız ele alan bir yerleşim sistemi ve Direct2D ile birlikte kullanılınca donanım hızlandırmalı metin çizimi gibi başlıklar, özellikle arayüzü yoğun uygulamalarda gerçek değer üretiyor. Bir başka artı da, ölçme, çizme ve “hit-testing” gibi metinle etkileşim gereken senaryoları API düzeyinde kapsaması.

Ses ve denetleyici: XAudio2 ve XInput ile oyun odaklı parçalar

XAudio2, oyunlar için sinyal işleme ve miksleme temeli sunan düşük seviyeli bir ses API’si olarak konumlanıyor ve DirectSound yerine geçecek seçenek olarak tarif ediliyor. Bu, ses motorunu daha doğrudan yönetmek isteyen ekipler için net bir yön çiziyor.

XInput tarafında ise uyumlu denetleyicilerin durumunu sorgulama, titreşim etkileri ayarlama ve desteklenen senaryolarda kulaklık üzerinden ses giriş ve çıkışıyla ilgili aygıt bilgilerine erişme gibi yetenekler öne çıkıyor. Kısacası denetleyici etkileşimini standart bir yüzeye taşımayı hedefleyen, oyun odaklı bir arayüz.

Değerlendirme: doğru hedefte çok güçlü, fakat seçim ve seviye hassas

DirectX’in gücü, Windows oyun geliştirme dünyasında “temel yapı taşları” sunmasından geliyor. Grafik, ses, metin ve giriş bileşenlerinin ayrı ayrı ele alınması, karmaşık projelerde net bir mimari kurmayı kolaylaştırıyor. Diğer yandan, düşük seviyeli yaklaşımın getirdiği öğrenme eğrisi ve bazı “klasik” teknolojiler için yeni uygulamalarda önerilmeyen alanların varlığı, ekibin hangi parçayı neden seçtiğini iyi temellendirmesini gerektiriyor.

AVANTAJLAR

  • Grafik, ses, metin ve denetleyici tarafını ayrı API’lerle ele alan kapsamlı bir altyapı yaklaşımı
  • Donanım hızlandırma odaklı bileşenler sayesinde performans odaklı uygulama ve oyun senaryolarına uygun yapı
  • DirectWrite ile yüksek kaliteli metin çizimi ve Unicode metin ile yerleşim desteği
  • XAudio2 ve XInput gibi oyun odaklı parçalarla ses altyapısı ve kontrolcü etkileşimi için net çerçeve

DEZAVANTAJLAR

  • Direct3D gibi düşük seviyeli API’lerde, güçlü kontrol karşılığında daha fazla teknik sorumluluk ve öğrenme ihtiyacı
  • Ekosistem içinde “klasik” kabul edilen ve yeni uygulamalar için önerilmeyen teknoloji başlıklarının bulunması, doğru bileşeni seçmeyi zaman zaman zorlaştırabilir
  • Parçalı yapı, küçük projelerde bileşen seçimi ve mimari karar yükünü artırabilir