Разработчики
APB Reloaded рассказывают о том, как им удалось оптимизировать производительность игры, и показывают одежду из комплекта
High Roller.
Оптимизация в 1.17.1; одежда из комплекта High Roller
(Автор: команда APB Reloaded)
1.17.1: Улучшение производительности
Последние несколько месяцев мы проводили различные тесты: вели записи всех событий, анализировали их, изучали отчёты о проблемах со стороны сервера; всё для того, чтобы выявить основные причины плохой оптимизации. К сожалению, чёткого ответа нет. Мы лишь можем предполагать, что является причиной всех проблем. Исходя из наших данных, причин может быть несколько. В обновлении 1.17.1 мы постарались исправить некоторые проблемы.
Одна из проблем, которую мы пытались решить – проблема системы сбора мусора (и мы сейчас говорим не про бытовой мусор). Эта система освобождает память, удаляя неиспользуемые объекты.
Чтобы рассказать обо всём в деталях, мы передаем слово нашему инженеру, который отвечал за проделанную работу.
Анализ проблем производительности
Мы снова провели тесты производительности и изучили полученные отчёты.
Сервер обновляется 25 раз в секунду, выходит игровой мир обновляется каждые 0,04 секунды (40 миллисекунд). Мы измеряем время каждого такого обновления и проверяем – нет ли задержек. В случае задержки мы ищем дополнительную информацию об этом обновлении.
Эти задержки влияют на плавность игрового процесса, чем меньше таких задержек, тем плавнее идёт игра.
Две возможные причины проблем производительности
Игровой сервер постоянно выполняет стандартные задачи (следит за перемещениями персонажей, имитирует физику, пересылает сетевой трафик). Иногда серверу приходится заниматься и другими вещами (когда игрок присоединяется в район, когда идёт сбор данных о неиспользуемых объектах). Мы изучали последние два случая.
Уменьшение влияния входа в район на производительность
Когда персонаж попадает в район, сервер данного района находит информацию в базе данных, а затем инициализирует себя с этой информацией. Выяснив, что в этом процессе участвует жёсткий диск пользователя (а он часто является самой медленной частью компьютера), нам удалось уменьшить воздействие на сервер от чтения этих данных.
Оптимизация системы сбора мусора
Сбор мусора – процесс, который избавляется от объектов, которые в настоящий момент не используются. Сейчас «сбор» начинается каждую минуту и состоит из двух этапов. На первом этапе система определяет, какие файлы больше не требуются игре. Это нужно определять быстро, иначе память успеет измениться, и анализ уже не будет верным. На втором этапе система избавляется от ненужных файлов. Это занимает больше времени, чем хотелось бы.
Некоторые время назад мы добавили сбор информации по этой проблеме. После изучения полученных данных нам удалось выяснить, что отнимало большую часть времени, и оптимизировать процесс.
Повышение производительности серверов представляет собой непрерывный процесс, мы всё ещё можем проводить оптимизацию. Мы продолжим поиск и решение проблем произодительности.
Новый комплект High Roller
Встречайте первую информацию о новом комплекте High Roller. В этом материале мы расскажем об одежде, которая входит в этот комплект.
Первое, что бросается в глаза – новая экипировка, которая способна напугать своих врагов. У силовиков это бронежилет с большим пространством для боеприпасов дробовика, а у криминалов это бронежилет с бандольером. Персонажам женского пола достанутся самые модные вещи: кружевной корсет, обтягивающие шорты, узкие маркие штаны и туфли на высоких каблуках. Мужчинам достанутся: восьмиклинка, рубашка с жилетом, залатанные штаны и пара шикарных ботинок.
В Сан-Паро всегда нужно прилично выглядеть. Комплект High Roller даст игрокам шанс задать новую моду в городе.
Завтра мы поговорим о новом дробовике и об изменениях в балансе всех дробовиков.