Oyun Haberleri

Oyunların PC Portları Neden Makûs Durumda?

Gotham Knights, The Callisto Protocol, Wild Hearts, The Last of Us Part I, Star Wars: Jedi Survior, Redfall. Son 6-7 ayda PC’ye facia biçimde çıkan oyunlardan yalnızca birkaçı. O denli makus durumdalar ki piyasadaki en güçlü kartla bile 60 FPS almak mümkün olamıyor. Hatta bazen bırakın 60 FPS’yi, yırtılmalar ve takılmalardan oyun oynanamaz duruma geliyor.

Bu kadar fazla sayıda oyunun PC’de can cekişmesinin bir sebebi olmalı, değil mi? Bunu kestirme yoldan “Firmalar açgözlü oldukları için” diyerek cevaplayabilirsiniz ve bu hakikat da olur.Ancak buzdağının görünmeyen tarafında teknik kederler azımsanmayacak kadar fazla ve bu yazıda bu teknik kederlere odaklanacağız.

Vizyon Sancıları

Her şeyden evvel, her oyunun tıpkı geliştirme sürecine ve mantalitesine sahip olmadığını belirtmek gerek. Kimi firmalar ana platform olarak PC’yi tercih eder ve birinci olarak oyunlarını PC’de çalışacak halde geliştirirler. Akabinde bu versiyon, konsollara uyumlu olacak formda düzenlenir. Öbür firmalar ise tam zıddı, evvel konsollara akabinde PC’ye geliştirme yapar, ki günümüz AAA oyunlarında gördüğümüz trend de bu tarafta.

Bunun bu formda olmasının en büyük sebebi, ki bu sebebi sıkça lisana getireceğim, konsolların sabit bir donanım setine sahip olmasından geliyor. Yani, bir oyun geliştirilirken geliştirdiğiniz konsolun işlemcisini, ekran kartını, mimarisini vs biliyorsunuz ve bunun değişmeyeceğinin de garantisi var. Öte yandan PC’de onlarca farklı donanım kesiminden sayısız kombinasyon çıkarmak mümkün. Bu da her bir kombinasyon için farklı (ve önemli emek isteyen) bir iş manasına geliyor. Firmaların önceliği, geliştirme sürecini olabildiğince kısa tutmak istemelerinden dolayı, doğal ki de konsollar oluyor. Bu yüzden PC optimizasyon süreci, geliştirme döngüsünün en sonunda yer alıyor ve kâfi vakit kalmadığından malum tablo oluşuyor.

Shader “Belası”

PC’de yüzlerce farklı sistem oluşturabilmenin, oyun geliştiricileri için yaşattığı en büyük sıkıntılardan biri de shader. Tanımlamak gerekirse shader; ekran kartı üzerinde çalışan, oyun ekranında gördüğümüz nesnelerin ekranın neresinde (pozisyon, texture koordinatları) ve nasıl görüneceğini (renk, alfa değeri) hesaplayan bir programdır. İşlemci tarafından gerçekleştirilen bu hesaplamaların, ekranda (programcı ağzıyla demek gerekirse sahnede) yer alan nesneler daima değiştiği için devasa oranlarda yapılması gerekiyor.

The Callisto Protocol Shader Stutter. Kaynak Digital Foundry

Eğer konsollar üzere sabit bir donanıma geliştirme yapıyorsanız, tüm shader hesaplamalarını önden yapıp oyunun evrakları içerisine koyabilirsiniz. Böylelikle oyun esanasında rastgele bir hesaplamaya gerek kalmaz. Lakin PC’de oyuncunun nasıl bir kombinasyona sahip olduğu bilinmediği için shader hesaplamaları önden oyuna eklenemiyor. Bu yüzden geliştiriciler bu şiddetli duruma farklı tahliller getirmek zorunda, ki bu da vakit (ve haliyle para) isteyen bir şey.

Uygun tahlil bulunmadığı takdirde oyuncuların, anlık takılmalara maruz kalması kaçınılmaz olur. “Shader stutter” ismi verilen bu durum, bilhassa Unreal Engine 4 oyunlarında karşılaştığımız bir şey. İşlemci, kendi tarafında o kadar fazla shader hesaplaması yapıyor ki, ekrandaki değişime yetişemez oluyor ve ekran kartı, gereken shader hesaplamaları ortada olmadığı için sahneyi yenileyemiyor ve takılma gerçekleşiyor. Bu sorun, işlemcinin çoklu çekirdek kullanmaması probleminin da bir yansıması aslında.

İşlemci Çoklu Çekirdekleri

Yeni kuşak konsollarda da artık çoklu çekirdeğe sahip işlemciler var; lakin her oyun hala bu avantajı büsbütün kullanacak halde geliştirilmiyor. Buna, konsol odaklı geliştirilen bir oyunun tüm çekirdekleri kullanmasını gerektiren bir durum olmamasını neden olarak verebiliriz. Lakin bu yüzden konsolda sıkıntısız çalışan bir oyun PC’ye portlandığında işlemcinin yalnızca makul bir yüzdesi çalışır oluyor. Bu durumu düzeltmek için natürel ki tekrar ekstra kodlama, hasebiyle efor ve vakte gerek oluyor.


Gotham Knights’ın en yüsek ile en düşük grafik ayarları ortasında yalnızca 6 FPS fark olmasının sebebi CPU kullanımı. Kaynak: Digital Foundry

Eğer bu yapılmazsa, işte shader hesaplamaları üzere bir senaryo ortaya çıkıyor ve ekran kartı ne kadar güçlü olursa olsun, işlemciden istenen süratte yanıt gelmediği için oyun berbat performans veriyor. Hem ekran kartı hem de işlemci tam performansını kullanamıyor bu durumda.

RAM (Hafıza) Mimarisi Farklılığı

Belki bu yeni bir şey değil lakin konsollarda, PC’nin bilakis, tek bir RAM alanı bulunuyor. PC’de ise ekran kartının farklı (VRAM), sistemin farklı (RAM) hafızası bulunur. Ve birçok PC sistemi için toplam hafıza alanının konsollara nazaran daha fazla olduğunu rahatlıkla söyleyebiliriz. Konsol odaklı geliştirilen bir oyun PC’ye portlandığında aslında avantajlı bir pozisyona geçmiş oluyor hafıza manasında. Fakat bu avantajı kullanmak için yeniden buna uygun kod yazmış olmak gerekiyor. Ve kestirim edin bu ne gerektiriyor? Vakit ve para.

Yazılımsal Dertler

Yukarıda bahsettiğimiz tüm bu optimizasyon tahlilleri aslında API’lar aracılığıyla gerçekleşiyor. API’lar, bu husus özelinde tanımlamak gerekirse, geliştiricilerin donanımı daha kolay halde yönetmesini sağlayan yazılım hizmetleridir. API’lar da bir yazılımdır ve geliştiricilerin daha az kod yazmasını sağlar.


Star Wars: Jedi Survivor’daki FSR seçeneği oyunu önemli manada bulanıklaştırıyor. Kaynak: Digital Foundry

PC tarafında hatırı sayılır yazılım tahlilleri var. Grafik programlama özelinde, Windows’ta bilhassa DirectX, OpenGL, Vulkan kullanılıyor. Ve bu yazılımlar, her yeni versiyonda farklılaşıyor. Yeni bir ekran kartı serisi, bu versiyonları destekleyerek ve tahminen de o versiyonda daha âlâ çalışarak piyasaya çıkıyor. Ortalama bir AAA oyun geliştirme mühletinin 5 sene olduğunu düşünürsek, yalnızca bu süreçte bile NVIDIA iki nesil ilerlemiş oluyor. Bu da daha fazla iş demek oluyor PC tarafında. Piyasada yeni API’ları bilen geliştiricileri bulmak da güç olduğundan ortaya sancılı bir süreç çıkmış oluyor.

Kapanış

PC portlarının şanssız mukadderatı aslında uzun müddettir bu türlü. 90’larda da konsolların farklı mimariye sahip olmasından dolayı çok sayıda makus PC portları görüldü. Lakin o vaktin geliştiricileri artık oyun geliştirmiyor ve yatırımcı baskısı altındaki bugünün firmaları yoğurdu üfleyerek yemiyor. Bu makus talih ne vakit değişir pek bilinmez lakin son aylardaki, tüketiciye hakaret denilecek düzeydeki PC portlarının önüne geçilmesi için tahminen de ulusal manada regülasyonlara muhtaçlık var.

Haberois Editör

Türkiye'nin bir numaralı haber platformu olan Haberois, okuyucularına en güncel son dakika haberlerini tarafsız olarak sunar.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu