.

Материковые породы

1

Мы продолжили исследование утечки памяти, о которой я упоминал на прошлой неделе, и обнаружили проблему с EAC, которая вызвала постоянную загрузку определенной памяти из файла страницы (а именно данных текстуры, которые должны храниться в памяти Unity даже после того, как она была загружена в VRAM) в физическую память. Хотя это не было технической утечкой памяти, это все равно означало, что для игры требуется больше физической памяти, чем это необходимо, что может определенно повлиять на производительность на машинах с низкой памятью. Это было исправлено, и мы подтвердили, что игра теперь требует значительно меньше физической ОЗУ.

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

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

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

Материковые породы
АНДРЕ СТРАУБМАЙЕР

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

Комментарии и уведомления в настоящее время закрыты..

Комментарии закрыты.