Уголок разработчиков
Очистка клиента: на очереди выбор чемпионов

Мы заканчиваем работу над уменьшением времени загрузки клиента и переходим к выбору чемпионов.

Уголок разработчиковАвторыRiot Cactopus, Riot Am1t, Riot A Huevo
  • Скопировано в буфер обмена

Ранее в этом году мы обещали каждые два месяца рассказывать, как идет работа по улучшению производительности и стабильности клиента League of Legends.

Перед вами четвертая статья цикла. (Первую можно почитать здесь, вторую – здесь, а третью – здесь.)

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

ВРЕМЯ НАЧАЛЬНОЙ ЗАГРУЗКИ КЛИЕНТА

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

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

timeseries_RU.png

Теперь начальная загрузка для игроков 90-го процентиля составляет около 18,5 секунды. Это значит, что для 90% из вас клиент загружается еще быстрее (впрочем, последние улучшения наиболее заметны именно на слабых компьютерах).

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

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

Во-первых, в обновлении 10.14 мы внедрили технологию, которая позволила оценить, сколько времени начальной загрузки тратится на каждый из 68 плагинов клиента. Выяснилось, что некоторые плагины доставляют особенно много проблем. Восемь плагинов отвечали за 75% времени загрузки, а на остальные 60 приходилось всего 25%.

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

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

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

ОПРОСЫ О КАЧЕСТВЕ РАБОТЫ КЛИЕНТА

Вы, наверное, думаете: "Рито, вы с ума сошли? Зачем нужны опросы о клиенте? Вы и так знаете, что он никуда не годится!"

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

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

Теперь, когда у вас есть контекст, пришло время посмотреть на графики.

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

chart1_RU.png

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

Следующий опрос посвящен более конкретным проблемам.

chart2_RU.png

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

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

chart3_RU.png

А вот еще один график, на котором показано, как часто встречается каждая проблема и насколько раздражающими их находят игроки.

chart4_RU.png

Как видно, две проблемы выделяются на фоне остальных.

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

СЛЕДУЮЩИЕ ШАГИ

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

Сначала поговорим о выборе чемпионов.

В феврале мы объявили, что наша главная цель – повысить отзывчивость UI/UX кнопок на экране выбора чемпиона. В частности, мы сказали, что хотим уменьшить задержку ответа элементов вроде кнопки "Подтвердить" хотя бы до 100 мс – даже для игроков 90-го процентиля.

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

Что касается выбора чемпиона, мы будем работать по трем ключевым направлениям.

  1. Сделаем выбор чемпиона более простым и стабильным. Игроки давно просят, чтобы выбор чемпиона стал более быстрым и отзывчивым. Мы хотим провести рефакторинг существующих компонентов, чтобы повысить отзывчивость, уменьшить потребление памяти, упростить архитектуру и свести к минимуму незапланированные уклонения от игры.
  2. Заново оценим UX (взаимодействие с пользователем) и UI (пользовательский интерфейс) на экране выбора чемпиона. Мы будем работать вместе с командой дизайнеров, чтобы понять, где можно удалить или упростить ненужные анимации и компоненты, которые потребляют много ресурсов.
  3. Исправим как можно больше ошибок. Основное внимание мы уделим ошибкам, которые сильнее всего раздражают игроков.

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

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

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



  • Скопировано в буфер обмена