ゆにてく備忘録

Unityやその他学んだ事を忘れないために書くぶろぐ

【Unity】UnityのProfilerのデータを取得してCSVに書き出す

Profiler

UnityのProfilerはCPU、Memory、Renderingなどの実行時のデータが表示できます。そのデータをスクリプトから取得する方法を書きます。Unity 2019.3.0f1で実行してます.

f:id:n_taku:20191222160628p:plain

取得したデータをcsvに書き出してgoogle データポータルで可視化すると下の画像みたいなグラフを作れます.可視化してチームで共有とかできれば,色々捗りそうです.

f:id:n_taku:20191222174008p:plain

CPU

CPU Usage

ProfilerDriver.GetGraphStatisticsPropertiesForAreaとProfilerDriver.GetStatisticsIdentifierForArea関数で取得できます

f:id:n_taku:20191222160752p:plain

CPUのProfilerデータ 

CPU Hierarchy

ProfilerDriver.GetHierarchyFrameDataView関数で取得できます

f:id:n_taku:20191222160803p:plain 

CPUのHierarchyのProfilerデータを取得 

Memory

ProfilerDriver.GetGraphStatisticsPropertiesForAreaとProfilerDriver.GetStatisticsIdentifierForArea関数で取得できます

f:id:n_taku:20191222161048p:plain

MemoryのProfilerデータ

Rendering

ProfilerDriver.GetGraphStatisticsPropertiesForAreaとProfilerDriver.GetStatisticsIdentifierForArea関数で取得できます

f:id:n_taku:20191222161059p:plain

RenderingのProfilerデータ

サンプル

https://github.com/n-taku/ProfileToCSV

このリポジトリではデータを実際にとって実際にそのデータをCSVとして書き出す機能を入れてます。 CSVにしてgoogleのデータポータルで可視化したりしてこの発表みたいなこともできそうです。