Повышение производительности


Приветствуем вас, зомбифицированные дамы и господа. Несколько классных вещей, которые стоит обсудить на этой неделе…

Текущая транспортная тестовая сборка

Сегодня мы выпустили публичную транспортную сборку 38, которая является глобальным обновлением с исправлениями и полировкой, в то время как более структурированная работа по оптимизации, подробно описанная ниже, ведется параллельно. Вы можете найти список изменений здесь.

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

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

Следующая транспортная сборка

Несмотря на большой объём работы и улучшений по сравнению с предыдущими сборками, на некоторое время мы не были удовлетворены производительностью в нашей тестовой транспортной ветке. Она была работоспособна, и было ясно, что тестерам с ней очень весело, но мы чувствовали, что не все было достаточно хорошо.

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

На наших внутренних тестовых ПК (с весьма высокими настройками) сейчас стало возможно достигнуть твердых 60 FPS (кадров в минуту) при отдалении изображения практически в каждой точке карты, за исключением разве что универмага и центра Вест Поинта — которые, независимо от этого, сами по себе стали гораздо более играбельны сейчас.

Следующее видео снято на разрешении 1920×1080 и показывает улучшенную производительность, которую мы видим на стандартных настройках. Обращаем внимание на счетчик FPS, который находится в левом верхнем углу. Мы подумывали над тем, чтобы соединить в одном видео кусочки из различных тестов, однако  чувствуется, что такая нарезка будет выглядеть как подлый монтаж, так что мы решили использовать пять минут непрерывной записи кадров из двух прогонов.

А это видео записывалось на разрешении 3800×1600 и показывает производительность, которую вы можете ожидать от более высоких разрешений экрана. Надеемся, что оно не так уж и сильно отличается от разрешения 4k.

Дополнительно, как вы, возможно, могли заметить на видео, мы также добавили поддержку для отмены опции ограничения FPS в настройках игры, теперь, при использовании этой функции,  FPS значительно возрастает. Надеемся, это осчастливит обладателей мониторов с высокой частотой обновления кадров. Во внутреннем тесте мы достигли 300+ FPS при приближении в областях карты с низкой плотностью с выбранной опцией отключения ограничения FPS, что смотрится весьма неплохо и плавно на мониторе G-Sync с частотой обновления 144Гц.

Мы надеялись, что эта сборка с оптимизацией будет выпущена сегодня (8 марта — прим. переводчика),однако при работе со столь глубокой и всеобъемлющей оптимизацией всегда возникают новые непредвиденные побочные эффекты и новые ошибки, возникающие при изменении игрового кода, чтобы ускорить его. Части пользовательского интерфейса внезапно пропадают из-за частоты кадров, появляется мерцание при обновлении освещения и т.д., а также более серьезный вопрос невидимости предметов, сброшенных на пол, и некоторые другие, которые, к несчастью, означают, что мы не сможем выпустить сборку сегодня..

Таким образом, мы решили выпустить существующий список изменения в 38-й тестовой транспортной ветке и оставить оптимизацию до следующей недели, когда в системе будет не так много беспорядков. Мы надеемся, это в последующем станет кандидатом для внедрения транспортных средств в нашу основную тестовую ветку IWBUMS, поскольку мы повышаем планку по поводу анимаций и т.д.

Сборки помимо транспортной

Как уже упоминалось ранее, бок о бок с системой анимаций, которую готовит Mark из Bitbaboon, у нас есть несколько других новых систем для внедрения в тестовую ветку, как только с транспортом будет закончено.

Во-первых, это новая система окна чата от Stas’а и функции для многопользовательского режима, а во-вторых, между тем, новые эффекты снега/тумана, которые идут рука об руку с общим улучшением/углублением того, как погода функционирует в игре. Всё это исходит от Turbo — когда-то мододела, а теперь ценного члена команды разработчиков PZ — который в основном сидит в стороне от основной команды, приготавливая безумные/сложные замыслы, которые затем могут быть введены в основную игру.

Мы должны получить полный time-lapse (разновидность покадровой съёмки при которой интервалы между сменой кадров строго равны между собой, обеспечивая многократное ускорение видимого на экране движения — прим. переводчика) на следующей неделе,хотя у нас тут есть существующие видео тумана, однако теперь вы сможете увидеть, как всё это работает на отладчике Turbo. Прямо сейчас у нас есть только одна ежедневная температура, интенсивность осадков и т.д., но теперь дополнительный слой поверх существующей климатической системы будет иметь более разнообразные изменения погоды/температуры в течение дня — а также более реалистичные погодные системы в течение нескольких дней.    

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

Между тем в течение более долгих временных периодов, хотя это и кажется довольно случайным, осадки будут сгруппированы, так что у вас много дней может не быть дождя, а потом долгий период дождливых или снежных дней.

Как вы можете видеть на следующей картинке, моделирование климата идёт глубже, чем думалось, связывая температуру, ветер и другие факторы вместе в приятную глубокую систему, достойную игры Project Zomboid:

 

Перевод — Аня Дроздовская