ScreenPocket - 画面の隙間

Unityエンジニアの日々の雑記。たまにpython3とDirectXも触ります

CameraのClearFlagsによる負荷

新しいシーンを作ってすぐにstatsを表示してみる。

f:id:ScreenPocket:20150905021510p:plain

何も置いていないのにBaches 1、Tris 1.7k Verts 5.0k !!??
シーンを作っただけで1,700面5,000頂点とかヒドい…!

で、こちらの描画関連の値ですが、MainCameraのClearFlagsで変化するので調べてみました。
ついでにFrameDebuggerも立ち上げて、描画イベントもチェック。

ClearFlags Event Batches Tris Verts SetPassCall
Skybox 3 1 約1,700 約5,000 1
Solid Color 2 0 0 0 0
Depth Only 2 0 0 0 0
Don't Clear 1 1 1 4 1

ん?何で、何もしないはずのDon'tClearで頂点と面が出来ているの??
ということで、気になってカメラを増やしてみたり色々試したところ、最後のカメラがDon'tClearだった場合にBatches、Tris、Vertsが上がるみたい。

おぉ、これは新発見だわ!と思って息巻いた矢先ですが、
FrameDebugerを止めて実行するとBatches、Tris、Vertsが0になりました;
デバッガ用の表示分で描画が必要なだけだったっぽいかな??

という事で今回のまとめ。

  • Skybox重い。。DrawCall 1、面数 1,700、頂点数 5,000、SetPass 1
  • Stats表記はFrameDebuggerの影響を受けるので、計測する際に気をつける事

…あまり面白い結果ではなかった;はぁ。