Питао сам програмере зашто ПЦ портови 2023. раде као смеће

Респецт дт истакнута слика 2
Ова прича је део РеСпец серије Џејкоба Роуча, која покрива свет ПЦ игара и хардвера.

Када се погледа на стање ПЦ издања 2023. лако је почети упирати прстом. Игра није оптимизована (шта год то значило), или ју је издавач пребрзо избацио, или су нам графичке картице које нам је Нвидиа продала стигле са премало ВРАМ-а. Али ове оптужбе су, у већини случајева, половичне и дрске, и иако наговештавају стварност, не говоре целу причу.

Садржај

  • У чему је проблем?
  • Шта можете да урадите како треба
  • Пут напред за ПЦ портове

Препоручени видео снимци

Желео сам да знам шта се заправо дешава, па сам сео са неколико програмера да разумем стање ПЦ игара и зашто је толико издања стигло са тако великим проблемима. Што је још важније, желео сам да знам шта програмери и издавачи могу да ураде да реше ове проблеме, и иако пут напред није јасан, постаје очигледно да програмери знају да постоји проблем.

У чему је проблем?

Мали рачунар за игре који се налази поред ПС5.

Прво, морамо да идентификујемо суштински проблем са рачунаром, посебно када се игре испоручују у стању за играње (ако не и савршеним) на конзолама, али стижу ужасно покварене на рачунару. На високом нивоу, проблем са рачунаром као платформом је управо оно што га чини тако примамљивим на првом месту: флексибилност.

Повезан

  • Уз ексклузивна ПЦ партнерства, сви губе
  • Конзоле и даље имају једну велику предност, а то штети игрању рачунарских игара
  • Како је вирусна бодицам игра преварила интернет да помисли да је то прави снимак

Марк Витен, виши потпредседник и генерални менаџер Унити Цреате-а, каже да „чиста разноликост и варијабилност ПЦ конфигурација на којима ће се играти игре... дефинитивно може разоткрити неочекиване проблеме.” Витен такође указује на „различите оперативне системе и нова ажурирања драјвера, топлоту и кашњење и прилагођавање корисника“ као факторе који могу да утичу на проблем.

То је одговор, сигуран сам, за који већина људи претпоставља да је објашњење.

Али проблем, према Витену, није недостатак самог тестирања. Он тврди да се игре „генерално опсежно тестирају током развоја“. Проблем се своди на скалу различитих конфигурација које програмери треба да тестирају, као и променљиве које не могу да узму у обзир за.

Као мисаони експеримент, рецимо да је програмер одредио 100 различитих конфигурација рачунара за тестирање, варирајући ЦПУ, ГПУ, РАМ, и чврсти диск између њих. За записник, ово је број који управо извлачим, а не нешто што је програмер заправо навео као реалан циљ. Сада, узмите све те конфигурације и помножите их са десетинама додатних фактора: Који ОС користите? Која верзија тог ОС-а? Шта је са верзијом драјвера? Које поставке БИОС-а су омогућене? Да ли имате неки софтвер који ради у позадини као што је Разер Синапсе или Цорсаир иЦуе?

РТКС 4080 у тестној клупи.
Јацоб Роацх / Дигитал Трендс

Опсег могућих конфигурација далеко превазилази само оно што ЦПУ и ГПУ имате у свом систему, и ови фактори се лако могу помножити у десетине хиљада сценарија које програмери једноставно не могу да узму у обзир за. У идеалном свету, програмери могу да реше највеће проблеме за најпопуларније конфигурације рачунара са најновијим управљачким програмима и ажурирањима ОС-а, остављајући само мале, специфичне проблеме за решавање након покретања.

Ни Витен није сам у овом осећању. Џон Јоханас, директор игре Хи-Фи Русхи Зло унутар 2, каже да је „прилично нереално мислити да можете направити производ који ће беспрекорно радити на чему осећа се као неограничена конфигурација ЦПУ-а, ГПУ-а, меморије и, вероватније, онога што ради у позадина.”

Хидеиуки Мииасхита, системски програмер Хи-Фи Русх, сложио, али је посебно указао на цену оптимизације игре за сваку могућу конфигурацију: „У у погледу перформанси рачунара, чинећи сваку графичку функцију скалабилном за различите конфигурације идеална; међутим, трошкови развоја постављају горњу границу реалне скалабилности.“

Ово није нова прича. Велики опсег ПЦ конфигурација је уобичајени кривац за све, од тога колико је тешко оптимизовати игре на ПЦ-у до зашто нисмо видели Ксбок-ов брзи резиме се појављује у оперативном систему Виндовс. Питање је шта програмери могу да ураде упркос ограниченом времену и новцу који имају. Зато што рачунари не постају ништа једноставнији, а игре и даље стижу на платформу покварене.

Шта можете да урадите како треба

Кал Кестис држи свој плави светлосни мач и носи БД-1 у Ратовима звезда Џедај: Преживели.

Имамо много примера игара које погрешно подржавају ПЦ ове године. Један премијер пример је Стар Варс Једи: Сурвивор, који тренутно налази се у статусу прегледа „мешовити“. на Стеам-у упркос томе што је једна од најпризнатијих игара године. Врхунска рецензија гласи: „Један пад је оштетио моју 140-часовну 99,8% НГ+ датотеку за чување.“ Јао.

Контактирао сам развојни тим да добијем идеју о томе шта је пошло по злу, и иако су у почетку били пријемчиви, ЕА се укључила и престала да ми враћа е-пошту. Дакле, уместо да гледамо шта игре раде погрешно на ПЦ-у, морамо да погледамо шта програмери раде како треба.

Хи-Фи Русх је главна студија случаја. То је нова игра из ААА студија и користи злогласни Унреал Енгине 4. Можда мислите да је упоређивање јабуке и поморанџе између Хи-Фи Русх и игра попут Ратови звезда џедаји: преживели, али имају више заједничког него што мислите. Као што Јоханас истиче, „… чињеница да игра има естетику цртаног филма ће неким корисницима дати перцепцију да игра не би требало да представља проблем за покретање на било чијем рачунару. Реално гледано, игра чини много ствари како би постигла изглед који смо тражили и стално покретни свет који је веома напоран... Знао сам да улазим и постарао сам се да покушамо да их погодимо Очекивања."

Цхаи сече робота у Хи-Фи Русх.
Бетхесда

Постављање тог циља од самог почетка се чинило важним Хи-Фи Русхстабилност. Програмери примећују да је од почетка био циљ дизајна да се одржи најмање 60 кадрова у секунди (фпс) због чињенице да је то и игра ритма и акциона игра, где би пад те ознаке проузроковао „штуцање [које] би могло резултирати несинхронизацијом музике и уоченим лошим искуством играња“, према Јоханас.

Како је тим из Танго Гамеворкса успео? У великој мери се своди на три главне тачке: пажљиво праћење ВРАМ-а, асинхроне операције и ПСО кеширање.

Према Косуке Танака, водећи графички програмер за Хи-Фи Русх, тим је пратио употребу ВРАМ-а током сваког корака развоја. То укључује праћење сваког нивоа, наравно, али и коришћење ВРАМ-а сваког уметничког одељка, тражећи од уметника да смање употребу текстуре или мреже како би се уклопили у буџет игре. Ово није неуобичајено ни у развоју игара.

Оно што функционише у Хи-Фи РусхНаклоност је његов снажан уметнички правац. Како Танака истиче: „Наш уметнички стил нам је мало помогао јер нам нису потребне традиционалне ПБР текстуре као што су нормалне мапе, храпавост мапе или металне карте.” То је сведочанство рада са креативним ограничењима и како то може да утиче на стабилност финала производ. Јоханас каже да то није била ствар мањег обима – то је било питање „нема потребе да се иде на велико без разлога“.

Питао сам тим из чега је научио Хи-Фи Русх да би могао да се примени у веће, шире пројекте, али то није баш начин на који Танго узима поуке из игре. У ствари, развојни тим ми је рекао да је научио много више о оптимизацији од Гхоствире: Токио, који се уклапа у више традиционалних ААА калупа и пренео је те идеје у Хи-Фи Русх, не обрнуто.

Акито напада непријатеље магијом у Гхоствире: Токио.
Гхоствире: Токио је рани приказ ТСР-а Унреал Енгине-а, који је веома сличан ФСР 2.0.

„Научили смо много нашег знања о томе како да се носимо са муцањем у игри Хи-Фи Русх из нашег искуства у оптимизацији Гхоствире: Токио“, рекао ми је Мијашита. Велики део тога је био  Кеширање објеката стања цевовода (ПСО).. Ово је функција доступна у Унреал Енгине-у 4 која помаже у смањењу застоја прекомпајлирањем шејдера пре него што покренете игру.

Главни проблем је у томе што Унреал Енгине 4 то не ради аутоматски, што доводи до ситуација у којима схадери морају да се компајлирају док играте игру, што узрокује муцање. Мииасхита каже да је „ово резултирало неким пост процесима и ВФКС-ом који су изазвали муцање“. Програмер такође каже да је ПСО кеширање опционо, тако да треба да буде посебан фокус за програмера.

Међутим, кеширање не решава сваки проблем и ту долазе асинхроне операције. Тхе Хи-Фи Русх тим је користио асинхрону компилацију — где се сејдери компајлирају одвојено од нити игре — али је такође био велики фокус с обзиром да је игра покренута на Унреал Енгине-у 4.

Као што смо видели са другим Унреал Енгине 4 играма као што су Стар Варс Једи: Сурвивор и Редфалл, мотор није баш добар у скалирању на многе нити доступне на модерним процесорима. Као Мијашита објашњава: „Колико тешка може бити подршка за мулти-тхреадинг у великој мери зависи од коришћеног мотора архитектура. Нажалост, УЕ4 мало заостаје у овом погледу.”

Конкретно, Унреал Енгине 4, према програмеру, поставља стварање актера (објеката/ликова) и виџета (УИ и преклапање) на исту ЦПУ нит као и игра. То значи да кад год игра жели да, на пример, учита нови лик, она има приоритет у нити. Мииасхита каже да „ово може резултирати стварањем сложених актера и виџета који блокирају нит игре на дуже време.“ То је муцање.

Решење су асинхроне операције. Мииасхита каже да тим користи алате за анализу да би прецизно одредио шта ЦПУ ради док се објекти доносе и да се труде да преместе те задатке у различите нити како се игра не би успоравала доле. Ово специфично циљање може помоћи и при учитавању ресурса. Премештање тих операција у паралелну структуру може да избегне замке муцања стриминга присутне у играма као што су Деад Спаце.

Пут напред за ПЦ портове

Лејла се штити спектралним кишобраном у Редфалл-у.

Игре које данас излазе у катастрофалним државама почеле су свој развој пре много година, тако да се надам да ће се ПЦ издања побољшати како година буде одмицала, можда ће проћи неколико година пре него што видимо ове кључне проблеме обратио.

Витен каже да су „програмери забринути за перформансе као и играчи“, и то је осећај који сам чуо неколико пута. Постоје начини за оптимизацију ПЦ издања, од пред-кеширања схадера до асинхроних операција до валидације на широком спектру хардвера. Али реалност је да програмери не могу рачунати на све, због времена или новца, а обично и једног и другог.

Пут напред овде је једноставан. Прво, обавестите издаваче ових игара да бисте радије видели кашњење него покварену игру. Викање на програмере неће учинити много – они већ знају за проблем и вероватно би волели да се реши исто као и ви. Друго, будите опрезни када бирате нову ПЦ игру на дан објављивања. Тешко је бити стрпљив када се радујеш нечему (веруј ми, знам), али чекаш да купиш игру до проблеми су поправљени шаље снажан сигнал издавачима да уложе више времена и ресурса како би се уверили да су игре углађене на рачунару.

Лако је заборавити да је ово још увек неистражена територија. Сада више него икад, игре стижу на ПЦ истог дана када стигну на конзоле, за разлику од пре неколико година када су ПЦ портови стигли месецима (или чак годинама) касније. Пре две генерације конзола, већина игара је испоручена само истог дана на једну платформу; у претходној генерацији су биле две. Сада се од програмера очекује да испоручују најмање три платформе истог дана, а понекад и више од пет ако имају верзију последње генерације.

Није тешко схватити зашто постоје проблеми на ПЦ-у с обзиром на тај контекст, али надамо се да су још углађенија издања на путу.

Овај чланак је део РеСпец – стална колона сваке две недеље која укључује дискусије, савете и детаљно извештавање о технологији која стоји иза ПЦ игара.

Препоруке уредника

  • Покушао сам да оживим заборављено наслеђе Хало-а као Мац франшизе — и то је била катастрофа
  • Најгори портови за рачунар свих времена — и зашто су били тако лоши
  • Стар Варс Једи: Сурвивор се бомбардује на Стеам-у као „потпуно срање“ ПЦ порта
  • Како Унреал Енгине 5 решава највећи проблем у игрању рачунарских игара
  • АИ долази за ваше ПЦ игре, али треба да будете узбуђени, а не забринути