Geliştiricilere 2023'teki bilgisayar bağlantı noktalarının neden çöp gibi çalıştığını sordum

saygı dt öne çıkan resim 2
Bu hikaye, Jacob Roach'un PC oyun ve donanım dünyasını kapsayan ReSpec serisinin bir parçasıdır.

bakarken PC sürümlerinin durumu 2023'te parmakla işaret etmeye başlamak kolaydır. Oyun optimize edilmemiş (bu ne anlama geliyorsa) veya yayıncı oyunu çok hızlı bir şekilde piyasaya sürdü veya Nvidia'nın bize sattığı grafik kartları geldi. çok az VRAM ile. Ancak bu suçlamalar çoğu durumda yarım yamalak ve küstahtır ve gerçeği ima etseler de hikayenin tamamını anlatmazlar.

İçindekiler

  • Sorun ne?
  • Neyi doğru yapabilirsin
  • PC bağlantı noktaları için ileriye giden yol

Önerilen Videolar

Gerçekte neler olup bittiğini öğrenmek istedim, bu yüzden PC oyunlarının durumunu ve neden bu kadar çok sürümün bu kadar büyük sorunlarla geldiğini anlamak için birkaç geliştiriciyle oturdum. Daha da önemlisi, geliştiricilerin ve yayıncıların bu sorunları çözmek için neler yapabileceğini bilmek istiyordum. ve ileriye dönük yol net olmasa da, geliştiricilerin bir yol olduğunu bildikleri aşikar hale geliyor sorun.

Sorun ne?

PS5'in yanında duran küçük bir oyun bilgisayarı.

İlk olarak, özellikle oyunlar konsollarda oynanabilir (mükemmel değilse de) durumdayken PC'de korkunç bir şekilde bozuk olarak geldiğinde, PC ile ilgili temel sorunu belirlememiz gerekir. Yüksek düzeyde, bir platform olarak PC ile ilgili sorun, onu ilk etapta bu kadar çekici kılan tam da budur: esneklik.

İlgili

  • Özel PC ortaklıklarıyla herkes kaybeder
  • Konsolların hala büyük bir avantajı var ve bu PC oyunlarına zarar veriyor
  • Viral bir bodycam oyunu, interneti bunun gerçek bir görüntü olduğunu düşünmesi için nasıl kandırdı?

Unity Create'in kıdemli başkan yardımcısı ve genel müdürü Marc Whitten, "Oyunların oynanacağı PC yapılandırmalarının çeşitliliği ve değişkenliği... beklenmeyen sorunları açığa çıkarın.” Whitten ayrıca, soruna neden olabilecek faktörler olarak "farklı işletim sistemleri ve yeni sürücü güncellemeleri, ısınma ve gecikme süresi ve kullanıcı özelleştirmesi"ne işaret ediyor.

Cevap bu, eminim ki çoğu insan açıklamanın bu olduğunu varsayar.

Ancak Whitten'a göre sorun, test eksikliği değil. Oyunların "genel olarak geliştirme boyunca kapsamlı bir şekilde test edildiğini" iddia ediyor. sorun aşağı geliyor geliştiricilerin test etmesi gereken farklı yapılandırmaların ölçeği ve hesaba katamadıkları değişkenler için.

Bir düşünce deneyi olarak, bir geliştiricinin test etmek üzere CPU, GPU, Veri deposuve aralarındaki sabit disk. Kayıt için, bu sadece çıkardığım bir sayı, bir geliştiricinin aslında gerçekçi bir hedef olarak başvurduğu bir şey değil. Şimdi, tüm bu yapılandırmaları alın ve düzinelerce ek faktörle çarpın: Hangi işletim sistemini kullanıyorsunuz? Bu işletim sisteminin hangi sürümü? Sürücü sürümüne ne dersiniz? Hangi BIOS ayarları etkin? Razer Synapse veya Corsair iCue gibi arka planda çalışan herhangi bir yazılımınız var mı?

Çalışan bir test tezgahında RTX 4080.
Jacob Roach / Dijital Trendler

Olası yapılandırmaların kapsamı, sisteminizde sahip olduğunuz CPU ve GPU'nun çok ötesine geçer ve bu faktörler, geliştiricilerin basitçe hesaba katamayacağı on binlerce senaryoya kolaylıkla çoğalabilir. için. İdeal bir dünyada geliştiriciler, en popüler bilgisayar yapılandırmalarındaki en büyük sorunları en yeni sürücü ve işletim sistemi güncellemeleriyle çözebilir ve lansmandan sonra yalnızca küçük, belirli sorunları ele alabilir.

Whitten da bu duyguda yalnız değil. John Johanas, oyun direktörü Yüksek Fi HızıVe 2 İçindeki Kötülük, "Ne üzerinde kusursuz çalışacak bir ürün yapabileceğinizi düşünmek oldukça gerçekçi değil" diyor. CPU'ların, GPU'ların, belleğin sınırsız bir yapılandırması gibi hissettiriyor ve daha büyük olasılıkla, arka plan."

Hideyuki Miyashita, sistem programcısı Hi-Fi Rush, kabul etti, ancak bir oyunu olası her yapılandırma için optimize etmenin maliyetine özellikle işaret etti: PC performansı açısından, her bir grafik özelliğinin farklı konfigürasyonlar için ölçeklenebilir hale getirilmesi, ideal; ancak, geliştirme maliyetleri gerçekçi ölçeklenebilirlik desteğine üst sınır koyuyor.”

Bu yeni bir hikaye değil. Bilgisayar yapılandırmalarının geniş alanı, oyunları bilgisayarda optimize etmenin ne kadar zor olduğundan neden görmediğimize kadar her şeyin ortak suçlusudur. Xbox'ın Hızlı Devam Windows'ta görünür. Soru, geliştiricilerin sahip oldukları sınırlı zaman ve paraya rağmen neler yapabilecekleridir. Çünkü PC'ler daha basit hale gelmiyor ve oyunlar platforma hala bozuk olarak geliyor.

Neyi doğru yapabilirsin

Star Wars Jedi: Survivor'da mavi ışın kılıcını kullanan ve BD-1 taşıyan Cal Kestis.

Bu yıl PC desteğini yanlış yapan birçok oyun örneğimiz var. Bir asal örnek Yıldız Savaşları Jedi: Survivor, şu anda hangisi "Karışık" bir inceleme durumunda oturuyor Yılın en beğenilen oyunlarından biri olmasına rağmen Steam'de. En iyi inceleme şu şekildedir: "Tek bir kilitlenme, 140 saatlik %99,8 NG+ kaydetme dosyamı bozdu." Aman Tanrım.

Neyin yanlış gittiği hakkında bir fikir edinmek için geliştirme ekibine ulaştım ve başlangıçta anlayışlı olmalarına rağmen EA devreye girdi ve e-postalarıma geri dönmeyi bıraktı. Bu nedenle, PC'de hangi oyunların yanlış yaptığına bakmak yerine, geliştiricilerin neyi doğru yaptığına bakmamız gerekiyor.

Yüksek Fi Hızı birincil vaka çalışmasıdır. Bu, bir AAA stüdyosundan yeni bir oyun ve kötü şöhretli Unreal Engine 4'ü kullanıyor. Elma ile portakalı karşılaştırdığını düşünebilirsiniz. Yüksek Fi Hızı ve şöyle bir oyun Yıldız Savaşları Jedi: Kurtulan, ama sandığınızdan daha fazla ortak noktaları var. Johanas'ın işaret ettiği gibi, “... oyunun çizgi film estetiğine sahip olması, bazı kullanıcılara oyunun herhangi birinin bilgisayarında çalıştırılmasının sorun olmayacağı yönünde bir algı verecektir. Gerçekçi olarak oyun, aradığımız görünüme ulaşmak için pek çok şey yapıyor ve sürekli çok yorucu olan hareketli bir dünya… Bunun içeri gireceğini biliyordum ve bunları vurmaya çalıştığımızdan emin oldum. beklentiler."

Chai, Hi-Fi Rush'ta bir robotu keser.
bethesda

Bu hedefi en baştan belirlemek, bizim için önemli görünüyordu. Yüksek Fi Hızıkararlılığı. Geliştiriciler, hem bir ritim oyunu hem de bir Aksiyon oyunu, bu işaretin altında kalmanın "hıçkırıklara [bu] müzikten bir uyumsuzluğa ve algılanan kötü bir oyun deneyimine" neden olacağı, Johanas.

Tango Gameworks ekibi bunu nasıl başardı? Genel olarak üç ana noktaya kadar kaynar: dikkatli VRAM izleme, eşzamansız işlemler ve PSO önbelleğe alma.

Baş grafik programcısı Kosuke Tanaka'ya göre Hi-Fi Rush, ekip, geliştirmenin her adımında VRAM kullanımını izledi. Bu, elbette her seviyeyi izlemeyi ve aynı zamanda her sanat bölümünün VRAM kullanımını içerir ve sanatçılardan oyunun bütçesine uyması için doku veya ağ bellek kullanımını azaltmalarını ister. Bu, oyun geliştirmede de alışılmadık bir durum değil.

ne işe yarar Yüksek Fi HızıFavorisi, güçlü sanatsal yönü. Tanaka'nın belirttiği gibi: "Sanat tarzımız bize biraz yardımcı oldu çünkü normal haritalar, pürüzlülük gibi geleneksel PBR dokularına ihtiyacımız yok. haritalar veya metalik haritalar.” Bu, yaratıcı sınırlamalarla çalışmanın ve bunun finalin istikrarını nasıl etkileyebileceğinin bir kanıtıdır. ürün. Johanas, bunun daha küçük bir kapsam meselesi olmadığını söylüyor - "sebepsiz yere büyük olmaya gerek olmaması" meselesiydi.

Ekibe ne öğrendiğini sordum Yüksek Fi Hızı daha büyük, daha geniş projelere taşınabileceğini, ancak Tango'nun oyundan ders alma şekli tam olarak bu değil. Aslında, geliştirme ekibi bana optimizasyon hakkında çok daha fazla şey öğrendiğini söyledi. Ghostwire: Tokyo, geleneksel AAA kalıbına daha çok uyan ve bu fikirleri Hi-Fi Rush, tersi değil.

Akito, Ghostwire: Tokyo'da düşmanlarına sihirle saldırır.
Ghostwire: Tokyo, Unreal Engine'in FSR 2.0'a çok benzeyen TSR'sinin erken bir vitrinidir.

"Oyun içi kekemelikle nasıl başa çıkılacağına dair birçok bilgimizi Yüksek Fi Hızı optimize etme deneyimimizden Hayalet Tel: TokyoMiyashita bana söyledi. Bunun büyük bir kısmı  Boru Hattı Durum Nesnesi (PSO) önbelleğe alma. Bu, oyunu çalıştırmadan önce gölgelendiricileri önceden derleyerek takılmayı azaltmaya yardımcı olan, Unreal Engine 4'te bulunan bir özelliktir.

Asıl sorun, Unreal Engine 4'ün bunu otomatik olarak yapmamasıdır, bu da siz oyunu oynarken gölgelendiricilerin derlenmesi gereken durumlara yol açar, bu da kekemeliğe neden olur. Miyashita, "bu, bazı post işlemlerinin ve VFX'in kekemeliğe neden olmasına neden oldu" diyor. Programcı ayrıca PSO önbelleğe almanın isteğe bağlı olduğunu, bu nedenle geliştirici için özel bir odak noktası olması gerektiğini söylüyor.

Ancak önbelleğe alma her sorunu çözmez ve burada eşzamansız işlemler devreye girer. bu Yüksek Fi Hızı ekip, gölgelendiricilerin oyun dizisinden ayrı olarak derlendiği eşzamansız derleme kullandı, ancak oyunun Unreal Engine 4 üzerinde çalıştığı düşünüldüğünde, bu aynı zamanda büyük bir odak noktasıydı.

Diğer Unreal Engine 4 oyunlarında gördüğümüz gibi Yıldız Savaşları Jedi: Survivor Ve kırmızı düşüş, motor, modern CPU'larda bulunan birçok iş parçacığına ölçeklendirme konusunda pek iyi değil. Miyashita olarak açıklıyor: "Çoklu iş parçacığını desteklemenin ne kadar zor olabileceği, büyük ölçüde kullanılan motorun mimari. Ne yazık ki UE4 bu konuda biraz yetersiz kalıyor.”

Unreal Engine 4, geliştiriciye göre özellikle, aktör (nesneler/karakterler) ve widget (UI ve bindirme) oluşturmayı oyunla aynı CPU iş parçacığına yerleştirir. Bu, örneğin oyun yeni bir karakter yüklemek istediğinde, iş parçacığında önceliğe sahip olduğu anlamına gelir. Miyashita, "bu, karmaşık oyuncu ve widget oluşturmanın oyun dizisini uzun süre engellemesine neden olabilir" diyor. Bu bir kekemelik.

Çözüm, asenkron işlemlerdir. Miyashita, ekibin nesneler getirilirken CPU'nun ne yaptığını saptamak için analiz araçlarını kullandığını söylüyor. ve oyunun yavaşlamaması için bu görevleri farklı başlıklara taşımak için çaba sarf ettiklerini aşağı. Bu özel hedefleme, kaynak yükleme konusunda da yardımcı olabilir. Bu işlemleri paralel bir yapıya taşımak, aşağıdaki gibi oyunlarda mevcut olan akış kekemesinin tuzaklarını önleyebilir. Ölü Uzay.

PC bağlantı noktaları için ileriye giden yol

Layla, Redfall'da hayalet bir şemsiyeyle kendini koruyor.

Bugün felaket durumlarında çıkan oyunlar, geliştirilmelerine yıllar önce başladı, bu yüzden umutlu olsam da PC sürümlerinin yıl ilerledikçe gelişeceğini düşünürsek, bu temel sorunları görmemiz birkaç yıl alabilir. ele alinan.

Whitten, "geliştiriciler de oyuncular kadar performansla ilgileniyor" diyor ve bu birkaç kez duyduğum bir duygu. Önbelleğe alınan gölgelendiricilerden eşzamansız işlemlere ve çok çeşitli donanımlarda doğrulamaya kadar PC sürümlerini optimize etmenin yolları vardır. Ancak gerçek şu ki, geliştiriciler zaman veya para ve genellikle her ikisi nedeniyle her şeyi hesaba katamazlar.

Burada ilerlemenin yolu basit. İlk olarak, bu oyunların yayıncılarına, bozuk bir oyundansa bir gecikme görmeyi tercih edeceğinizi bildirin. Geliştiricilere bağırmak pek işe yaramaz - sorunu zaten biliyorlar ve muhtemelen sizin kadar çözülmesini istiyorlar. İkinci olarak, çıkış gününde yeni bir PC oyunu alırken dikkatli olun. Bir şeyi sabırsızlıkla beklerken (inan bana, biliyorum) sabırlı olmak zor ama bir oyunu satın almak için bekleyene kadar beklemek zor. sorunlar düzeltildi, yayıncılara oyunların cilalandığından emin olmak için daha fazla zaman ve kaynak ayırmaları için güçlü bir sinyal gönderiyor PC'de.

Bunun hala keşfedilmemiş bir bölge olduğunu unutmak kolaydır. PC bağlantı noktalarının aylar (hatta yıllar) sonra geldiği birkaç yıl önceki durumun aksine, oyunlar konsollara çıktıkları gün PC'ye her zamankinden daha fazla geliyor. İki konsol nesli önce, çoğu oyun yalnızca aynı gün tek bir platforma gönderilirdi; önceki nesilde ikiydi. Artık, geliştiricilerin aynı gün içinde en az üç platforma ve son nesil bir sürüme sahiplerse bazen beş platforma gönderim yapmaları bekleniyor.

Bu bağlamda PC'de neden sorunlar olduğunu görmek zor değil, ancak umarım daha gösterişli sürümler yoldadır.

Bu makalenin bir parçası ReSpec - PC oyunlarının arkasındaki teknoloji hakkında tartışmalar, tavsiyeler ve derinlemesine raporlar içeren iki haftada bir devam eden bir sütun.

Editörlerin Önerileri

  • Halo'nun unutulmuş mirasını bir Mac serisi olarak yeniden yaşamaya çalıştım ve bu bir felaketti
  • Tüm zamanların en kötü bilgisayar bağlantı noktaları ve neden bu kadar kötü oldukları
  • Star Wars Jedi: Survivor, Steam'de "tamamen saçmalık" bir PC bağlantı noktası olarak inceleme bombardımanına tutuluyor
  • Unreal Engine 5, PC oyunlarındaki en büyük sorunu nasıl çözüyor?
  • Yapay Zeka PC oyunlarınız için geliyor, ama siz endişelenmeyin, heyecanlı olmalısınız