Меньше лагов — больше фрагов!

Мы приняли решение начать  публиковать информацию о том, в каком направлении будет развиваться проект Alvegia Online: Battle Field

Мы будем понемногу приоткрывать завесу над тем, какими задачи занимаются в данный момент команды разработки и каких результатов мы стремимся достичь. А начнём мы вести этот раздел с рассказа о том, как команда разработки занимается увеличением производительности и снижением количества лагов, возникающих во время игры. Текущая цель, к которой мы идём при разработке Alvegia Online: Battle Field – это стабильный fps на уровне 60 кадров в секунду (средний fps не ниже 30).

Кадровая частота.

Материал из Википедии — свободной энциклопедии

В компьютерных играх под кадровой частотой (англ. FPS, Frame Per Second) понимается частота, генерируемая само́й игрой в зависимости от ресурсов компьютера и необходимости передачи движений разной интенсивности. Понятие «Фреймрейт» (англ. Framerate) используется, как жаргонное обозначение такой частоты кадров.

Безусловно, речь идёт о том, чтобы добиться подобных цифр на конфигурации современной игровой станции с рекомендуемыми требованиями к комплектующим. На первых этапах это скорее всего приведёт к тому, что компьютеры с более слабыми конфигурациями останутся «за бортом» и не смогут почувствовать ту динамику, к которой мы стремимся.

Рекомендованные требования.

  • OS: Windows 7/Vista/XP
  • CPU: 3 GHz DualCore
  • RAM:  2 GB
  • Видеокарта: GeForce 9800/ATI 4850 с 512 MB памяти
  • Интернет:   128 KBpS

Далее о том, как происходит процесс оптимизации и с чем столкнулись наши разработчики.

На начальном этапе разработчики проводили анализ всех методов, вызываемых  на клиенте игры, исследовали пики нагрузки и снижали ее относительно друг-друга. На данном этапе в основном сокращалось количество вызовов методов, устранялись «паразитные» вызовы, которые не требовались в тех или иных ситуациях. За счёт проведения данных работ нагрузка на игровой клиент различных ее частей выравнялась, были устранены заметные длительные фризы.

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

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

К слову, текущее среднее время выполнения операций равно 27 миллисекундам и варьируется в промежутке от 13 до 40 миллисекунд. Иными словами нам необходимо ускорить игровой клиент почти в 2 раза, увеличив скорость работы всех частей игры.

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

Если Вам понравилась статья, мы будем рады Вашим комментариям. Вы можете зарегистрироваться (нажав на кнопку вверху справа) или воспользоваться учётной записью VKontakte или Facebook.

Метки: ,