Netmarble Games: ADPF によるパフォーマンスの最適化

Netmarble: ゲーム オブ スローンズ シリーズのロゴ
Netmarble: 戦闘シーン
Netmarble: フィールド ボス ドラゴンが登場する戦闘シーン

大手モバイルゲーム デベロッパーの Netmarble が開発した Game of Thrones: Kingsroad(Android 版近日提供予定)は、エミー賞® とゴールデングローブ賞® を受賞した Game of Thrones シリーズをベースにしたアクション アドベンチャー RPG です。Android デバイスでゲームを実行しているときにパフォーマンスの問題(特にサーマル スロットリング)が発生し、持続的なパフォーマンスとユーザー エクスペリエンスに影響が及んでいる。この問題に対処するため、Android Adaptive Performance Framework(ADPF)を戦略的に活用し、解像度スケーリングと動的フレームレート調整に重点を置いた最適化を実装しました。

課題

高忠実度のモバイルゲームでは GPU と CPU のリソースが大量に必要になるため、Android デバイスで過度の熱が発生し、サーマル スロットリングが発生することがあります。Netmarble は、長時間のゲームプレイ セッションによりデバイスの温度が上昇し、フレームレートの低下やパフォーマンスの不安定化などのパフォーマンス低下が発生することを確認しました。主な課題は、スロットリングを回避し、パフォーマンスを維持しながら、視覚的に魅力的なエクスペリエンスを維持することでした。

解決策

Netmarble は、リアルタイムの熱ステータスに基づく動的調整に重点を置いて、ADPF を使用するデータドリブンなアプローチを採用しました。

パフォーマンスのボトルネックを特定する

Netmarble は、さまざまなグラフィック品質設定がフレームレートと熱負荷の両方に及ぼす影響を測定し、慎重なパフォーマンス分析を実施しました。この分析では、解像度スケーリングがフレームレートに大きな影響を与えることなく、GPU の負荷と熱出力に最も大きな影響を与えることが明らかになりました。重要な点として、他のグラフィック オプション(シャドウ、テクスチャなど)は、全体的な熱性能に比較的影響が少ないことが判明しました。

動的解像度スケーリング

Netmarble は動的解像度システムを追加しました。ADPF Thermal API を使用して、デバイスの温度に基づいてゲームの画質を変更します。これにより、ゲームはさまざまな状況に適応できます。デバイスが冷えているときは、ゲームは高解像度を使用します。デバイスの温度が上がりすぎると、ゲームは解像度を下げて熱を抑えます。

フレームレートの自動調整

Netmarble は、解像度スケーリングと連携して、動的フレームレート調整を実装しました。ゲームのターゲット FPS が 60 に設定されている場合、過度の熱が検出されると、システムはターゲット FPS を徐々に低下させます。熱の問題を回避するため、Netmarble は最小スケーラブル FPS を 30 に設定しました。これにより、一貫したゲーム エクスペリエンスを実現できました。また、熱が下がると FPS を徐々に目標値に戻し、最適なパフォーマンスを維持するようにシステムが設計されています。

結果

ADPF を活用した動的解像度スケーリングと適応型 FPS 調整の実装により、熱管理と持続的なパフォーマンスが大幅に改善されました。

Netmarble: パフォーマンスの比較
  • サーマル ヘッドルームの改善: ADPF により、平均サーマル ヘッドルームが 1.04 から 0.92 に減少し(11% 減少)、パフォーマンスの低下を防ぎ、デバイスの耐久性を向上させました。熱ヘッドルーム値が 1.0 を超えることはなく、デバイスの過熱を防ぐことができました。
  • より一貫したフレームレート: ADPF は、デバイスの熱状態に基づいてゲームのターゲット FPS をインテリジェントに調整することで、よりスムーズなゲーム エクスペリエンスを実現します。ADPF がないと、サーマル スロットリングによりゲームの FPS が大幅に変動(40 ~ 56 など)する可能性があります。デバイスが熱を管理できずに発生するこのフレームレートの不安定さは、ゲームプレイの不快感につながる可能性があります。ADPF を使用すると、ゲームは必要に応じてターゲット FPS を事前に低減し、過度の熱の蓄積を防ぎ、より安定した一貫したフレームレート(通常は 50 ~ 60 FPS の範囲内)を実現します。これにより、サーマル スロットルに関連する急激なフレーム ドロップが防止され、プレーヤー エクスペリエンスが大幅に改善され、より快適になります。
  • 高品質のグラフィックを維持: 解像度スケーリングを主な調整メカニズムとして優先することで、Netmarble は熱管理による視覚的な影響を最小限に抑え、他の設定(テクスチャ、エフェクトなど)を高いレベルに維持しました。

まとめ

Netmarble は、ADPF による解像度スケーリングと動的 FPS 調整に重点を置くことで、パフォーマンス、画質、ユーザー エクスペリエンスのバランスを最適に保ちながら、Game of Thrones: Kingsroad の過熱の問題を軽減しました。ADPF を戦略的に活用している同社は、同様の課題に直面しているモバイルゲーム デベロッパーにとって効果的なアプローチを示しています。ADPF により、より信頼性が高く、楽しい、一貫したエクスペリエンスが実現し、プレーヤーはフレーム ドロップを減らしてデバイスの過熱を心配することなく、より長くプレイできるようになりました。このソリューションを導入したことで、ネットマーブルはデバイスのパフォーマンスと耐久性を最適化しながら、高品質のゲーム体験を継続的に提供できるようになりました。

Unity、Unreal、C++ で ADPF を使ってみる

Android 適応性を使用するデベロッパーは、次の操作を行う必要があります。

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