背景
- UnityEditor の Stats を見ると、想定以上にドローコールが発生している(Batches, SetPass calls)
- FrameDebugger で確認すると、UIテクスチャのドローコールが多い
- Nrealアプリの実機でのCPU処理計測 のとおり、Rendering がボトルネック
- 処理・メモリだと処理ネックなので、メモリ使用量は増えてもいいので処理を減らす方針がよい
結論
- NRSDK側で左右描画しているので2倍のドローコールになっている(不可避)
- NRSDK内のテクスチャをスプライトアトラスにすることで、ドローコールを4つ減らした
- NRSDK Demo の HelloMR にて
スプライトアトラス前:ドローコール 13 | スプライトアトラス後:ドローコール 9 |
方法
- スプライトアトラスを導入
- NRSDK/Textures/Controller, NRSDK/Models/ControllerModels をスプライトアトラス化
- 拡大画像は以下
備考
- NRSDKの左右描画によるドローコール2倍問題は、コマンドバッファで何とかしてほしいところ