Почему ПК-порты в 2023 году тормозят? Разработчики попытались объяснить происходящее
В последнее время официальный релиз игры на ПК редко совпадает с выпуском работоспособной версии. К разработчикам всё чаще возникают вопросы
В 2023 году на ПК выпустили множество не очень хорошо работающих игр. Отметились Forspoken, Gotham Knights, Redfall, The Last of Us Part 1, Star Wars Jedi Survivor.
Журналист из Digital Trends обратился с вопросами к разработчикам, чтобы выяснить причины происходящего с ПК-портами игр. Среди респондентов были создатели Hi-Fi Rush, которая у заметной части игроков очень хорошо работала на ПК.
Назвали несколько проблем, например гибкость ПК — одновременно является и плюсом, и минусом платформы. Когда дело доходит до релиза каких-то проектов, то огромное разнообразие конфигураций ПК становится проблемой. Отличаются ПК не только по компонентам, но и по программному обеспечению, запущенным на фоне процессам и т.п.
Масштабирование графики для разных конфигурация ПК это задача, на которую придётся выделять очень много ресурсов. Разработчики не могут позволить себе оптимизировать все графические составляющие игр так, чтобы они могли масштабироваться для ПК любой мощности.
Движок Unreal Engine 4 не поддерживает автоматические кэширование объектов состояния конвейера (Pipeline State Objects), т.е. разработчикам надо самостоятельно этим заниматься для снижения статтеров из-за компиляции шейдеров.
У Unreal Engine 4 есть проблема с потоками: он плохо масштабируется на многопоточные процессоры, активно нагружая один поток. На практике это выражается в том, что при загрузке нового объекта наблюдаются подтормаживания.
Утверждается, что разработчики тоже озабочены вопросом производительности, просто всё упирается в деньги и время (не всегда успевают в срок). Нельзя учесть абсолютно всё.
Создатели Hi-Fi Rush рассказали, что с самого начала их цель была поддерживать не менее 60 FPS (это ритм-игра + экшен). Для оптимизации они использовали асинхронные операции (помогает не перегружать один поток процессора), кэширование Pipeline State Objects, и отслеживали состояние игры во время разработки.