Последние новости об успехах в работе по улучшению клиента Лиги.
Ранее в этом году мы обещали каждые два месяца рассказывать, как идет работа по улучшению производительности клиента League of Legends.
Перед вами третья статья цикла. (Первую можно почитать здесь, а вторую – здесь.)
Суть вкратце: мы достигли ощутимого прогресса в очистке кода клиента. Кроме того, мы исправили ряд досадных ошибок – полный список опубликован ниже. Но несмотря на все успехи, впереди еще много работы. Кампания по очистке клиента продолжается.
Как было сказано в первой статье цикла, мы считаем, что лучший способ решить часть проблем с производительностью клиента – объединить ряд плагинов и приложений Ember, уменьшив их общее количество.
Для тех, кто не знает: плагины – это инструменты, которые позволяют разбить код клиента на части. А приложения Ember помогают управлять пользовательским интерфейсом клиента.
Мы продолжаем работать в этом направлении. На графике ниже показано изменение общего числа плагинов и приложений Ember за последнее время.
Посмотрев на график, вы наверняка спросите: "Как это влияет на производительность клиента?" Это не так просто объяснить. В двух словах: чем меньше плагинов и приложений Ember, тем эффективнее код клиента. Оптимизация кода повышает производительность клиента, а разработчикам проще его поддерживать.
Один из способов измерить эффективность нашей работы – оценить время загрузки клиента. Вот график, на котором показаны замеры скорости загрузки в разных версиях игры:
Как видите, последние несколько месяцев скорость загрузки почти не менялась. И это в какой-то мере успех, учитывая, с каким риском сопряжена наша работа. Перетасовка больших кусков кода и переподключение плагинов может привести к непредсказуемым последствиям, если подходить к этому неосторожно – но пока все в порядке.
Мы надеемся, что улучшения скорости загрузки станут заметны уже в ближайших обновлениях, особенно теперь, когда у нас есть новая система, которая позволяет более гибко настраивать список плагинов, загружаемых во время запуска клиента. (Читайте подробности в предыдущей статье, в разделе "Проблемы с Affinity".)
Мы продолжим заниматься объединением плагинов и приложений Ember как минимум еще пару месяцев, поскольку считаем, что в долгосрочной перспективе это принесет заметный результат. Если основа кода станет чище, нам будет проще исправлять ошибки, утечки памяти и вылеты.
Кстати, об ошибках и вылетах: давайте поговорим о багах, которые мы исправили за последнее время.
На протяжении последних месяцев команда, отвечающая за клиент, исправила массу ошибок. Начиная с обновления 10.13 список исправленных ошибок клиента будут публиковаться в отдельном разделе описаний обновлений для Лиги.
А пока вот перечень ошибок клиента, которые были исправлены с начала года:
Пока это все! Кроме того, вы всегда можете отправить отзыв, нажав на кнопку с жучком в правом нижнем углу клиента.
Работая над клиентом, мы постоянно задаем себе самый важный вопрос: соответствует ли клиент Лиги ожиданиям наших игроков?
Ответ, разумеется, "нет". По крайней мере, пока.
Нужно исправить еще множество ошибок, устранить массу причин вылетов и избавиться от глубоких архитектурных проблем. Работа, начатая в этом году, не закончится, пока ответом на вопрос "соответствует ли клиент Лиги ожиданиям наших игроков?" не станет твердое "да".
Впереди долгий путь, и мы будем регулярно публиковать отчеты о проделанной работе. Следующие несколько обновлений мы продолжим объединять плагины и приложения Ember, попутно исправляя найденные ошибки. Надеемся, что к моменту публикации следующей статьи цикла мы уже будем готовы перейти к другому этапу кампании, который направлен на повышение отзывчивости клиента на экране выбора чемпиона.
Как всегда, спасибо за игру! Ждите статью о клиенте через пару месяцев.