クライアント クリーンアップ:まもなくChromium Embedded Framework(CEF)アップグレード実施

CEF新バージョン、来月にもPBE導入へ。

私たちはリーグ・クライアントのパフォーマンスと信頼性向上のため、内部で行っている作業の進捗を継続的にお伝えしていくことをお約束しました。

本日のアップデートは、同シリーズ第8回目のブログとなります。1234567も合わせてご参照ください。

なお、今回は前回取り上げた主要課題の進捗を端的にまとめた内容であるため、要約項目は用意していません。

Chromium Embedded Framework(CEF)のアップデート

チームでは現在、クライアントに使用されているChromium Embedded Framework(CEF、LoLクライアントアーキテクチャの中核部分を担っているWebブラウザ)のバージョンを上げることを最重要目標としています。前回CEFをアップデートしたのは2019年11月(version 74)、一方で執筆時点での最新バージョンはCEF 91です。今回CEF version 91へアップデートすることで、クラッシュ頻度の低減、互換性の向上、応答性の改善をはじめとする多種多様な改善が実現します。以前もお話ししましたが、CEFのアップデートは、クライアント改善に向けて単体で取れる施策としては最大のものですから。

前回4月に記事を投稿して以来、私たちはCEF新バージョン導入が原因で不具合が生じないように既存のWebコンポーネント(動画埋め込みやポップアップ通知など、Webサイト関係のテクノロジーです)をCEFの新バージョンと互換性があるものへアップグレードする作業に取り組んできました。なおWebコンポーネントはクライアントコードベースのほぼ全域で使用されているため、互換性確保は予定から数パッチ遅れての完了となりました。とはいえWebコンポーネントの対応はこれにて完了、ここからはCEF自体のアップグレードに着手できます。

現在はCEF新バージョンを内部でテストしているところですが、既にフロントエンド側でもメモリー使用量とCPU使用率の両面で改善を確認しています。CEFアップグレードによるその他の利点もローンチまでには顕在化し、プレイヤー体験を改善してくれるものと予測しています。とはいえ、急いては事を仕損じるということわざもあります。これは皆さん全員のゲーム体験を改善するチャンスですから、アップグレード版クライアントをライブサーバーに実装するまでの期間で動作をしっかりと安定させていくつもりです。

CEFアップグレード版クライアントは8月上旬までにPBEサーバーへ、その数パッチ後にはライブサーバーへそれぞれ実装できる見込みです。もちろん実装時にはパッチノート上でもお知らせします。

その他のアップデート

  • EOGEnd of Game, 試合終了時)処理の再改善:EOGはまだ改善できる点を調査している段階ですが、CEFのアップグレードが完了したら優先領域として取り組んでいきます。EOGはクライアントの不満点としてよく挙げられる点なので、まずしっかりと調査を進め、他のチームと協力しながら改善できる領域を特定し、今年一杯かけて優先的に取り組んでいく予定です。
  • 長時間セッションにおけるクライアントの安定性:昨年末に集中的に取り組んだ問題のひとつにプレイヤーが何試合も連続でプレイしたり、長時間放置したりしたときに生じる「メモリーリーク」がありました(今回のCEFアップグレードではクライアントの安定性も向上するため、一定の改善は予想されます)。あれからクライアントバグレポートを細かく分析したところ、この問題は1)クライアントを長時間起動したまま放置した時、2)クライアントを起動したままPCをスリープさせ、その後スリープ状態から復帰した時に頻発していることを特定しています。なお現在はメモリー使用量が増えすぎた場合、試合開始に合わせてクライアントを閉じる機能を開発中で、これが完成すれば試合終了画面へ遷移する際にクライアントが再起動されるようになるため、起動直後と同等のプレイヤー体験が期待できるようになります。

今回の進捗方向はこれで終わりです!CEFアップグレード完了後には成果と今後の予定をお知らせする予定ですので、またご覧いただければ幸いです。