Rehber - Directx 12 Nedir, Ne İşe Yarar? | GsmGezgini
Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Rehber Directx 12 Nedir, Ne İşe Yarar?

TeknoCan

TeknoCan Bilişim
Emekli
Katılım
20 Eki 2015
Mesajlar
2,051
Tepkime puanı
293
Puanları
83
Konum
bursa

DirectX 12 güncellemesi ile hangi değişiklikler yaşandı? Oyunculuk açısından bunların önemi nedir? Bu yazımızda DirectX’e detaylıca göz atacağız.​

DirectX, Windows 95’in çıkışından bu yana, yani 25 yıldır bizimle. Bu süre zarfında ekran kartları bir hayli gelişim gösterirken, işletim sistemlerinin de görüntü işleme yetenekleri oldukça arttı. En son 2015 yılında Windows 10 ile beraber piyasaya çıkan DirectX 12, gitgide genişleyen yazılımsal desteği ve yeni nesil teknolojileriyle günümüzün modern grafik dünyasına “taze kan” pompalamaya devam ediyor.

Oyun dünyasının nispeten yenisi sayılabilecek büyük bütçeli üyeleri DirectX 12’nin nimetlerini kullanıp, her geçen gün gerçeğe daha yakın grafiklerle bizleri buluşturmaya devam ediyor. ve Ekim 2021’de çıkması planlanan bu bahsettiğimiz yapımlardan birkaçına örnek.

Peki DirectX nedir, oyun ve grafik dünyasında hatta yazılım dünyasında önemi nedir, son güncellemelerle beraber hangi teknolojileri sunuyor? Bu yazımızda DirectX hakkında aklınızda oluşan bütün soruları cevaplayacağız.

DirectX Nedir?​

Basitçe söylemek gerekirse DirectX, Microsoft tarafından geliştirilen ve bilgisayarın donanım bileşenleriyle konuşan bir yazılımdır. Spesifik olarak, Windows platformunda 2B ve 3B vektör grafikleri oluşturma, video oluşturma ve ses çalma ile ilgili görevleri yerine getirmek için tasarlanmış bir uygulama programlama arabirimleri veya API’ler topluluğudur.

DirectX’in Ortaya Çıkışı​

Takvimler 15 Ağustos 1995’i işaret ettiğinde artık PC dünyası yapısal olarak bambaşka bir döneme giriyor, aynı zamanda birçok yazılımcı da hayli endişelenmeye başlıyordu. Windows 95’in ilk sürümünün yayınlandığı o gün, Windows ve MS-DOS ayrımı gerçekleşmişti ve yeni işletim sisteminin yapısal olarak 32-bit korumalı kod mimarisi altında çalışmaya başlayacağı açıkça anlaşılmıştı.

DirectX’in Geliştirilmesinin Asıl Sebebi: Korumalı Kod Mimarisi​

ne olduğundan kısaca bahsedelim. Eskiden işletim sistemleri donanımla daha fazla etkileşimde kalarak “işbirlikçi çoklu görev” yapısıyla (cooperative-multitasking) 16-bit mimaride çalışıyordu. Bilgisayarların ve işletim sistemlerinin ilk günlerinde, sistemde çalışan çeşitli işlemler hakkında pek endişelenecek bir şey olmadığından, o güne kadar arka planda çalışan işlemlerin birbirini etkilemesi ve sistemde güvenlik veya kararlılık anlamında sorun yaratması pek olası görülmüyordu. Fakat zaman değişmiş, bilgisayarlar geniş kitlelere ulaşmış ve yazılımların artışıyla beraber yazılımcılardan kaynaklanan bazı hataların olumsuz etkileri çok daha ağır olmaya başlamıştı.

İşte bu yüzden Intel tarafından “korumalı kod modu” veya “korumalı kod mimarisi” olarak bilinen bir yapı geliştirildi. Böylece çalışan işlemler kendi bellek alanının dışına çıkamıyor ve işkesme (BIOS işkesme çağrıları, işletim sistemleri ve uygulamaların bilgisayarlarda BIOS yazılımının olanaklarını çağırmak için kullandığı bir yöntemdir) kullanılması engelleniyordu. Böylece nispeten daha güvenli ve stabil bir işletim sistemiyle beraber yazılım ortamı oluşturuldu, korumalı kod yavaş yavaş sektör standardı olmaya başladı.

Eğer günümüzde korumalı kod mimarisini kullanmasaydık, bilerek veya ufak hatalar nedeniyle ilgili programın kendi bellek alanının dışına çıkması sonucu sürekli hatalarla karşılaşacaktık. Veya daha kötüsü, kullandığımız birçok yazılım birbirini etkileyebilecek durumda olacaktı.

Korumalı kod mimarisinde bellek adresleme
Korumalı kod mimarisinde bellek adresleme.​

DirectX Tanıtılıyor​

Windows 95 ile kullanılmaya başlanılan korumalı kod yapısı sebebiyle görüntü işleme alanında uzmanlaşmış yazılımcılar, donanımdan tam olarak faydalanmakta bir hayli zorlanıyordu. Önceki işletim sistemlerinde grafik işlemci (GPU) gücünden tamamen yararlanılabilirken, Windows 95’in çıkmasıyla beraber işler iyice karmaşık bir hale gelmişti.

Microsoft bu sürecin olumsuz etkilerini hafifletmek ve görüntü işleme sürecini daha da kolaylaştırmak için 30 Eylül 1995 tarihinde geliştirmiş olduğu DirectX adı verilen düşük seviyeli bir dizi API’yi (Application Programming Interface/Uygulama Programlama Arayüzü) geliştiricilerin kullanımına açtı. Böylece DirectX doğmuş oldu.

Bildiğiniz gibi oyunlar ve görüntü işleme alanında en küçük yapımdan tutun, en büyük yapıma kadar birçok program C++ gibi bir dil ile yazılmakta. Görüntü işleme sürecine kolaylık sağlaması, bilgisayarlarda ortak bir kütüphane olarak yer edinmesi, donanımla etkileşimin daha iyi sağlanabilmesi nedeniyle DirectX yıllardır bu sektörün vazgeçilmezi oldu.

DirectX yalnızca grafik anlamında değil; aynı zamanda ses, video, müzik ve çeşitli çevresel giriş birimleri gibi hemen hemen ihtiyaç duyulan her şey hakkında kolaylık sunuyor. DirectX sayesinde ilgili aygıtların sürücüleri yardımıyla gelen komutlar, API kullanılarak çevriliyor ve bunlar oyunların anladığı kod dizileri olarak son halini alıyor.

DirectX 12 Nedir?​

Microsoft en gelişmiş multimedya kütüphanelerinden biri olan DirectX’i yıllardır terk etmedi, desteği ve sunduğu güncellemeleriyle beraber koca bir endüstri standardı haline getirdi. DirectX 12 ise Windows 10’un piyasaya çıkışıyla beraber 2015 yılının Temmuz ayında geliştiricilerin kullanımına sunulan DirectX sürümü oldu. Microsoft, 2015 yılından beri DirectX 12 sürümünü sürekli yeni teknolojiler ve güncellemeler ile desteklemeye devam ediyor.


DirectX 12 Ultimate İle Gelen Yeni Teknolojiler​

Önceki DirectX güncellemelerinde genel itibariyle pek büyük değişiklikler söz konusu olmadığından sürüm numaralandırma kuralı uygulanıyordu. Örneğin 2009 sonbaharında DirectX 11, 2012’de 11.1, bir sene sonra 2013 yılında sunulan sürüm ise 11.2 şeklinde yayınlandı. Fakat DirectX 12 sürümü tam 5 sene boyunca duyurulana kadar 12 olarak kaldı.

Bu revizyonla beraber Direct3D ve DirectX RayTracing’e önemli güncellemeler geldi. Bu nedenle eski sürümlere gelen yeni özelliklere isterseniz hızlıca bir göz atalım.
  • Değişken Oranlı Gölgelendirme (Variable Rate Shading)​
  • Mesh Gölgelendirici (Mesh Shaders)​
  • Örnekli Geri Bildirim (Sampler Feedback)​

Değişken Oranlı Gölgelendirme​

Bu özelliklerden ilki, geliştiricilerin ve gölgelendiricilerin sahneye veya sahnenin bir kısmına, hatta bir nesneye ne sıklıkla uygulandığının kontrol edilmesine imkan tanıyor. Normalde bir shader çerçeve içerisinde yer alan her bir piksele uygulanıyor fakat VRS ile bir piksel bloğunun (2×2, 4×4 gibi) üzerinde gölgelendirici çalıştırmak mümkün hale geliyor. Bu her ne kadar görsel anlamda bir kalite düşüşüne neden olsa da performans anlamında önemli ölçüde olumlu bir etkiye sahip. Bu nedenle uzakta olduğu veya hızlı hareket ettiği için süper doğru gözükmesi gereken bir şey yoksa gölgelendirici oranlamayı düşürmek oldukça mantıklı.

Mesh Gölgelendirici​

, geometri işlem hattının yeteneklerini ve performansını artırmaya yarayan bir teknoloji. Mesh gölgelendiriciler, ilkellerin ve tepe noktalarının rasterleştiriciden önce toplu işlenmesi yoluyla Vertex ve Geometry gölgelendiricilerin özelliklerini tek bir gölgelendirici aşamasına dahil ediyor. Gölgelendiriciler ayrıca geometriyi yükseltebiliyor ve azaltabiliyor.

Bu özellik sayesinde oyunlardaki karmaşık modeller ve sahnelerin performansa etkisi azaltılabiliyor. Bu, yıllardır geometri gölgelendiricileri (geometry shaders) ve mozaikleme (tessellation) ile söylenen fakat lafta kalan bir şeydi ama artık tamamen gerçek.


Örnekleyici Geri Bildirim​

Örnekleyici geri bildirim özelliği de benzer şekilde geliştiriciye daha fazla kontrol imkanı sağlıyor fakat bu özellikte kontrol imkanının fazlasıyla sağlandığı şey dokudur. Örnekleyici geri bildirim özelliğinin potansiyel anlamda avantajı ise bellekten GPU’ya aktarılması gereken doku öğelerinin miktarının azaltılmasıyla beraber, oyuna ait nesnelerin doku olarak oluşturulduğu zamanlarda bunların daha etkili kullanılmasına imkan tanınması.

Microsoft-Yanit-Karsilastirmasi.gif
Örnekleyici Geri Bildirim teknolojisinin bellek avantajını gösteren hareketli görsel. – Kaynak: Microsoft​

Konsollar ve PC için Ortak Kütüphane Fikri​

DirectX 12 Ultimate’ın en son özelliği ise harika bir grafik özelliği veya veri işleme ile alakalı bir API değil. Microsoft, son güncellemeyle beraber Windows ve Xbox platformu için olan API’lerini ortak toplu bir kütüphanede birleştiriyor. Böylece iki platform arası geçiş daha az çalışmayla daha kolay bir şekilde yapılabilecek.

Aslında orijinal ilk Xbox’lardan beri Microsoft’un fikri buydu fakat 360 ile beraber bilgisayarlardan fazlasıyla donanımsal ve yazılımsal olarak uzaklaşılmıştı. Series X ve S konsollarıyla beraber bu gidişat biraz daha farklı bir yöne evrildi. Konsollar artık tekrardan bir PC olmaya yakın hale geldiğinden, yazılımsal anlamda da böylesine bir ortak kütüphanenin oluşturulması zaten beklenen bir hamleydi.

Geliştirici Cephesinin Kullanıcıya Yansımaları ve Sonuç​

Tüm yazı boyunca değindiğimiz şey aslında sadece geliştiricileri ilgilendirse de bu işin sonunda asıl fayda görecek olan kullanıcılar. Geliştiricilerin ana odak noktası halen gerçekçi grafikler olsa da, ışın izleme söz konusu olduğunda Microsoft performansı ve gelişimi yakından takip etti. Aslında bütün bu yeni güncellemeler ve ek kütüphanelerin geliştirilmesinin nedeni, donanım üreticilerinin eskiye nazaran daha güçlü donanımlar üretmekte zorlanmasından kaynaklanıyor.

Sadece oyunları en iyi ayarlarda oynamak ve iyi kare hızları elde etmek için kimse bir ekran kartına 1000 dolar veremez ve vermek de istemez. Ve üreticiler ürünlerinin azınlıktan ziyade olabildiğince halk tabanındaki son tüketiciye ulaşmasını ister. Bu nedenle uygun fiyata çok daha iyi performans alınabilecek donanımlar üretmek bu nedenle oldukça önem arz eder.

İşte bütün bu geliştirmeler ve DirectX 12 Ultimate güncellemesi herkesin oyunlardan keyif alabilmesi için yapılan şeylerden birkaçı. Sizlerin de eklemek istediği bir şey varsa yorumlarda belirtebilir, sorularınız için konu açabilirsiniz.​
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap
Lütfen dikkat !!!

"sssdsdsf" Tarzı cevap ve yorumlar yazılması yasaktır!

( Flood ) ard arda cevap ve yorumlar yazılması yasaktır!

Bu tip yorum ve cevap yazanlar uyarılmaksınız Süresiz uzaklaştırılacaktır!

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar