DirectX 11 ve DirectX 12: Farklar Nelerdir ve Hangisini Kullanmalısınız?
DirectX 11 ve DirectX 12: Farklar Nelerdir ve Hangisini Kullanmalısınız?
DirectX 12, DirectX 11'den daha mı iyi? İşte nasıl karşılaştırdıkları...

DirectX 12, 2015 yılında Windows 10 ile birlikte piyasaya sürüldü. Piyasaya sürülmesiyle birlikte Microsoft'un DirectX 12'si, oyuncular ve oyun geliştiricileri için yeni bir çağ başlattı. GPU performansını artırırken CPU ek yükünü azaltabilen DirectX 12, kısa sürede adından söz ettirdi.

Ancak, performansınızı artırmak gerçekten de DirectX 11'den DirectX 12'ye geçmek kadar basit mi? DirectX 11 ve 12 arasındaki farklara bakarak öğrenelim.

Microsoft DirectX'e genel bakışımızda açıklandığı gibi DirectX, multimedya ile ilgili görevleri yürütmek için kullanılan bir API koleksiyonudur. Bu, Windows ve Xbox gibi Microsoft tabanlı platformlarda oyun programlamayı içerir. Biraz bağlam sağlamak için, kısaca API'lerden bahsedelim.

Bir uygulama programlama arayüzü (API), API'lere genel bakışımızda tartıştığımız iki veya daha fazla bilgisayar programının birbiriyle iletişim kurmasını mümkün kılar. Telefon gibi düşün. Annen sana bir alışveriş listesi içeren bir metin gönderirse, telefonun bu verileri alır ve senin için görüntüler. Bu temelde bir API'dir.

DirectX 11 ve DirectX 12 Arasındaki Farklar Nelerdir?

Peki, DirectX 11 ile DirectX 12 arasındaki farklar nelerdir? Basitçe söylemek gerekirse, DirectX 12, DirectX'in en son sürümüdür. İkisi arasındaki en göze çarpan farklardan biri, donanımınızla nasıl etkileşime girdikleridir. DirectX 11 ile geliştirilen oyunların çoğu yalnızca iki ila dört CPU çekirdeği kullanır. Bu çekirdeklerden biri genellikle GPU'ya ne yapacağını söylemeye adanmıştır.

Oyun daha sonra, bir oyunun parçacıkları veya çizim mesafesi gibi çeşitli CPU yoğun ayarları işlemek için kalan çekirdekleri kullanır. Öte yandan DirectX 12, bir CPU'nun iş yükünü birden çok çekirdeğe yayar ve ayrıca her çekirdeğin GPU ile aynı anda konuşmasına olanak tanır.

DirectX 12 ayrıca bazı süslü çan ve ıslıklarla birlikte gelir. Bu, eşzamansız bilgi işlem ve ardışık düzen durumu nesnelerini (PSO'lar) içerir. Eşzamansız bilgi işlem, birden çok iş yükünün paralel çalışmasına izin vererek GPU kullanımını artırır. Bu, esas olarak GPU'nuzun tam potansiyelini ortaya çıkarır.

GPU'nuz, grafik işlemenin yanı sıra, makine öğrenimi algoritmalarını çalıştırmak gibi çok çeşitli başka görevlerin yürütülmesinden de sorumludur. DirectX 11 ile GPU, bu görevlerden yalnızca birini aynı anda ve belirli bir sırayla gerçekleştirebilir. Bu meydana geldiğinde, tüm GPU kaynaklarınız kullanılmadığından performans darbe alır.

Bir restoranda garson gibi düşünün. Bir garson siparişinizi ilk aldığında, önce ne içmek istediğinizi sorar. İçeceklerinizi aldıktan sonra, ana yemek için ne istediğinizi soruyorlar. Siparişiniz adım adım alınır. Garson, ana yemeğinizi yemeden önce tatlı olarak ne istediğinizi sormayacak. Bu etkili olsa da, olabileceği kadar verimli değil.

Game Graphics Pipeline Explained by Tom Petersen of nVidia

Bilgi işlemde, garsonun görevlerinin her biri farklı bir GPU kaynağı tarafından gerçekleştirilir. İçkinizi alana kadar, ana yemek siparişinizi almak için gereken GPU kaynakları atıl durumda olacaktır. DirectX 12'nin asenkron hesaplaması ile garson, bir fast food zincirindeki gibi siparişinizi tek seferde alabilecektir. Bu, GPU kullanımını en üst düzeye çıkarır ve oyun performansınızı artırır.

DirectX 12 ayrıca PSO'ları da tanıttı. DirectX 11 ile, bir oyunun geometrisi işlenmek üzere GPU'ya gönderildiğinde, bu verilerin yorumlanmasından ve işlenmesinden çeşitli donanım ayarları sorumludur. Buna grafik ardışık düzeni adı verilir ve GPU'nuz çerçeveleri işlerken oluşan veri girişleri ve çıkışlarının akışıdır. Ancak, DirectX 11'in grafik hattı mükemmel değildir.

Bu ardışık düzen, diğer bileşenlerin yanı sıra rasterleştirme durumu, harmanlama durumu ve derinlik şablon durumu dahil olmak üzere farklı durumların bir koleksiyonunu içerir. DirectX 11'de, bu farklı durumlar arasında bağımlılıklar vardır. Sonuç olarak, önceki durum tanımlanana kadar bir durum tamamlanamaz. Bu, GPU kullanımını azaltır ve performans pahasına CPU ek yükünü artırır.

Bunu aşmak için DirectX 12, tüm grafik hattının durumunu açıklayan nesneler olan PSO'ları tanıttı. PSO'lar, bir görüntü oluşturmak için gereken çeşitli durumları ve bileşenleri içeren bir şişe gibidir. Bu, GPU'nun mevcut grafik işlem hattına dayalı olarak durumları sürekli olarak yeniden hesaplamak yerine her bağımlı durumu önceden işlemesine olanak tanır.

Bu, DirectX 11'de bulunan CPU ek yükünü önemli ölçüde azaltır ve performansı artırır. Peki, bu fark aslında neye benziyor? Microsoft'a göre DirectX 12, CPU yükünü yüzde 50'ye kadar azaltır ve GPU performansını yüzde 20'ye kadar artırır. Bunlar bazı önemli iyileştirmeler olsa da, bu aynı sonuçları göreceğiniz anlamına gelmez.

Fortnite - DirectX 11 vs DirectX 12 vs Performance Mode - FPS Test

DirextX 11'den DirectX 12'ye Geçiş Neden Kolay Değil?

DirectX 11 ilk olarak 27 Ekim 2009'da Windows Vista için piyasaya sürüldü. Böylece, 2015'te DirectX 12'nin ardından DirectX 11 ile DirectX 12 arasında altı yıllık bir boşluk oluştu. Bu süre zarfında, DirectX 11 kullanılarak binlerce oyun geliştirildi. Ne yazık ki, DirectX 11'den DirectX 12'ye geçiş yapmak hiç de kolay değil.

DirectX 11, üst düzey API olarak adlandırılan şeydir. Basitçe söylemek gerekirse, geliştiricilerin üst düzey API'lerle çalışması daha kolaydır. Sonuç, kararlı, gösterişli ve oynanabilir oyunlardır. Öte yandan, DirectX 12, düşük seviyeli bir API'dir ve DirectX 11'e kıyasla farklı bir canavardır. Geliştiricilerin optimizasyonda ayrıntılı bir şekilde ince ayar yapmasına izin verirken, aynı zamanda kullanımı kapsamlı bilgi gerektirir.

Bununla birlikte, DirectX 12'de geliştirilen bir oyun, geliştiricinin API bilgisine bağlı olarak daha kötü performansla sonuçlanabilir. DirectX 12 ile gelen iyileştirmeler var, ancak gerçekten bir geliştiricinin bunu ne kadar iyi uygulayabileceği önemli. Bu nedenle birçok geliştirici, DirectX 11 gibi üst düzey API'lere bağlı kalmayı seçiyor.

DirectX 11'i mi yoksa DirectX 12'yi mi Seçmelisiniz?

Cevap, hangi oyunu çalıştırmaya çalıştığınız gibi birkaç şeye bağlıdır. Örneğin Guild Wars 2, DirectX 11 üzerinde çalışır. İşletim sisteminiz ve donanımınız DirectX 12 kullanıyor olsa bile oyun desteklemediği için Guild Wars 2'de DirectX 11'i seçme seçeneğiniz olmayacaktır. Bu tamamen geliştirici ArenaNet'in kararıdır.

İster inanın ister inanmayın, ArenaNet'in DirectX 9'dan DirectX 11'e geçmesi dokuz yıl sürdü. Ancak, hem DirectX 11'i hem de DirectX 12'yi destekleyen bazı oyunlar var. Örneğin, Fortnite (Fortnite bilgi sayfamızı okuyun). Oyunun ayarları aracılığıyla, kullanıcılar her iki sürüm arasında geçiş yapabilir. Özetlemek gerekirse, her oyun hem DirectX 11'i hem de DirectX 12'yi desteklemez. Destekleyenler için, ikisi arasında geçiş yapın ve PC'nizde hangisinin daha iyi performans gösterdiğini kendiniz belirleyin.

DirectX 11 ve DirectX 12 arasında seçim yapıp yapamayacağınız da donanımınıza bağlı olacaktır. Hemen hemen tüm modern GPU'lar DirectX 12'yi destekler, ancak Radeon HD 4870 gibi daha eski GPU'lar için aynı şey söylenemez. 2008'de piyasaya sürülen bu GPU, yalnızca DirectX 10'a kadar destekler. DirectX 11 ve DirectX 12 kullanılarak çalışan modern oyunlar.

DirectX 12 Sizin İçin Doğru Seçim mi?

Sonuç olarak, DirectX 11'den DirectX 12'ye geçiş göründüğü kadar siyah beyaz değildir. Donanım, yazılım, işletim sistemi ve bir oyunun her ikisini de destekleyip desteklemediği gibi çeşitli faktörlere bağlıdır. Bir karar vermeden önce bunların hepsinin göz önünde bulundurulması gerekir ve bu büyük olasılıkla DirectX'in gelecek nesilleri için de geçerli olacaktır.

PlusHaber
Resmi Doğrulanmış Hesap

PlusHaber, haber paylaşma kültürüne katkıda bulunmak ve herkesin fikirlerini ve haberlerini dünya çapında paylaşmasına izin vermek için tasarlandı. Kullanıcılar, haber paylaşma kültürüne katkıda bulunmak için PlusHaber'i kullanabilirler ve dünya çapında haber paylaşma deneyimi yaşayabilirler.

Bu İçeriğe Tepki Ver (en fazla 3 tepki)

Yorumlar

https://www.plushaber.com.tr/assets/images/user-avatar-s.jpg
Bunun için ilk yorumu yazın!