アンリアル エンジンのライブ ストリームで ARM のエンジニアが、UE4 に Mali Graphics Debugger を実装し、Android デバイスをデバッグする方法を実演しました。Samsung S7 を使用し、リアルタイムでデバイスとデバッガーを実行し、プロジェクトを最適化しました。
Mali Graphics Debugger は非常に簡単に起動することができます。プロジェクト設定ウィンドウでオプションを選択するだけです。まずプロジェクトを開きます。次に、[Project Settings (プロジェクト設定)] ウィンドウを開きます。ここから、左側のメニューで [Platforms] の下にある [Android] を探します。メニュー内の、[Platforms] セクション で、 [Graphics Debugger] セクションを探します。最後に、ドロップダウン メニューから [Mali Graphics Debugger] を選択します。

選択したら、ホスト コンピュータ上で Mali Graphics Debugger インストールのパスを入力しなければなりません。これが機能するためには、システムに Mali Graphics Debugger の有効なバージョンが入っている必要があります。インストール方法の詳細は、こちら をご覧ください。

次に、MGD Daemon をターゲット デバイスにインストールします。これを行うには、MGD インストール フォルダを探し、 target\android\arm 内に、以下のコマンドを使って MGDDaemon をインストールします。
adb install -r MGD.apk
アプリケーションを実行する前に、ホスト PC から以下のコマンドを実行する必要があります ("adb devices" コマンドを先に実行して、そのデバイスを表示させておいてください)。
adb forward tcp:5002 tcp:5002
MGD daemon アプリケーションをターゲット端末で実行し、daemon そのものを起動します。

この時点でホスト PC でデバイスを MGD に接続できるので、アプリケーションを開始してデバッグを開始します。操作方法の詳細については、MGD マニュアル を参照してください。


非常に複雑なアプリケーションなど一部のケースでは、ゲーム スレッドがレンダリング スレッドを待ってタイムアウトすることがあります。最終的にこうしたログが表示されます (ログを表示するには、'adb logcat –s “UE4”' というコマンドを使用します)。
GameThread timed out waiting for RenderThread after 30.01 secs
この場合、Unreal コンソール (デフォルトで 4 フィンガー タップ) でこれを実行して、タイムアウトを無効にします。
g.TimeoutForBlockOnRenderFence 9999999
こうしたステップに従うと、すべての Mali ベース プラットフォーム上でアンリアル アプリケーションと合わせて Mali Graphics Debugger を使うことができます。お気付きの点や問題があれば、コミュニティ ページ でお知らせください。コミュニティ メンバーが支援します。