こんにちは、エンジニアのオオバです。

Xcodeのバージョンとぼくの所持するiPhone6SのOSバージョンの差異から、ここ最近手元PCでビルドしていませんでした。たまには、Xcodeでアプリのプロファイリングでもしようと思い、まずはMacをHigh Sierraにし、Xcode10をインストールしました。

Mojaveがリリースされていますが、普通にHighSierraをインストールできるようです。

よっしゃこれでXcodeでプロファイリングするぜ!!って思ってたんですが。

結果これです。↓↓↓

Unity製のアプリをXcodeでプロファイリングするとCPUフレームタイムが常にMAXになる件_0

CPUのフレームタイムが1フレーム33ms....。
明らかにこんなにCPU使う処理書いていないんだけどな、という微妙な思い。

ためしにUnityにiPhoneから接続して実機プロファイルしてみると、こちら↓

Unity製のアプリをXcodeでプロファイリングするとCPUフレームタイムが常にMAXになる件_1

約8msで処理は終了しているように見えます。

Gfx.ProcessCommandsという処理が何を意味するのかわかりませんが、次のフレームに入る直前まで帯が伸びています。

ただ端末が熱くなったりしないのでCPUがフルに回っているようではないようです。
ということでGfx.ProcessCommandsはCPUをぶん回す処理ではないということかと思われます。

結構前のXcodeのバージョンだと正しく表示されている記憶ですが、いつからかのバージョンからこのような現象が起きている記憶です。

issueやバグレポートを調べてないですが、おそらくこれはXcodeのバグだろうということで、早く直ってもらいたいものです。

オススメ記事
検証環境