Попитах разработчиците защо компютърните портове през 2023 г. работят като боклук

respect dt показано изображение 2
Тази история е част от поредицата ReSpec на Джейкъб Роуч, обхващаща света на компютърните игри и хардуера.

Когато гледате на състояние на PC версиите през 2023 г. е лесно да започнете да сочите с пръст. Играта не е оптимизирана (каквото и да означава това), или издателят я е пуснал твърде бързо, или графичните карти, които Nvidia ни продава, идват с твърде малко VRAM. Но тези обвинения в повечето случаи са половинчати и самонадеяни и въпреки че намекват за реалността, те не разказват цялата история.

Съдържание

  • Какъв е проблема?
  • Какво можете да направите правилно
  • Пътят напред за компютърните портове

Препоръчани видеоклипове

Исках да разбера какво всъщност се случва, така че седнах с няколко разработчици, за да разбера състоянието на компютърните игри и защо толкова много версии са пристигнали с толкова големи проблеми. По-важното е, че исках да знам какво могат да направят разработчиците и издателите, за да решат тези проблеми, и въпреки че пътят напред не е ясен, става очевидно, че разработчиците знаят, че има проблем.

Какъв е проблема?

Малък компютър за игри, разположен до PS5.

Първо, трябва да идентифицираме основния проблем с компютъра, особено когато игрите се доставят в състояние за игра (ако не и перфектни) на конзоли, но пристигат ужасно повредени на компютър. На високо ниво проблемът с компютъра като платформа е точно това, което го прави толкова привлекателен на първо място: гъвкавостта.

Свързани

  • С ексклузивни PC партньорства всеки губи
  • Конзолите все още имат едно голямо предимство и то вреди на компютърните игри
  • Как вирусна игра с бодикамера подмами интернет да мисли, че това са истински кадри

Марк Уитън, старши вицепрезидент и генерален мениджър на Unity Create, казва, че „чистото разнообразие и променливост на компютърните конфигурации, на които ще се играят игрите... определено може изложи неочаквани проблеми.“ Whitten също така посочва „различни операционни системи и нови актуализации на драйвери, топлина и латентност и потребителско персонализиране“ като фактори, които могат да играят роля в проблема.

Това е отговорът, сигурен съм, че повечето хора предполагат, че е обяснението.

Но проблемът, според Уитън, не е липсата на самото тестване. Той твърди, че игрите „като цяло се тестват обстойно по време на разработката“. Проблемът се свежда до мащабът на различните конфигурации, които разработчиците трябва да тестват, както и променливите, които не могат да отчетат за.

Като мисловен експеримент, да кажем, че разработчик е определил 100 различни компютърни конфигурации за тестване, променяйки CPU, GPU, RAMи твърд диск между тях. За протокола, това е число, което просто изваждам, а не нещо, което разработчикът действително е посочил като реалистична цел. Сега вземете всички тези конфигурации и ги умножете по десетки допълнителни фактори: Каква операционна система използвате? Каква версия на тази ОС? Какво ще кажете за версията на драйвера? Какви настройки на BIOS са активирани? Имате ли софтуер, работещ във фонов режим, като Razer Synapse или Corsair iCue?

RTX 4080 в работещ тестов стенд.
Джейкъб Роуч / Цифрови тенденции

Обхватът на възможните конфигурации далеч надхвърля какъв CPU и GPU имате във вашата система и тези фактори могат лесно да се умножат в десетки хиляди сценарии, които разработчиците просто не могат да отчетат за. В един идеален свят разработчиците могат да поправят най-големите проблеми за най-популярните компютърни конфигурации с най-новите драйвери и актуализации на операционната система, оставяйки само малки, специфични проблеми за разрешаване след стартирането.

Уитън също не е сам в това чувство. Джон Йоханас, директор на играта на Hi-Fi Rushи The Evil Within 2, казва, че „е доста нереалистично да мислиш, че можеш да направиш продукт, който да работи безупречно на това, което усеща се като неограничена конфигурация от процесори, графични процесори, памет и по-вероятно това, което се изпълнява в заден план."

Хидеюки Мияшита, системен програмист на Hi-Fi Rush, се съгласи, но специално посочи разходите за оптимизиране на игра за всяка възможна конфигурация: „В по отношение на производителността на компютъра, всяка графична функция ще бъде мащабируема за различни конфигурации идеален; разходите за разработка обаче поставят горен таван на реалистичната поддръжка на мащабируемост.“

Това не е нова история. Големият набор от компютърни конфигурации е общият виновник за всичко - от това колко трудно е да се оптимизират игри на компютър до това защо не сме виждали Бързото възобновяване на Xbox се показва в Windows. Въпросът е какво могат да направят разработчиците въпреки ограниченото време и пари, с които разполагат. Тъй като персоналните компютри не стават по-прости и игрите все още пристигат на платформата повредени.

Какво можете да направите правилно

Кал Кестис размахва синия си светлинен меч и носи BD-1 в Междузвездни войни Джедай: Оцелял.

Тази година имаме много примери за игри, които поддържат компютърна поддръжка погрешно. Едно просто пример е Междузвездни войни Джедаи: Оцелял, който в момента е в състояние на преглед „Смесен“. в Steam, въпреки че е една от най-широко аплодираните игри на годината. Най-добрият преглед гласи: „Единствен срив повреди моя 140-часов 99,8% NG+ файл за запазване.“ айк

Свързах се с екипа за разработка, за да получа представа какво се е объркало и въпреки че те първоначално бяха възприемчиви, EA се намеси и спря да ми връща имейлите. Така че, вместо да гледаме какви игри правят грешно на компютъра, трябва да погледнем какво правят разработчиците правилно.

Hi-Fi Rush е първокласен казус. Това е нова игра от AAA студио и използва прословутия Unreal Engine 4. Може да си помислите, че сравнявате ябълка с портокали Hi-Fi Rush и игра като Междузвездни войни Джедаи: Оцелял, но те имат повече общо, отколкото може да подозирате. Както посочва Йоханас, „... фактът, че играта има анимационна естетика, ще даде на някои потребители усещането, че играта не би трябвало да е проблем да се стартира на нечии компютри. Реално погледнато, играта прави много неща, за да постигнем външния вид, към който се стремим и постоянно движещ се свят, който е много натоварващ... Знаех, че влизането и се уверих, че се опитахме да ги ударим очаквания.”

Чай нарязва робот в Hi-Fi Rush.
Бетесда

Поставянето на тази цел от самото начало изглеждаше важно за Hi-Fi Rushстабилност. Разработчиците отбелязват, че целта на дизайна от самото начало е да се поддържат поне 60 кадъра в секунда (fps), поради факта, че това е едновременно ритъм игра и екшън игра, където падането под тази марка би причинило „хълцане [което] може да доведе до десинхронизиране от музика и възприемане на лошо игрово изживяване“, според Йоханас.

Как екипът на Tango Gameworks успя? В общи линии се свежда до три основни точки: внимателно наблюдение на VRAM, асинхронни операции и PSO кеширане.

Според Косуке Танака, водещ графичен програмист за Hi-Fi Rush, екипът наблюдава използването на VRAM през всяка стъпка от разработката. Това включва наблюдение на всяко ниво, разбира се, но също така и използването на VRAM на всяка арт секция, като се иска от артистите да намалят използването на текстура или мрежова памет, за да се поберат в рамките на бюджета на играта. Това също не е необичайно при разработването на игри.

Какво работи в Hi-Fi RushБлагоприятното е силната му артистична посока. Както отбелязва Танака: „Нашият стил на изкуство ни помогна малко, защото не изискваме традиционни PBR текстури като нормални карти, грапавост карти или метални карти.“ Това е свидетелство за работа с творчески ограничения и как това може да повлияе на стабилността на финала продукт. Йоханас казва, че не става въпрос за по-малък обхват - става дума за това, че „няма нужда да ставате големи без причина“.

Попитах екипа от какво се е научил Hi-Fi Rush че може да пренесе в по-големи, по-широки проекти, но не точно така Tango взема уроци от играта. Всъщност екипът за разработка ми каза, че е научил много повече за оптимизацията от Ghostwire: Токио, който се вписва повече в традиционната AAA форма и пренася тези идеи Hi-Fi Rush, а не обратното.

Акито атакува врагове с магия в Ghostwire: Tokyo.
Ghostwire: Tokyo е ранна витрина на TSR на Unreal Engine, който е много подобен на FSR 2.0.

„Научихме много от знанията си за това как да се справяме със заекването по време на игра Hi-Fi Rush от нашия опит в оптимизирането Ghostwire: Токио”, каза ми Мияшита. Голяма част от това беше  Кеширане на Pipeline State Object (PSO).. Това е функция, налична в Unreal Engine 4, която помага за намаляване на заекването чрез предварително компилиране на шейдъри, преди да стартирате играта.

Основният проблем е, че Unreal Engine 4 не прави това автоматично, което води до ситуации, при които шейдърите трябва да се компилират, докато играете играта, което причинява заекване. Мияшита казва, че „това е довело до някои постпроцеси и VFX, които причиняват заекване.“ Програмистът също казва, че PSO кеширането не е задължително, така че трябва да бъде конкретен фокус за разработчика.

Кеширането обаче не решава всеки проблем и тук се намесват асинхронните операции. The Hi-Fi Rush екипът използва асинхронна компилация - където шейдърите се компилират отделно от нишката на играта - но това също беше голям фокус, като се има предвид, че играта работи на Unreal Engine 4.

Както видяхме с други игри на Unreal Engine 4 като Междузвездни войни Джедаи: Оцелял и Редфол, двигателят не е много добър за мащабиране към многото нишки, налични на съвременните процесори. Като Мияшита обяснява: „Колко трудно може да бъде поддържането на многопоточност зависи до голяма степен от използвания двигател архитектура. За съжаление UE4 изостава малко в това отношение.“

По-специално, Unreal Engine 4, според разработчика, поставя създаването на актьор (обекти/персонажи) и джаджа (UI и наслагване) в същата нишка на процесора като играта. Това означава, че всеки път, когато играта иска, например, да зареди нов герой, той има приоритет в нишката. Мияшита казва, че „това може да доведе до създаване на сложни актьори и джаджи, блокиращи нишката на играта за дълго време.“ Това е заекване.

Решението са асинхронни операции. Мияшита казва, че екипът използва инструменти за анализ, за ​​да определи точно какво прави процесорът, докато обектите се доставят и че те полагат усилия да преместят тези задачи в различни нишки, така че играта да не се забавя надолу. Това конкретно насочване може да помогне и при зареждането на ресурси. Преместването на тези операции в паралелна структура може да избегне клопките на стрийминг заекването, присъстващо в игри като Мъртво пространство.

Пътят напред за компютърните портове

Лейла се защитава с призрачен чадър в Редфол.

Игрите, които днес излизат в катастрофални държави, са започнали своето развитие преди години, така че въпреки че съм обнадежден че PC версиите ще се подобряват с течение на годината, може да минат няколко години, преди да видим тези основни проблеми адресиран.

Whitten казва, че „разработчиците са толкова загрижени за производителността, колкото и играчите“ и това е мнение, което съм чувал няколко пъти. Има начини за оптимизиране на компютърните версии, от предварително кеширане на шейдъри до асинхронни операции до валидиране на голямо разнообразие от хардуер. Но реалността е, че разработчиците не могат да отчетат всичко поради време или пари, а обикновено и двете.

Пътят напред тук е прост. Първо, уведомете издателите на тези игри, че предпочитате забавяне, отколкото повредена игра. Викането на разработчиците няма да направи много – те вече знаят проблема и вероятно биха искали той да бъде решен точно толкова, колкото и вие. Второ, внимавайте да вземете нова компютърна игра в деня на пускане. Трудно е да си търпелив, когато очакваш нещо (повярвай ми, знам), но чакаш да купиш игра, докато проблемите са коригирани изпраща силен сигнал към издателите да инвестират повече време и ресурси, за да се уверят, че игрите са излъскани на компютър.

Лесно е да забравите, че това все още е неизследвана територия. Сега повече от всякога игрите пристигат на компютъра в същия ден, в който пристигат на конзолите, много за разлика от преди няколко години, когато портовете за компютър пристигаха месеци (или дори години) по-късно. Преди две поколения конзоли повечето игри се доставяха само в един ден на една платформа; в предишното поколение бяха две. Сега от разработчиците се очаква да доставят най-малко три платформи в един и същи ден, а понякога и повече от пет, ако имат версия от последно поколение.

Не е трудно да се разбере защо има проблеми на компютъра, като се има предвид този контекст, но се надяваме, че предстоят по-полирани версии.

Тази статия е част от ReSpec – текуща двуседмична колона, която включва дискусии, съвети и задълбочени доклади за технологиите зад компютърните игри.

Препоръки на редакторите

  • Опитах се да преживея отново забравеното наследство на Halo като франчайз за Mac — и беше катастрофа
  • Най-лошите компютърни портове на всички времена – и защо бяха толкова лоши
  • Star Wars Jedi: Survivor е бомбардиран с рецензии в Steam като „пълни глупости“ за компютърен порт
  • Как Unreal Engine 5 се справя с най-големия проблем в компютърните игри
  • AI идва за вашите компютърни игри, но трябва да се вълнувате, а не да се притеснявате