こんにちは、Unityエンジニアのオオバです。
巷ではUnity5.2リリースで盛り上がっている中、
Unity 5.2 – your gateway to Unity Services | Unity Blog
今更5.1系の話を持ちだして申し訳ない気持ちでいっぱいなのですが一応共有しておきます。
Unity5.1.1までのuGUIは、
バッチがあまり効かない設計でした。
バッチとは
バッチとはドローコールバッチングのこと。
CPUからGPUにメッシュ送信時にメッシュを1つにまとめることです。
これによりドローコールの回数を減らし、
CPU負荷が下がります。
そのためSetPassCallsが爆増
して
パフォーマンスが落ちる現象が見られており、どうしよう。。。負荷高すぎって思っていました。
しかし、5.1.2f1を試したところバッチの効きくようになりSetPassCalls
が激減していました。
SetPassCallsについてはコチラを参考にしてください。
早い話、Unity5から採用された新しいパフォーマンス指標
です。
※あくまでCPUパフォーマンス指標です
【Unity】Unity Performance Casual Talk 「ドローコール伝説の終わり」 レポート - Qiita
おそらくUnity5.1.2のリリースノート内のコチラの項目がそれに該当していると思われます。
UI: UI 関連のバッチ数が以前のバージョンより増えていた問題を修正
ちなみにバッチされる条件はいろいろあります。
- 同じMaterial
- メッシュ数も少なめ
- スケールは同じ
などなど。
詳しい話はテラシュールさんのブログを参考に。
やっと本来正しくあるべき姿になった感じです。
どのようにバッチされているかは、Unity5から搭載されたフレームデバッガを使用すると1つの描画単位で確認することが出来ます。
Unity 5の新機能FrameDebuggerでグラフィックパフォーマンスを改善する - Qiita
おそらくこれらの修正はUnity5.2にも取り込まれているはずなので、Unity5.2に早く乗り換えたい所です。
なぜ今アップデート出来ないかと言いますと、現在使用しているアセットでエラーが起こるためです。
Unity5.2で使用できなくなった関数を使っておりコンパイルエラーが出てしまっています。
これらの修正が対応されたらUnity5.2へレッツゴー!

この記事が気に入ったらフォローしよう
- Unity5.1.2