Zeptal jsem se vývojářů, proč PC porty v roce 2023 běží jako smetí

Respekt dt doporučený obrázek 2
Tento příběh je součástí série ReSpec Jacoba Roacha, která pokrývá svět počítačových her a hardwaru.

Při pohledu na stav vydání PC v roce 2023 je snadné začít ukazovat prstem. Hra není optimalizována (ať už to znamená cokoli), nebo ji vydavatel uspěchal příliš rychle, nebo přicházejí grafické karty, které nám Nvidia prodává s příliš malou VRAM. Ale tato obvinění jsou ve většině případů polovičatá a troufalá, a přestože naznačují realitu, nevyprávějí celý příběh.

Obsah

  • Co je za problém?
  • Co můžete udělat správně
  • Cesta vpřed pro PC porty

Doporučená videa

Chtěl jsem vědět, co se vlastně děje, a tak jsem si sedl s několika vývojáři, abych pochopil stav počítačových her a proč přišlo tolik vydání s tak velkými problémy. A co je důležitější, chtěl jsem vědět, co mohou vývojáři a vydavatelé udělat pro vyřešení těchto problémů, a přestože cesta vpřed není jasná, začíná být zřejmé, že vývojáři vědí, že existuje problém.

Co je za problém?

Malý herní počítač sedící vedle PS5.

Nejprve musíme identifikovat hlavní problém s PC, zvláště když se hry dodávají na konzolích v hratelných (ne-li dokonalých) stavech, ale na PC jsou příšerně rozbité. Na vysoké úrovni je problém s PC jako platformou přesně tím, co ho dělá tak lákavým: flexibilita.

Příbuzný

  • S exkluzivními PC partnerstvími prohrává každý
  • Konzole mají stále jednu velkou výhodu a ta poškozuje PC hraní
  • Jak virální hra s bodycam oklamala internet, aby si myslel, že jde o skutečné záběry

Marc Whitten, senior viceprezident a generální manažer Unity Create, říká, že „naprostá rozmanitost a variabilita PC konfigurací, na kterých se hry budou hrát... odhalit neočekávané problémy." Whitten také poukazuje na „různé operační systémy a nové aktualizace ovladačů, teplo a latenci a uživatelské přizpůsobení“ jako faktory, které mohou hrát problém.

Jsem si jistý, že to je odpověď, o které většina lidí předpokládá, že je to vysvětlení.

Problémem ale podle Whittena není nedostatek samotného testování. Tvrdí, že hry jsou „obecně rozsáhle testovány během vývoje“. Problém přichází na to rozsah různých konfigurací, které vývojáři potřebují otestovat, a také proměnné, které nemohou zohlednit pro.

Jako myšlenkový experiment řekněme, že vývojář připevnil 100 různých konfigurací PC k testování, přičemž měnil CPU, GPU, RAMa pevný disk mezi nimi. Pro pořádek, toto je číslo, které právě vytahuji, ne něco, co vývojář skutečně označil za realistický cíl. Nyní vezměte všechny tyto konfigurace a vynásobte je desítkami dalších faktorů: Jaký OS používáte? Jakou verzi toho OS? Co říkáte na verzi ovladače? Jaká nastavení systému BIOS jsou povolena? Máte na pozadí spuštěný nějaký software jako Razer Synapse nebo Corsair iCue?

RTX 4080 v běžící testovací stolici.
Jacob Roach / Digitální trendy

Rozsah možných konfigurací daleko přesahuje jen to, jaký CPU a GPU máte ve svém systému, a tyto faktory se mohou snadno znásobit do desítek tisíc scénářů, které vývojáři prostě nemohou zohlednit pro. V ideálním světě mohou vývojáři opravit největší problémy u nejoblíbenějších konfigurací počítačů pomocí nejnovějších ovladačů a aktualizací operačního systému a po spuštění ponechat pouze malé specifické problémy.

Ani Whitten není v tomto sentimentu sám. John Johanas, herní ředitel Hi-Fi RushZlo do 2, říká, že „je docela nerealistické myslet si, že dokážete vyrobit produkt, který bude bezchybně fungovat na čem Připadá mi to jako neomezená konfigurace CPU, GPU, paměti a pravděpodobněji toho, co běží v Pozadí."

Hideyuki Miyashita, systémový programátor zapnutý Hi-Fi Rush, souhlasil, ale konkrétně poukázal na náklady na optimalizaci hry pro každou možnou konfiguraci: „In pokud jde o výkon počítače, bylo by možné každou grafickou funkci škálovat pro různé konfigurace ideál; nicméně náklady na vývoj kladou horní strop na podporu realistické škálovatelnosti.“

Toto není nový příběh. Velké množství konfigurací PC je společným viníkem všeho od toho, jak obtížné je optimalizovat hry na PC, až po důvody, proč jsme neviděli Rychlé obnovení Xboxu se zobrazí ve Windows. Otázkou je, co vývojáři dokážou i přes omezený čas a peníze, které mají. Protože PC nejsou stále jednodušší a hry stále přicházejí na platformu nefunkční.

Co můžete udělat správně

Cal Kestis ve Star Wars Jedi: Survivor třímá svůj modrý světelný meč a nese BD-1.

Máme mnoho příkladů her, které letos nefungovaly v podpoře PC. Jedno prvočíslo příklad je Star Wars Jedi: Survivor, které aktuálně je ve stavu recenze „Smíšené“. na Steamu, přestože jde o jednu z nejuznávanějších her roku. Nejlepší recenze zní: „Jediné selhání poškodilo můj 140hodinový 99,8% NG+ uložený soubor.“ Fuj.

Oslovil jsem vývojový tým, abych získal představu o tom, co se pokazilo, a přestože byli zpočátku vstřícní, EA zasáhla a přestala mi vracet e-maily. Takže místo toho, abychom se dívali na to, co hry dělají na PC špatně, musíme se podívat na to, co dělají vývojáři správně.

Hi-Fi Rush je prvotřídní případová studie. Je to nová hra od studia AAA a používá nechvalně známý Unreal Engine 4. Možná si myslíte, že jde o srovnání jablka s pomerančem Hi-Fi Rush a hru jako Star Wars Jedi: Survivor, ale mají více společného, ​​než byste tušili. Jak zdůrazňuje Johanas, „... skutečnost, že hra má kreslenou estetiku, dá některým uživatelům pocit, že by hru neměl být problém spustit na počítači kohokoli. Realisticky hra dělá spoustu věcí, aby dosáhla vzhledu, který jsme hledali, a neustále pohybující se svět, který je velmi náročný… Věděl jsem, že jsem do toho šel a ujistil jsem se, že se je pokusíme zasáhnout očekávání.”

Chai sekne robota v Hi-Fi Rush.
Bethesda

Stanovit si tento cíl od začátku se zdálo důležité Hi-Fi Rushstabilitu. Vývojáři poznamenávají, že od začátku bylo cílem návrhu zachovat alespoň 60 snímků za sekundu (fps), protože jde jak o rytmickou hru, tak o akční hra, kde nedosažení této známky by podle Johanas.

Jak se to týmu z Tango Gameworks podařilo? Široce se scvrkává na tři hlavní body: pečlivé monitorování VRAM, asynchronní operace a ukládání do mezipaměti PSO.

Podle Kosuke Tanaka, hlavní grafický programátor pro Hi-Fi Rush, tým sledoval využití VRAM během každého kroku vývoje. To samozřejmě zahrnuje monitorování každé úrovně, ale také využití VRAM každé umělecké sekce a žádá umělce, aby snížili využití textury nebo síťové paměti, aby se vešly do rozpočtu hry. To není neobvyklé ani při vývoji her.

Co funguje v Hi-Fi Rushpřízní je jeho silné umělecké směřování. Jak zdůrazňuje Tanaka: „Náš umělecký styl nám trochu pomohl, protože nevyžadujeme tradiční PBR textury, jako jsou normální mapy, drsnost mapy nebo metalické mapy." Je to důkaz práce s kreativními omezeními a toho, jak to může ovlivnit stabilitu finále produkt. Johanas říká, že to nebyla záležitost menšího rozsahu – šlo o to, že „není potřeba jít bez důvodu do velkých rozměrů“.

Zeptal jsem se týmu, z čeho se poučil Hi-Fi Rush že by se to dalo přenést do větších, širších projektů, ale to není přesně způsob, jakým se Tango ze hry poučuje. Ve skutečnosti mi vývojový tým řekl, že se od něj dozvěděl mnohem více o optimalizaci Ghostwire: Tokio, který zapadá více do tradiční formy AAA a přenesl tyto myšlenky do Hi-Fi Rush, ne naopak.

Akito útočí na nepřátele magií v Ghostwire: Tokyo.
Ghostwire: Tokyo je ranou ukázkou TSR od Unreal Engine, která je velmi podobná FSR 2.0.

„Naučili jsme se spoustu našich znalostí o tom, jak se vypořádat s koktáním ve hře Hi-Fi Rush z našich zkušeností s optimalizací Ghostwire: Tokio“ řekl mi Miyashita. Velká část toho byla  Ukládání do mezipaměti Pipeline State Object (PSO).. Toto je funkce dostupná v Unreal Engine 4, která pomáhá snižovat zasekávání předkompilací shaderů před spuštěním hry.

Hlavním problémem je, že Unreal Engine 4 to nedělá automaticky, což vede k situacím, kdy se shadery potřebují zkompilovat, když hrajete hru, což způsobuje koktání. Miyashita říká, že „to mělo za následek některé post procesy a VFX, které způsobily koktání“. Programátor také říká, že ukládání do mezipaměti PSO je volitelné, takže musí být pro vývojáře specifické.

Ukládání do mezipaměti však nevyřeší každý problém, a to je místo, kde přicházejí asynchronní operace. The Hi-Fi Rush tým použil asynchronní kompilaci – kde se shadery kompilují odděleně od vlákna hry – ale bylo to také důležité vzhledem k tomu, že hra běžela na Unreal Engine 4.

Jak jsme viděli u jiných her Unreal Engine 4, jako je Star Wars Jedi: Survivor Redfall, engine není příliš dobrý ve škálování na mnoho vláken dostupných na moderních CPU. Jako Miyashita vysvětluje: „Jak obtížná může být podpora multi-threadingu, velmi závisí na použitém enginu architektura. Bohužel UE4 v tomto ohledu trochu zaostává.“

Konkrétně Unreal Engine 4 podle vývojáře umisťuje tvorbu herců (objektů/postav) a widgetů (UI a překrytí) na stejné vlákno CPU jako hra. To znamená, že kdykoli hra chce například nahrát novou postavu, má prioritu vlákna. Miyashita říká, že „to může mít za následek složité vytváření herců a widgetů, které na dlouhou dobu blokují herní vlákno“. To je koktání.

Řešením jsou asynchronní operace. Miyashita říká, že tým používá analytické nástroje k určení toho, co CPU dělá, když jsou přinášeny objekty a že se snaží přesunout tyto úkoly do různých vláken, aby se hra nezpomalila dolů. Toto specifické cílení může pomoci i s načítáním zdrojů. Přesunutím těchto operací do paralelní struktury se můžete vyhnout nástrahám streamování, které se vyskytuje ve hrách jako Mrtvý prostor.

Cesta vpřed pro PC porty

Layla se v Redfall chrání spektrálním deštníkem.

Hry, které dnes vycházejí v katastrofálních státech, se začaly vyvíjet před lety, takže i když doufám že se PC verze budou v průběhu roku zlepšovat, může to trvat několik let, než uvidíme tyto základní problémy adresovaný.

Whitten říká, že „vývojáři se zajímají o výkon stejně jako hráči“, a to je sentiment, který jsem slyšel několikrát. Existují způsoby, jak optimalizovat PC verze, od pre-caching shaderů přes asynchronní operace až po ověřování na široké škále hardwaru. Realita je ale taková, že vývojáři nemohou zodpovědět všechno, kvůli času nebo penězům a obvykle obojímu.

Cesta vpřed je zde jednoduchá. Nejprve dejte vydavatelům těchto her vědět, že byste raději viděli zpoždění než nefunkční hru. Křičet na vývojáře moc nepomůže – oni už problém znají a pravděpodobně by byli rádi, kdyby se vyřešil stejně jako vy. Zadruhé, buďte opatrní, když si vezmete novou PC hru v den vydání. Je těžké být trpělivý, když se na něco těšíte (věřte mi, já vím), ale čekáte na nákup hry, dokud problémy byly opraveny, vysílá silný signál vydavatelům, aby investovali více času a zdrojů do zajištění toho, aby hry byly vyleštěné na PC.

Je snadné zapomenout, že je to stále neprobádané území. Nyní více než kdy jindy přicházejí hry na PC ve stejný den, kdy dorazí na konzole, na rozdíl od doby před několika lety, kdy PC porty dorazily o měsíce (nebo dokonce roky) později. Před dvěma generacemi konzolí byla většina her dodávána pouze ve stejný den na jednu platformu; v předchozí generaci to byly dva. Nyní se očekává, že vývojáři dodají ve stejný den minimálně tři platformy a někdy i více než pět, pokud mají verzi poslední generace.

Není těžké pochopit, proč jsou na PC problémy vzhledem k tomuto kontextu, ale doufejme, že se chystají vylepšené verze.

Tento článek je součástí ReSpec – průběžný dvoutýdenní sloupek, který zahrnuje diskuze, rady a podrobné zprávy o technologiích, které stojí za hraním na PC.

Doporučení redakce

  • Snažil jsem se znovu prožít zapomenuté dědictví Halo jako franšízy pro Mac – a byla to katastrofa
  • Nejhorší PC porty všech dob – a proč byly tak špatné
  • Star Wars Jedi: Survivor je recenzně bombardován na Steamu jako „totální blbost“ PC port
  • Jak Unreal Engine 5 řeší největší problém počítačových her
  • Umělá inteligence přichází pro vaše PC hry, ale měli byste být nadšení, ne strach