こんにちわ、オオバです。

巷では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 関連のバッチ数が以前のバージョンより増えていた問題を修正

ちなみにバッチされる条件はいろいろあります。

などなど。
詳しい話はテラシュールさんのブログを参考に。

ダイナミックバッチの条件 - テラシュールブログ

やっと本来正しくあるべき姿になった感じです。

どのようにバッチされているかは、Unity5から搭載されたフレームデバッガを使用すると1つの描画単位で確認することが出来ます。

Unity 5の新機能FrameDebuggerでグラフィックパフォーマンスを改善する - Qiita

おそらくこれらの修正はUnity5.2にも取り込まれているはずなので、Unity5.2に早く乗り換えたい所です。

なぜ今アップデート出来ないかと言いますと、現在使用しているアセットでエラーが起こるためです。
Unity5.2で使用できなくなった関数を使っておりコンパイルエラーが出てしまっています。

これらの修正が対応されたらUnity5.2へレッツゴー!

オススメ記事
検証環境