Geçmişte, oyunlar çok karmaşık değildi. Oynanabilir seviyeler oldukça küçüktü, karakterler azdı ve dokular basitti. Yıllar geçtikçe, oyunlar katlanarak gelişti. Devasa açık dünyalardan son derece ayrıntılı karakterlere kadar, oyunlar genellikle fotogerçekçi görünebiliyor.

Ancak tüm bu yeniliklerin bir bedeli var.

Modern oyunlar, bu güzel karakterleri ve ortamları oluşturmak için onlarca gigabayt veriye ihtiyaç duyar. Ancak oyun geliştiricilerinin kullandığı bazı araçlar, bu kadar büyük miktarda veriyi işlemek için oluşturulmamıştı ve bu da performans darboğazı yaratıyor.

İşte Microsoft DirectStorage’ın devreye girdiği yer burası.

Neden Microsoft DirectStorage’a İhtiyacımız Var?

DirectStorage’ı tartışmadan önce, mevcut veri akışı yöntemlerinin nasıl çalıştığına bir göz atalım.

Bir oyunu başlattığınızda, ekranda size sunmak için dokular, karakter modelleri ve ses gibi verilere ihtiyacı vardır. Bu veriler, sabit sürücü gibi bir depolama aygıtında depolanır. Oyun, bu verileri Uygulama Programlama Arayüzleri (API’ler) olarak bilinen yazılım araçları aracılığıyla ister.

Oyun, verileri bir API aracılığıyla talep ettikten sonra, verileri depolama aygıtından alır ve işleme için GPU’ya iletmeden önce sistem RAM’ine yerleştirir. Bir oyun indirdiğinizde, mümkün olduğunca fazla depolama alanı kazanmak için tüm veriler sıkıştırılır. Ancak GPU’lar sıkıştırılmış verileri kullanamaz. Bu nedenle, sıkıştırılması gerekir. Böylece veriler RAM’e girdikten sonra dekompresyon için CPU’ya gider. Açıldıktan sonra oyunun istediği veriler GPU’nun VRAM’ına kopyalanır. Son olarak GPU, bu verileri ekranda gördüğümüz güzel grafiklere dönüştürür.

Oldukça uzun bir süreç değil mi?

Bu akış yönteminin iki büyük dezavantajı var

İlk olarak, veri sıkıştırması çok zaman alır. Bu sadece oyun yükleme sürelerinin artmasına neden olmakla kalmaz, aynı zamanda CPU’nun diğer görevler için kullanılamamasına da neden olur. Ve CPU çoğu zaman dekompresyona yakalandığı için GPU’nun taleplerini karşılayamaz ve bu da daha düşük kare hızlarına neden olur.

OKUYUN  Far Cry 6'nın ilk oynanış gösterim tarihi açıklandı

İkincisi, mevcut depolama API’leri modern depolama donanımının tüm avantajlarından faydalanmaz. Örneğin, o zamanlar depolama aygıtları, saniyede gigabaytlarca veri gönderecek hıza ve bant genişliğine sahip olmayan yavaş mekanik sabit disklerdi. Bu nedenle, API’ler yalnızca sınırlı miktarda veri akışı sağlamak için yazılmıştır. Bugün bu eski API’leri kullanan geliştiriciler, çok sayıda varlığa olan ihtiyacı en aza indirmek için sahne karmaşıklığını azaltmak, yalnızca dokuları ve oynatıcının görebileceği ortamı oluşturmak ve bunların uyumlu olduğundan emin olmak için yükleme sürelerini artırmak gibi yöntemler kullanarak bu sınırlı veri akışı bütçesini aşmak zorundadır.

DirectStorage, geliştiricilerin bu sorunları daha iyi bir veri akışı süreci aracılığıyla çözmelerine yardımcı olmayı amaçlar.

Microsoft DirectStorage nasıl çalışıyor?

Microsoft DirectStorage, mevcut API’lerde yanlış olan her şeyi düzeltmeyi amaçlayan bir dizi depolama API’sidir. Bir geliştirici, depolama aygıtından veri istemek için DirectStorage API’lerini çağırdığında, süreç iki büyük fark dışında neredeyse aynıdır.

İlk olarak, verileri RAM’e kopyaladıktan sonra CPU dekompresyon rutini yoktur. Veriler CPU’ya kopyalanmaz ve sıkıştırılmaz. Eski API’lerin aksine, sıkıştırılmış veriler doğrudan GPU’ya gönderilir.

İkincisi, API’ler süper hızlı NVMe SSD donanımından tam olarak yararlanır. NVMe SSD’ler mekanik sabit sürücülerden kat kat daha yüksek bant genişliğine sahip olduğundan, DirectStorage’ın çalışması için bir NVMe SSD’ye ihtiyacı vardır. DirectStorage, aynı anda birçok veriyi okumak için bu SSD’lerin GB/s sırasına göre tam bant genişliğini kullanır. Bu, verileri yavaş ve MB/sn düzeninde okuyan eski API’lerden farklıdır.

Böylece GPU aynı anda çok sayıda sıkıştırılmış veri alır ve işlemeden önce daha fazla verinin gelmesini beklemek zorunda kalmaz. Yapılması gereken tek şey, GPU’nun işlemesi için verilerin sıkıştırmasını açmaktır. DirectStorage, son teknoloji GPU dekompresyon teknikleriyle paketlenir. GPU’lar, verileri CPU’lardan çok daha yüksek bir oranda açar. Ayrıca, bir CPU’nun yapamayacağı bu yüksek hızlı dekompresyonu uzun süre sürdürebilirler. GPU’yu veri dekompresyonunun geleceği için ana aday yapan şey budur.

OKUYUN  Seagate, piyasaya sürdüğü sabit disklerin toplam hacminin 3 Zettabayt'ı geçtiğini açıkladı!

Dekompresyonun GPU’ya yüklenmesi, CPU’nun sesi işleme ve görüntülenecek kareleri hazırlama gibi diğer görevleri yerine getirmesini de sağlar.

DirectStorage oyun performansını nasıl artıracak?

DirectStorage, GPU’nuza inanılmaz derecede hızlı bir şekilde çok fazla veri sağladığı için oyun deneyiminizde devrim yaratabilir.

İlk olarak, geliştiriciler oyunlarını DirectStorage ile kurarlarsa, oyunların neredeyse anında yükleme süreleri olacaktır. Böylece, en sevdiğiniz oyuna atlamak için uzun bir yükleme ekranında oturmak için beklemek zorunda kalmayacaksınız.

İkinci olarak, DirectStorage CPU’yu diğer görevleri yerine getirmek için serbest bıraktığından performansı artırır. Diğer bir deyişle, donanımınızı yükseltmemiş olsanız bile daha iyi kare hızları elde edeceksiniz.

Son olarak, DirectStorage ile oyunlar, minimum doku pop-in ile daha geniş ve karmaşık dünyalara sahip olacak. Bu, geliştiricilerin veri akışı endişeleri nedeniyle yaratıcı vizyonlarını geri çekmeden yeni nesil oyunlar oluşturmasına olanak tanıyacak.