Ys IX: Monstrum Nox: Ys IX на ПК - За кулисами

Ys IX на ПК - За кулисами
Опубликовано 15 Июл, 2021 0 likes

С выпуском Ys IX, наконец, на ПК, мы достигли самой критической точки в одном из самых сложных проектов переноса, которые мы предприняли до сих пор. Некоторые из этих проблем были неизбежны, в то время как другие были вызваны нами самими, но мы считаем, что преодолели подавляющее большинство из них и готовы предоставить отличную версию игры. В этой статье мы хотели бы немного подробнее остановиться на некоторых функциях, специфичных для ПК, и работе по оптимизации, которая была проделана в этой версии игры.

Обзор функций

Некоторые из нас здесь, в PH3, являются энтузиастами компьютерных игр. Хотя мы надеемся, что это хорошо для всех, кто играет в наши порты, это также означает, что мы часто создаем значительные рабочие нагрузки для себя, внедряя функции, которые не были строго необходимыми-и это, безусловно, относится к Ys IX.

Полная поддержка Мыши/Клавиатуры

При переносе Ys IX на ПК мы реализовали полную поддержку мыши/клавиатуры. Это включает в себя не только основы управления игрой (с необработанным вводом мыши для управления камерой!), Но и повторную привязку всех действий до двух привязок каждое, управление указателем во всех меню, прокрутку колесика мыши, где это уместно, и адаптивные подсказки в зависимости от вашего предпочтительного устройства ввода и привязки.

Это может показаться тривиальными изменениями, но в игре с большим количеством пользовательского интерфейса, который когда-либо был разработан только для контроллера, они более трудоемки, чем вы думаете.

Поддержка высокой частоты кадров

Ys IX изначально был рассчитан на 60 кадров в секунду, но в экшн-игре всегда желательно иметь возможность достичь более высокой частоты кадров, особенно для тех, у кого есть ПК высокого класса. Наши бета-тестеры помогли нам найти все большие и малые способы, которыми игра могла сломаться при превышении 60 кадров в секунду, и шаг за шагом нам удалось заставить все работать со скоростью до 144 кадров в секунду при полной поддержке.

Сверхширокое Соотношение Сторон

Многие консольные игры построены с предположением, что 16:9-это единственное соотношение сторон, которое необходимо поддерживать, и выход за его пределы может привести к всевозможным проблемам, особенно связанным с пользовательским интерфейсом, а также с другим рендерингом, таким как специальные эффекты. Таким образом, полная поддержка более широких соотношений сторон, включая пользовательский интерфейс, в таких играх-это гораздо больше, чем просто небольшой взлом, но мы сделали это для Ys IX и надеемся, что вам понравится результат.

Другие функции и опции

Вот список дополнительных функций и опций, добавленных в версию для ПК:

  • Поддержка произвольного разрешения(протестировано до 8 К)
  • Настройка регулировки поля зрения камеры
  • Опция общей частоты дискретизации (поддерживает подвыборку для систем низкого класса и суперсэмплирование для систем высокого класса)
  • Настройте расстояние и плотность листвы, чтобы выйти за рамки консоли на высоком уровне или получить дополнительную производительность на низком уровне
  • Фильтрация теней (включая PCSS) и параметры разрешения теней
  • Различные индивидуальные варианты постобработки, включая HBAO+ окклюзию окружающей среды
  • Фильтры доступности для дальтонизма

Оптимизация производительности

Учитывая начальное состояние-существенно улучшенное с тех пор-Ys VIII на ПК, производительность была ключевой проблемой при переносе Ys IX на ПК. Это вдвойне важно, поскольку Ys IX на самом деле является гораздо более сложной игрой для запуска, чем ее предшественница, поскольку последняя все еще была разработана для работы на PlayStation Vita.

К тому времени, когда мы были готовы отправить начальную версию Ys IX нашим бета-тестерам для ПК, мы уже улучшили производительность примерно в 2 раза по сравнению с самой первой версией на ПК, устранив различные наиболее очевидные узкие места. Мы назвали эту начальную закрытую бета-версию 0.9.0

Но все равно, достижение примерно 68 кадров в секунду в пределе процессора на моем ПК для разработки (Intel 9900k) казалось довольно недостаточным, даже с учетом увеличенного расстояния прорисовки по сравнению с консолью и того факта, что это измерение было выполнено в самом сложном месте в игре с точки зрения производительности.

Это положило начало глубокому исследованию характеристик производительности игры, а также улучшениям, а иногда и прямому переписыванию некоторых ее аспектов. Прежде чем мы перейдем к более подробному описанию каждой версии, я хотел бы отметить, что все это истинные оптимизации: результат и поведение игры остаются точно такими же.

  • В 0.9.1 мы ввели различные функции распараллеливания и асинхронного выполнения для оптимизации процесса рисования DX11. Системы Nsight были действительно бесценным инструментом для этой цели, поскольку они дают представление о поведении каждого потока в каждой точке кадра. Хотя это распараллеливание обеспечило очень существенное повышение производительности, на самом деле оно также немного увеличило нестабильность времени работы с кадрами.
  • Версия 0.9.2 повторно реализовала способ, которым движок обрабатывает состояния сэмплера, предварительно генерируя их и используя этот набор предварительно сгенерированных сэмплеров, а не повторно генерируя новые по требованию во время каждого кадра, а также еще несколько незначительных оптимизаций.
  • При сравнении кадров в секунду версия 0.9.3 не кажется слишком большим шагом, но она включала замену распределителя памяти игры на отличный rpmalloc, что также привело к более стабильному профилю производительности и сокращению времени загрузки.
  • В версии 0.9.4 мы полностью переопределили обработку буфера D3D11 как для динамической геометрии, так и для буферов памяти, связанных с созданием экземпляров. Это не только значительно повысило производительность, но и позволило нам избавиться от одного из потоков, введенных в более раннем распараллеливании.
  • Наконец, в версии 0.9.5 мы сократили задержку графического конвейера и решили некоторые проблемы с обрезкой, избавившись от нескольких ненужных операций рисования. После этого момента не было внесено никаких изменений, которые могли бы повлиять на производительность, что также подтверждается результатами тестирования.

Сравнение видео и производительность в особых ситуациях

Конечно, одно это сравнение кадров в секунду не говорит всей истории. Разница в стабильности также может быть существенной, как показано в этих видео версий 0.9.0 и 0.9.3.

Помимо этого, есть некоторые конкретные ситуации, которые демонстрируют еще более существенное улучшение, такие как печально известный инцидент с "туманом черной рыбы", на который указал один из наших бета-тестеров выше, что побудило к расследованию и окончательной замене инфраструктуры обработки буферов D3D11.

Ограничения и ожидания

Прочитав вышесказанное, у вас может возникнуть соблазн подумать, что Ys IX теперь является мастер-классом по производительности, и что каждый сможет запустить его на максимальных настройках без каких-либо проблем.

Это решительно не тот случай. Игра по-прежнему предъявляет существенные требования к производительности графического процессора, и некоторые из настроек, которые мы ввели, очень сильно снижают производительность-прежде всего, общая опция суперсэмплирования.

Но даже с отключенными или уменьшенными параметрами и всей оптимизацией производительности, о которой говорилось выше, это все равно игра, которую по своей сути значительно сложнее запустить, чем Ys VIII. Тем не менее, мы представили некоторые опции, которые должны обеспечить бесперебойную работу систем более низкого уровня, включая возможность полностью отключить динамическое затенение, снизить частоту дискретизации 3D-рендеринга, уменьшить расстояние отрисовки и уменьшить плотность листвы.

Вывод

This port would not have been possible without the fantastic work of our indefatigable beta testers, the excellent contributions of my fellow developers at PH3, and the support of NISA. Hopefully it will be an enjoyable experience for you.
- Питер "Дюранте" Томан, технический директор, PH3

0 Комментарии:

оставьте ответ

Ваш электронный адрес не будет опубликован.

Смотрите также в категории Экшен