UE4 の メッシュ描画パイプライン は、メッシュ自動インスタンス機能を実装しています。描画コールの統合により、グラフィック性能が大幅に向上しました。追加設定を行うことで、この機能をモバイル デバイスで利用することができるようになりました。
手順
-
プロジェクトの「Config」フォルダを探して「DefaultEngine.ini.」を開きます。
-
次の行を追加します。
r.Mobile.SupportGPUScene=1 r.Mobile.UseGPUSceneTexture=1 変更を保存し、ファイルを閉じます。
この機能を有効にすると、モバイル プラットフォームにシェーダーが再ビルトされます。Unreal Editor が Android Preview モードに設定されていれば、エディタは適切にシェーダーを再コンパイルします。プロジェクトが大きいと、イタレーション時間が長くなる場合があります。
結果
プロジェクトで上記の設定を有効にすると、すべてのデバイスに対して自動インスタンシングが有効になります。r.Mobile.SupportGPUScene
はモバイル デバイスで自動インスタンシングを有効にします。ただし、デスクトップ ビルドでは同じバッファが使用されます。Mali デバイスは 64 kb までしかバッファをサポートしておらず、通常はこの機能をサポートできません。r.Mobile.UseGPUSceneTexture
によって自動インスタンシング プロセスはバッファの代わりにテクスチャを使用して必要な情報を格納するため、Mali デバイスは自動インスタンシングも使用できるようになります。
制限事項
統合された描画コールに対する制限事項は「メッシュ描画パイプライン」に記載されていますが、モバイル デバイス固有の自動インスタンシングに対しても制限事項があります。
-
モバイルでの自動インスタンシングは主に、GPU バウンド プロジェクトよりも CPU バウンド プロジェクトに有用です。自動インスタンシングを有効にした場合、GPU バウンド プロジェクトに悪影響はありませんし、大幅な改善がみられることもほとんどありません。
-
ゲームのメモリ バウンド状態がひどい場合、Mali デバイスでは使用できないことを理解した上で、
r.Mobile.UseGPUSceneTexture
を無効にしてバッファを使用する方が有用な場合があります。
自動インスタンシングの効率性は、プロジェクトの詳細な仕様に大きく依存します。そのため、自動インスタンシングを有効にしてビルドを作成し、大幅なパフォーマンス ゲインがみられるか判断するためにプロファイルを行うことを推奨します。プロファイリングの詳細については、「パフォーマンスとプロファイル」セクションを参照してください。