NCSoft の Lineage W が ADPF を使用して持続的なパフォーマンスを向上させ、サーマル スロットリングを回避

NCSoft のリネージ W のスクリーンショット

NCSoft リネージュ W は NCSoft が開発した大規模マルチプレーヤー型オンライン ロールプレイング ゲーム(MMORPG)です。このゲームは、オリジナルのリネージュ W ゲームの伝統を継承し、世界中のプレーヤーがグローバル サーバーを介して協力して競争できる環境を提供します。ユニークな中世ファンタジーの世界を舞台に、さまざまなクラス、スキル、戦闘システムを通じて、プレーヤーに深いゲーム体験を提供します。

NCSoft は Android Dynamic Performance Framework を使用して、サーマル スロットリングによるパフォーマンスの問題を防ぎながら、グラフィックの品質を最大化しました。

Android Dynamic Performance Framework

Android Dynamic Performance Framework(ADPF)は、リソースの使用状況に関する情報を提供し、デベロッパーがパフォーマンス、温度、ユーザーの状況の変化にリアルタイムで対応できるよう支援します。Thermal API と Performance Hint API の両方が含まれています。Thermal API はデバイスの温度状態に関する情報を提供し、Performance Hint API は Android が最適な CPU 動作点とコア配置を選択するのに役立つパフォーマンスのヒントを提供します。Thermal API はデバイスの温度状態に関する情報を提供し、Performance Hint API はパフォーマンスのヒントを提供し、Android が最適な CPU 動作点とコア配置を選択するのを支援します。

Unreal Engine ADPF プラグイン

Unreal Engine ADPF プラグインは、Unreal Engine を使用するゲームで ADPF を使用する最も簡単な方法を提供します。

このプラグインは、デバイスの熱ステータスを 1 秒ごとにチェックします。デバイスが過熱すると、プラグインはデフォルトの Unreal Scalability 設定を使用してグラフィックの品質設定を調整します。4 つのレベルがあり、各レベルはさまざまなグラフィック品質(解像度、撮影距離、後処理など)にマッピングされています。

プレーヤーが構成できるゲーム内設定(低、中、高など)がすでにある場合は、デフォルトの Unreal Scalability レベルではなく、これらの設定を使用することをおすすめします。

このプラグインは、デバイスの温度をチェックするために 2 つのメソッドを使用します。1 つはサーマル ヘッドルームを評価する方法、もう 1 つはサーマル ステータスを確認する方法です。サーマル ヘッドルームにより詳細な情報が提供されます。これはデフォルトで有効になっています。

このプラグインは、ゲーム スレッドとレンダリング スレッドの 2 つのパフォーマンスのヒント セッションを作成します。フレームごとに目標と実際の時間をフレームワークに報告し、目標フレーム/秒(FPS)の達成を支援します。

NCSoft がパフォーマンスを最適化した方法

図 1.ゲーム内動画

リネージ W は、サーマル スロットリングによるパフォーマンスの問題を防ぐために ADPF を使用しました。そこで、実際のゲームプレイへの影響を最小限に抑えながら、パフォーマンスを大幅に向上できるグラフィック品質設定の使用を最大化する取り組みを行いました。NCSoft は、ヘッドルーム値を使用して品質を調整する際に、各ステージの安定性と動作を検証しました。グラフィック品質設定の値ごとに、優れたゲーム エクスペリエンスを提供するために、さまざまなテストが必要でした。

ゲームはデフォルトで 30 FPS を目標にしていますが、NCSoft は ADPF で FPS をどのように改善できるかをテストするために、目標 FPS を 60 に変更しました。

NCSoft のリネージ W のスクリーンショット

Android 13 を搭載した Google Pixel 6 で 30 分間のゲームプレイ テストで、FPS は 60 FPS から 32 FPS に大幅に低下し、サーマル ヘッドルーム値は 4 分の時点で 1.0f(重大なサーマル スロットリングのしきい値)に達しました。

NCSoft のリネージ W のスクリーンショット

デフォルトの Unreal スケーラビリティで Unreal Engine ADPF プラグインを使用した場合、60 FPS を 15 分間維持できました。この 30 分間の平均フレームレートも 57.5 FPS に上昇しました。ただし、サーマル ヘッドルームは以前と同様の値を示しました。これは、デバイスが同様の方法で発熱し、サーマル スロットリングが発生したことを意味します。

NCSoft のリネージ W のスクリーンショット

これに対処するために、Lineage W チームは、サーマル スロットリングを回避するために、忠実度パラメータを ADPF でより細かく制御できるようにすることにしました。Lineage W のゲーム内グラフィック品質設定を Unreal Engine ADPF プラグインと統合した結果、最適な結果が得られました。この統合により、サーマル ヘッドルームの値を 1.0 未満に維持しながら、60 FPS で安定したフレームレートが得られ、効率的なサーマル マネジメントが可能となりました。

ADPF で Lineage W のゲーム内品質設定を使用することで、NCSoft はより安定した楽しいユーザー エクスペリエンスを提供できました。

NCSoft のリネージ W のスクリーンショット

ADPF はすべての Android 搭載デバイス メーカーが完全にサポートしているわけではないため、NCSoft はプレーヤーがオプトインするためのゲーム内オプション「Adaptive Performance Optimization」として実装しました。

ADPF と Unreal Engine プラグインを使ってみる

Android 適応性または ADPF Unreal Engine プラグインの使用に関心があるデベロッパーは、以下を行う必要があります。

  • ADPFUnreal Engine ADPF プラグインの詳細を確認する。
  • Unreal Engine のスケーラビリティを活用するのではなく、ゲーム コンテンツに合わせてスケーラーをカスタマイズします。
  • ゲームのパフォーマンスをモニタリングして、期待どおりであることを確認する。さまざまな設定を試して、最適なパフォーマンスと最小限の熱増加を見つけます。
  • パフォーマンスの急激な低下を抑えるには、グラフィックの画質の設定を個別に変更してください。

使用するエンジンに関係なく、いつでも API を直接使用することを選択できます。詳細については、Android 適応性Unreal Engine ADPF プラグインをご覧ください。