Oyun Optimizasyonu Neden Kötü? Unreal Engine 5’in Etkisi
Oyunlarda düşük FPS, anlık takılmalar ve yükselen sistem gereksinimleri, Unreal Engine 5’i eleştirilerin odağına taşıyor. Peki performans sorunlarının ve kötü optimizasyonun sorumlusu gerçekten oyun motoru mu?
Sorunun cevabı, motorun sunduğu teknolojilerle bu teknolojilerin nasıl kullanıldığı arasındaki ilişkide yatıyor. Nanite ve Lumen, oyun geliştirmeyi kolaylaştırırken belirli donanım maliyetleri getiriyor. İşlemci darboğazları, içerik tasarımı ve optimizasyona ayrılan süre de oyuncunun karşılaştığı sonucu belirliyor. Bu nedenle performans sorunlarını yalnızca motorun adına bakarak açıklamak yeterli değil.
Oyun stüdyoları neden Unreal Engine kullanıyor
Bir oyun motorunu geliştirmek ve güncel tutmak, başlı başına büyük bir mühendislik işi. Yeni platformları desteklemek, grafik teknolojilerini yenilemek ve ekiplerin ihtiyaç duyduğu araçları hazırlamak sürekli yatırım gerektiriyor. Hazır bir motor kullanmak, stüdyoların bu yükün bir bölümünü paylaşmasını sağlıyor.
CD Projekt Red’in yeni Witcher projelerinde Unreal Engine’e geçmesi ve yeni Tomb Raider oyununun Unreal Engine 5 ile geliştirilmesi, bu değişimin dikkat çeken örnekleri. Kendi teknolojisinden vazgeçen bir stüdyo, yalnızca görüntü üretme yöntemini değiştirmiyor; çalışanlarının kullandığı araçları ve üretim sürecini de yeniden düzenliyor.
Oyuncu açısından belirleyici ölçüt ise son ürünün nasıl çalıştığı. Geliştiriciye zaman kazandıran bir teknoloji, hedef donanım gözetilmeden kullanıldığında oyuncuya daha yüksek sistem gereksinimi olarak dönebiliyor. Unreal Engine 5 tartışmasının merkezinde bu denge var.
Nanite nedir ve oyunlarda ne işe yarar
Unreal Engine 5’in Mayıs 2020’deki ilk gösteriminin öne çıkan teknolojilerinden biri Nanite’tı. Bu sistem, yüksek geometrik ayrıntıya sahip nesnelerin oyunlarda kullanılmasını ve ayrıntı seviyelerinin yönetilmesini kolaylaştırıyor.
Geleneksel yöntemde bir kaya, bina veya başka bir nesne için farklı ayrıntı seviyelerinde modeller hazırlanabiliyor. Oyuncu nesneye yaklaştıkça daha ayrıntılı model, uzaklaştıkça daha basit model kullanılıyor. Bu yaklaşım LOD, yani Level of Detail olarak adlandırılıyor.
Amaç, ekranda çok küçük görünen bir nesne için gereksiz hesaplama yapmamak. Görüş alanının dışında kalan veya başka nesneler tarafından tamamen gizlenen öğelerin çizilmemesi de yükü azaltabiliyor. Ancak motorların kullandığı yöntemler, bütün nesneleri aynı mesafede kesen tek bir görünmez çemberden daha karmaşık.
Ayrıntı seviyeleri arasındaki geçiş yeterince iyi gizlenmediğinde nesnenin şekli aniden değişebiliyor. Nesnelerin veya dokuların birden belirginleşmesi de pop-in olarak bilinen görsel soruna yol açabiliyor. Geometri ayrıntısı ile doku yüklemesi farklı süreçler olsa da oyuncu ikisini benzer bir görüntü sıçraması olarak fark edebiliyor.
Nanite, desteklenen modellerin geometrik ayrıntısını otomatik yöneterek elle LOD hazırlama ihtiyacını azaltıyor. Böylece geliştiricinin her nesne için aynı miktarda tekrar eden iş yapması gerekmiyor. Ancak geometriyi yönetmek, doku kalitesini veya oyunun bütün performansını otomatik olarak çözmek anlamına gelmiyor.
Nanite performansı her zaman düşürür mü
Nanite’ı doğrudan bir performans sorunu olarak tanımlamak yanıltıcı. Uygun içerikte geleneksel çizim yöntemlerine göre daha verimli çalışabiliyor. Sonuç; nesne yoğunluğuna, malzeme karmaşıklığına, hedef çözünürlüğe ve donanıma bağlı.
Buradaki risk, daha fazla ayrıntı kullanabilmenin sınırsız ayrıntı kullanmakla karıştırılması. Yoğun bitki örtüsü, çok sayıda üst üste gelen yüzey ve pahalı görsel efektler, sahnenin toplam maliyetini yükseltebiliyor. Nanite bazı işleri otomatikleştirse de geliştiricinin içerik bütçesini ve performansı ölçmesi gerekiyor. [1]
Lumen nedir ve ışıklandırmayı nasıl değiştirir
Unreal Engine 5’in diğer önemli teknolojisi Lumen. Lumen, dinamik global illumination ve yansımalar için kullanılan bir sistem. Işığın çevredeki yüzeylerden sekerek sahnenin başka bölümlerini aydınlatmasına yardımcı oluyor.
Geleneksel oyun geliştirmede aydınlatmanın bir bölümü önceden hesaplanıp lightmap gibi verilere kaydedilebiliyor. Baked lighting olarak adlandırılan bu yaklaşım, oyun sırasında gereken hesaplama yükünü azaltabiliyor. Özellikle büyük ölçüde sabit kalan ortamlarda etkili sonuçlar veriyor.

Bunun karşılığında, önceden hesaplanan aydınlatmanın değişen ortama uyarlanması zorlaşıyor. Günün saati değiştiğinde veya sahnedeki yapılar yıkıldığında, önceden hazırlanmış ışık verileri tek başına yeterli olmayabiliyor. Bu nedenle oyunlarda önceden hesaplanan ve dinamik yöntemler birlikte de kullanılabiliyor.
Geliştirme sırasında ortam veya ışık kaynakları değiştirildiğinde aydınlatmayı yeniden hesaplamak da zaman alabiliyor. Lumen, dinamik yaklaşımıyla bu tekrarların bir bölümünü azaltıyor ve değişikliklerin sonucunun daha hızlı görülmesini sağlıyor.
Lumen’i yalnızca yazılımsal ray tracing olarak tanımlamak ise doğru değil. Sistem, yazılımsal ve donanım hızlandırmalı ray tracing yöntemlerini destekliyor. Kullanılan yöntem, projenin ayarlarına ve donanım desteğine göre değişebiliyor. [2]
Lumen neden yüksek donanım gücü isteyebilir
Dinamik aydınlatmanın oyun çalışırken hesaplanması, önceden hazırlanmış ışık verilerinin kullanılmasına kıyasla ek bir maliyet yaratabiliyor. Özellikle yüksek kalite hedeflerinde ışıklandırma ve yansımalar, bir karenin hazırlanması için ayrılan sürenin önemli bölümünü tüketebiliyor.
Bu yük her oyunda aynı değil. Görüntü kalitesi ayarları, sahnedeki nesneler ve seçilen ray tracing yöntemi sonucu değiştiriyor. Lumen kullanan bir oyunun iyi çalışması mümkün; bunun için hedef FPS’e uygun bir kalite dengesi kurulması gerekiyor. Epic’in performans kılavuzu da sistemi farklı kare hızı hedeflerine göre ölçeklendirmeyi ele alıyor. [3]
Unreal Engine 5 oyunlarında performans neden değişiyor
Unreal Engine 5 kullanmak, her oyunda aynı grafik teknolojilerinin aynı ayarlarla kullanılması anlamına gelmiyor. Nanite ve Lumen, projenin ihtiyaçlarına göre tercih edilebiliyor; bunların yerine başka yöntemler kullanılabiliyor.
Bu nedenle iyi çalışan bir Unreal Engine 5 oyununun Nanite veya Lumen kullanmadığı sonucuna doğrudan varılamaz. Aynı şekilde, kötü çalışan bir oyunun bütün sorunlarını bu iki sisteme bağlamak da doğru olmaz.
Rekabetçi bir multiplayer oyunuyla ayrıntılı bir tek kişilik maceranın öncelikleri farklı olabiliyor. Birinde geniş donanım desteği ve yüksek FPS daha baskınken diğerinde görsel ayrıntı öne çıkabiliyor. Ancak hedef ne olursa olsun, grafik ayarlarının farklı sistemlere uygun biçimde ölçeklenmesi gerekiyor.
Asıl sorun, geliştirmeyi kolaylaştıran araçların optimizasyonun yerine geçtiğinin düşünülmesi. Hazır bir sistem kullanmak; sahne düzenini, bellek kullanımını ve hedef donanımı test etme ihtiyacını ortadan kaldırmıyor.
CPU ve GPU darboğazı oyun performansını nasıl etkiler
Oyunlarda işlemci ile ekran kartı aynı işi paylaşan iki eşdeğer parça gibi çalışmıyor. İşlemci; oyun mantığı, yapay zekâ, fizik ve çizim hazırlıkları gibi görevleri yürütürken ekran kartı görüntünün üretilmesindeki yoğun paralel hesaplamaları üstleniyor.
Bu süreçler birbirine bağlı ve kısmen eşzamanlı ilerliyor. Kare hızını, işlem hattındaki en yavaş aşama sınırlayabiliyor. İşlemci yeni işler hazırlamakta gecikirse ekran kartı bütün kapasitesini kullanamayabiliyor. Buna CPU darboğazı deniyor.
Ekran kartının görüntüyü üretmesi daha uzun sürüyorsa GPU darboğazı ortaya çıkıyor. Böyle bir durumda çözünürlüğü veya ekran kartına yüklenen grafik ayarlarını azaltmak yardımcı olabiliyor. İşlemci sınırına takılan bir oyundaysa yalnızca çözünürlüğü düşürmek aynı etkiyi göstermeyebiliyor.
Bu yüzden güçlü bir ekran kartına sahip olmak her oyunda yüksek FPS garantisi vermiyor. İşlemci, ekran kartı, bellek, depolama ve oyunun çalışma biçimi birlikte değerlendirilmek zorunda.
Unreal Engine 5 işlemciyi neden zorlayabiliyor
Unreal Engine 5’in işlemci kullanımını “bütün işi tek çekirdeğe veriyor” diye açıklamak fazla kesin bir genelleme. Motor, oyun mantığı ve render işlemleri gibi işleri farklı thread’lerde yürütebiliyor. Ancak bu işlerin hepsi sınırsız biçimde paralelleştirilemiyor. [4]
Bazı görevlerin tamamlanması için başka bir görevin bitmesi gerektiğinde bekleme oluşabiliyor. Böyle bir durumda işlemcinin toplam kullanım oranı düşük görünse bile belirli bir thread sınırına ulaşılmış olabiliyor. Daha çok çekirdek, ancak iş yükü bu çekirdeklere dağıtılabildiği ölçüde fayda sağlıyor.
Açık dünya oyunlarında uzun görüş mesafesi, kalabalık sahneler ve sürekli yüklenen yeni bölgeler bu baskıyı artırabiliyor. Donanım hızlandırmalı ray tracing de sahnenin hazırlanması ve güncellenmesi açısından ek maliyet yaratabiliyor. Sonuç yalnızca motorun sürümüne değil, oyunun içeriğine ve geliştiricinin yaptığı düzenlemelere bağlı.
Motorun önceki sürümlerin üzerine geliştirilmiş olması da tek başına kötü performansın kanıtı değil. Önemli olan, mevcut mimarinin hangi işlerde sınıra ulaştığı ve bu sınırların projede nasıl yönetildiği. Yeni motor sürümlerindeki iyileştirmelerin oyuna yansıması ise entegrasyon ve test gerektiriyor.
Düşük FPS ile anlık takılma aynı sorun değil
Bir oyunun sürekli düşük kare hızında çalışmasıyla belirli anlarda takılması farklı sorunlar. Düşük FPS, sahnenin mevcut ayarlarda donanımdan sürekli olarak fazla işlem gücü istemesinden kaynaklanabiliyor. Anlık takılmalar ise kısa süreli iş yükü sıçramalarıyla ortaya çıkabiliyor.
Örneğin shader veya pipeline hazırlığı ve yeni bölgelere ait verilerin yüklenmesi, karelerin ekrana eşit aralıklarla gelmesini bozabiliyor. Oyuncunun akıcılık olarak hissettiği şey yalnızca ortalama FPS değil, kare sürelerinin tutarlılığı. [5]
Bu ayrım, optimizasyon tartışmalarında önemli. Ortalama kare hızı yüksek olan bir oyun da sık yaşanan takılmalar nedeniyle kötü bir deneyim sunabiliyor. Dolayısıyla performansı değerlendirirken hem FPS’e hem de kare sürelerindeki dalgalanmalara bakmak gerekiyor.
Kötü oyun optimizasyonundan kim sorumlu
Performans sorunlarının sorumluluğunu yalnızca Epic Games’e veya yalnızca geliştirici ekibe yüklemek, üretim sürecinin geri kalanını gözden kaçırıyor. Motorun teknik sınırlamaları, stüdyonun içerik tercihleri ve yayın takvimi aynı sonucu etkileyebiliyor.
Epic’in sorumluluğu; motorun sınırlarını geliştirmek, performans araçları sunmak ve teknolojilerin maliyetini açıkça anlatmak. Stüdyonun sorumluluğu ise hedef donanıma uygun içerik üretmek, sorunları ölçmek ve gerekli düzenlemeleri yapmak. Yayıncı ve yönetim kararları da bu işler için ayrılan süreyi belirliyor.
Optimizasyon yalnızca çıkıştan hemen önce yapılan son bir temizlik olarak görüldüğünde, temel tasarım kararlarını değiştirmek zorlaşabiliyor. Performans hedeflerinin üretimin başından itibaren gözetilmesi bu nedenle önemli.
Yine de her sorun için “geliştiriciler uğraşmamış” sonucuna varmak mümkün değil. Oyuncunun gördüğü sonuç yetersiz olabilir; bunun nedeni ancak projenin teknik ve üretim koşulları incelendiğinde anlaşılabilir.
Unreal Engine 5 oyun sektörü için ne sağlıyor
Unreal Engine 5’in eleştirilen teknolojileri, aynı zamanda daha küçük ekiplerin ayrıntılı dünyalar üretmesine yardımcı oluyor. Otomatik geometri yönetimi, dinamik aydınlatma ve hazır geliştirme araçları, üretimin bazı aşamalarında zaman kazandırabiliyor.

Clair Obscur Expedition 33, The Alters, Cronos The New Dawn ve Hell is Us gibi yapımlar, Unreal Engine 5’in farklı türlerde kullanılabildiğini gösteriyor. Oblivion Remastered, Metal Gear Solid Delta ve Ninja Gaiden 2 Black gibi yenilenen oyunlar da motorun kullanıldığı projeler arasında.
Bu örneklerin başarısını yalnızca oyun motoruyla açıklamak doğru olmaz. Sanat yönetimi, tasarım ve ekiplerin emeği belirleyici olmaya devam ediyor. Ancak hazır araçların sağladığı üretim kolaylığını da değerlendirmeye katmak gerekiyor.
Oyuncunun beklentisi, bu kolaylığın yalnızca daha ayrıntılı görüntülere dönüşmemesi. Daha erişilebilir sistem gereksinimleri ve tutarlı bir akıcılık da aynı üretim sürecinin hedefleri arasında yer almalı.
Unreal Engine 5 optimizasyon sorunlarının tek nedeni mi
Unreal Engine 5, performans sorunlarını tek başına açıklamıyor. Nanite ve Lumen’in getirdiği olanakların bir donanım maliyeti var; bu maliyetin sahneye, kalite ayarlarına ve hedef sisteme göre yönetilmesi gerekiyor. İşlemci darboğazları ve anlık takılmalar da ayrıca ele alınmalı.
Bir oyunun motorunu bilmek, ondan beklenebilecek teknolojileri anlamaya yardımcı oluyor. İyi çalışıp çalışmayacağını belirlemek içinse oyunun kendisine bakmak gerekiyor. Görsel kalite kadar akıcılığı da üretimin başından itibaren önemseyen bir yaklaşım, oyuncunun karşılaştığı sonucu belirleyen temel unsurlardan biri.
Unreal Engine 5’in geliştiriciye sağladığı kolaylıkların değeri var. Oyuncunun bu kolaylıkların karşılığında sürekli daha pahalı donanım almak zorunda hissetmemesi de aynı derecede önemli.

