NCSoft Lineage W は、NCSoft が開発した大規模多人数同時参加型オンライン ロールプレイング ゲーム(MMORPG)です。このゲームは、元の Lineage W ゲームの遺産を受け継いでおり、世界中のプレーヤーがグローバル サーバーを通じて協力して競い合うことができる環境を提供します。独自の中世ファンタジーの世界を舞台とする Lineage 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 動作ポイントとコアの配置を選択できるようにするパフォーマンスのヒントを提供します。
Unreal Engine ADPF プラグイン
Unreal Engine ADPF プラグインは、Unreal Engine を使用したゲームで ADPF を使用する最も簡単な方法です。
このプラグインは、デバイスの熱ステータスを 1 秒ごとにチェックします。デバイスが過熱すると、プラグインはデフォルトの Unreal Scalability 設定を使用してグラフィック品質の設定を調整します。レベルは 4 つあり、各レベルはさまざまなグラフィック品質(解像度、視界距離、ポスト処理など)にマッピングされます。
プレーヤーが設定できるゲーム内設定(低品質、中品質、高品質など)がすでにある場合は、デフォルトの Unreal スケーラビリティ レベルではなく、これらの設定を使用することをおすすめします。
このプラグインは、デバイスの熱をチェックするために 2 つの方法を使用します。1 つは熱ヘッドルームの評価、もう 1 つは熱ステータスの確認です。サーマル ヘッドルームはより詳細な情報を提供します。これはデフォルトで有効になっています。
このプラグインは、ゲームスレッドとレンダリング スレッドの 2 つのパフォーマンス ヒント セッションを作成します。フレームごとに目標時間と実際の時間をフレームワークに報告し、目標フレームレート(FPS)の達成に役立ちます。
NCSoft がパフォーマンスを最適化した方法
Lineage W では、ADPF を使用してサーマル スロットリングによるパフォーマンスの問題を防いでいました。実際のゲームプレイへの影響を最小限に抑えながら、パフォーマンスを大幅に向上させるグラフィック品質設定を最大限に活用するよう努めました。NCSoft は、ヘッドルーム値で品質を調整する際の各ステージの安定性と動作を確認しました。グラフィック品質設定の調整値ごとに、ユーザーに優れたゲーム エクスペリエンスを提供するために、さまざまなテストが必要でした。
このゲームのデフォルトのターゲット FPS は 30 FPS ですが、NCSoft は ADPF によって FPS を改善できるかどうかをテストするために、ターゲット FPS を 60 に変更しました。
Android 13 を搭載した Google Pixel 6 で 30 分間のゲームプレイ テストを実施したところ、FPS が 60 FPS から 32 FPS に急激に低下し、熱ヘッドルーム値が 4 分目に 1.0f(深刻な熱スロットリングしきい値)に達しました。
ゲームでデフォルトの Unreal スケーラビリティで Unreal Engine ADPF プラグインを使用した場合、60 FPS を 15 分間維持できました。この 30 分間の平均フレームレートも 57.5 FPS に増加しました。ただし、熱ヘッドルームは以前と同様の数値を示しました。つまり、デバイスは同様に熱を持ち、熱スロットリングが発生したということです。
Lineage W チームは、この問題に対処するため、サーマル スロットリングを回避するために、ADPF に忠実度パラメータの制御を強化する必要があると判断しました。Lineage W のゲーム内グラフィック品質設定を Unreal Engine ADPF プラグインと統合した後、最適な結果が得られました。この統合により、サーマル ヘッドルーム値を 1.0 未満に維持しながら、60 FPS の安定したフレームレートを実現し、効率的なサーマル管理が実現しました。
NCSoft は、ADPF で Lineage W のゲーム内品質設定を使用することで、より安定した楽しいユーザー エクスペリエンスを提供できました。
ADPF はすべての Android デバイス メーカーで完全にサポートされているわけではないため、NCSoft はこれをゲーム内オプション「Adaptive Performance Optimization」として実装し、プレイヤーがオプトインできるようにしました。
ADPF と Unreal Engine プラグインを使ってみる
Android Adaptability または ADPF Unreal Engine プラグインの使用に関心をお持ちのデベロッパーは、次の手順を行う必要があります。
- 詳しくは、ADPF と Unreal Engine ADPF プラグインをご覧ください。
- Unreal Engine のスケーラビリティを使用するのではなく、ゲーム コンテンツに合わせてスケーラーをカスタマイズします。
- ゲームのパフォーマンスをモニタリングして、期待どおりに動作していることを確認します。さまざまな設定を試して、パフォーマンスを最大化し、熱の増加を最小限に抑える設定を見つけてください。
- グラフィックの画質設定を個別に変更して、パフォーマンスの急激な低下を抑えます。
使用するエンジンに関係なく、API を直接使用することもできます。詳しくは、Android の適応性と Unreal Engine ADPF プラグインをご覧ください。