Очистка клиента продолжается

Последние новости об успехах в работе по улучшению клиента Лиги.

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

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

Суть вкратце: мы достигли ощутимого прогресса в очистке кода клиента. Кроме того, мы исправили ряд досадных ошибок – полный список опубликован ниже. Но несмотря на все успехи, впереди еще много работы. Кампания по очистке клиента продолжается.


ПОСЛЕДНИЕ ИЗМЕНЕНИЯ

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

Для тех, кто не знает: плагины – это инструменты, которые позволяют разбить код клиента на части. А приложения Ember помогают управлять пользовательским интерфейсом клиента.

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

Architecture_Stats.png

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

Один из способов измерить эффективность нашей работы – оценить время загрузки клиента. Вот график, на котором показаны замеры скорости загрузки в разных версиях игры:

Loading_Screen_Render.png

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

Мы надеемся, что улучшения скорости загрузки станут заметны уже в ближайших обновлениях, особенно теперь, когда у нас есть новая система, которая позволяет более гибко настраивать список плагинов, загружаемых во время запуска клиента. (Читайте подробности в предыдущей статье, в разделе "Проблемы с Affinity".)

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

Кстати, об ошибках и вылетах: давайте поговорим о багах, которые мы исправили за последнее время.

ИСПРАВЛЕНИЕ ОШИБОК

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

А пока вот перечень ошибок клиента, которые были исправлены с начала года:

  • 10.1 – расположение клиента больше не сбрасывается по окончании игры.
  • 10.1 – исправлена ошибка, из-за которой пропадал логотип Лиги около кнопки "Играть".
  • 10.1 – [MAC] исправлена ошибка, из-за которой клиент иногда вылетал при попытке повторного соединения после длительного, более минуты, отсутствия подключения к интернету.
  • 10.1 – изменения фона профиля теперь корректно отображаются для других игроков.
  • 10.3 – нажатие средней кнопкой мыши по ссылкам больше не мешает корректной работе клиента.
  • 10.3 – значок магазина теперь нормально подсвечивается, если перейти в этот раздел после открытия хекстекового сундука в добыче.
  • 10.3 – при изменении фильтров сортировки в коллекции порядок больше не становится обратным алфавитным.
  • 10.3 – сортировка по параметру "Пройдено вех" в коллекции теперь работает нормально.
  • 10.4 – исправлена ошибка, из-за которой возникали проблемы с социальной панелью и окном чата на экране выбора чемпиона после совершения определенных действий (когда вы удаляли друга, когда кто-то удалял вас, когда вас блокировали).
  • 10.4 – поиск в коллекции теперь снова поддерживает альтернативные варианты написания.
  • 10.4 – поиск чемпионов в коллекции больше не чувствителен к регистру.
  • 10.4 – сортировка чемпионов по алфавиту в коллекции теперь работает корректно.
  • 10.4 – клиент больше не показывает черный экран после нажатия кнопки "Играть снова", если игрок начал прошлый матч во время просмотра персональных скидок.
  • 10.5 – удалена ненужная полоса прокрутки в нижней части раздела чемпионов в коллекции.
  • 10.7 – исправлена ошибка, из-за которой кнопка "Отправить запрос на добавление в друзья" переставала работать в лобби своей игры.
  • 10.7 – информационный экран "Открыть расписание" больше не теряет четкость при просмотре грядущих турниров в разделе Clash.
  • 10.8 – теперь при закрытии вкладки эмоций с несохраненными изменениями всегда появляется всплывающее окно с вопросом о сохранении.
  • 10.8 – покидая послеигровой экран, игрок больше не попадает в свой профиль.
  • 10.8 – иконки призывателя теперь отображаются корректно после входа в клиент.
  • 10.9 – исправлена ошибка, из-за которой нельзя было выбрать иконку призывателя "Синий миньон-воин".
  • 10.9 – игроки больше не получают неверное сообщение об ошибке при попытке войти в клиент, когда проводится техническое обслуживание.
  • 10.9 – исправлена ошибка, из-за которой в списке заблокированных не отображались имена игроков.
  • 10.9 – исправлен ряд утечек памяти, вызванных использованием старой версии Ember.
  • 10.10 – исправлена ошибка, из-за которой страницы рун не отображались после входа.
  • 10.10 – теперь страницы рун автоматически закрываются при нажатии на кнопку "Играть".
  • 10.10 – исправлена ошибка, из-за которой при изменении порядка страниц рун создавались их копии или клиент вылетал.
  • 10.10 – исправлена ошибка, из-за которой некоторые игроки не могли редактировать страницы рун.
  • 10.11 – параметры "Включить режим низких требований" и "Закрывать клиент на время игры" теперь нормально сохраняются при закрытии окна настроек.
  • 10.11 – исправлена проблема с отображением кнопки редкости образов в коллекции.
  • 10.11 – исправлена ошибка, из-за которой игроки иногда не могли войти в режим наблюдателя.
  • 10.12 – исправлены кое-какие ошибки, влиявшие на функционал страниц рун на экране выбора чемпионов.

Пока это все! Кроме того, вы всегда можете отправить отзыв, нажав на кнопку с жучком в правом нижнем углу клиента.

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

Работая над клиентом, мы постоянно задаем себе самый важный вопрос: соответствует ли клиент Лиги ожиданиям наших игроков?

Ответ, разумеется, "нет". По крайней мере, пока.

Нужно исправить еще множество ошибок, устранить массу причин вылетов и избавиться от глубоких архитектурных проблем. Работа, начатая в этом году, не закончится, пока ответом на вопрос "соответствует ли клиент Лиги ожиданиям наших игроков?" не станет твердое "да".

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

Как всегда, спасибо за игру! Ждите статью о клиенте через пару месяцев.