Submit Search
Upload
Unityプロファイラについて
•
Download as PPTX, PDF
•
16 likes
•
11,852 views
Mio Ku-tani
Follow
This slide is about the Unity profiler.
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 50
Download now
Recommended
Fortniteを支える技術
Fortniteを支える技術
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
エピック・ゲームズ・ジャパン Epic Games Japan
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
エピック・ゲームズ・ジャパン Epic Games Japan
非同期ロード画面 Asynchronous Loading Screen
非同期ロード画面 Asynchronous Loading Screen
エピック・ゲームズ・ジャパン Epic Games Japan
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
UnityTechnologiesJapan002
UE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成について
エピック・ゲームズ・ジャパン Epic Games Japan
Recommended
Fortniteを支える技術
Fortniteを支える技術
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
エピック・ゲームズ・ジャパン Epic Games Japan
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
エピック・ゲームズ・ジャパン Epic Games Japan
非同期ロード画面 Asynchronous Loading Screen
非同期ロード画面 Asynchronous Loading Screen
エピック・ゲームズ・ジャパン Epic Games Japan
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
UnityTechnologiesJapan002
UE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
Masahiko Nakamura
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
エピック・ゲームズ・ジャパン Epic Games Japan
Robo Recallで使われている最新のVR開発テクニックをご紹介!
Robo Recallで使われている最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組み
エピック・ゲームズ・ジャパン Epic Games Japan
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
[120915] igda sig indie9
[120915] igda sig indie9
IGDA Japan
More Related Content
What's hot
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
Masahiko Nakamura
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
エピック・ゲームズ・ジャパン Epic Games Japan
Robo Recallで使われている最新のVR開発テクニックをご紹介!
Robo Recallで使われている最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組み
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
(20)
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
UE4とUnrealC++について
UE4とUnrealC++について
猫でも分かるUMG
猫でも分かるUMG
出張ヒストリア ブループリントを書くにあたって大切なこと
出張ヒストリア ブループリントを書くにあたって大切なこと
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Robo Recallで使われている最新のVR開発テクニックをご紹介!
Robo Recallで使われている最新のVR開発テクニックをご紹介!
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組み
Similar to Unityプロファイラについて
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
[120915] igda sig indie9
[120915] igda sig indie9
IGDA Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
エピック・ゲームズ・ジャパン Epic Games Japan
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
JustSystems Corporation
I phone5・ios6変更点
I phone5・ios6変更点
Vitalify - SPINOFF
Game Development and Automation @ Agile Sapporo 2018 #1
Game Development and Automation @ Agile Sapporo 2018 #1
Michael Tedder
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
Kunimasa Noda
Gruntでフロントの生産性up
Gruntでフロントの生産性up
Kazuyoshi Goto
レンダリングを意識したパフォーマンスチューニング
レンダリングを意識したパフォーマンスチューニング
Hayato Mizuno
20101127 Android Usability Seminar
20101127 Android Usability Seminar
Visso株式会社
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Masaru Kimura
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
youten (ようてん)
20170803 bigdataevent
20170803 bigdataevent
Makoto Uehara
Similar to Unityプロファイラについて
(13)
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
[120915] igda sig indie9
[120915] igda sig indie9
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
I phone5・ios6変更点
I phone5・ios6変更点
Game Development and Automation @ Agile Sapporo 2018 #1
Game Development and Automation @ Agile Sapporo 2018 #1
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
Gruntでフロントの生産性up
Gruntでフロントの生産性up
レンダリングを意識したパフォーマンスチューニング
レンダリングを意識したパフォーマンスチューニング
20101127 Android Usability Seminar
20101127 Android Usability Seminar
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
20170803 bigdataevent
20170803 bigdataevent
More from Mio Ku-tani
UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~
Mio Ku-tani
OC4 keynote report
OC4 keynote report
Mio Ku-tani
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
Mio Ku-tani
25日勉強会
25日勉強会
Mio Ku-tani
About nature of code part1
About nature of code part1
Mio Ku-tani
C++
C++
Mio Ku-tani
More from Mio Ku-tani
(6)
UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~
OC4 keynote report
OC4 keynote report
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
25日勉強会
25日勉強会
About nature of code part1
About nature of code part1
C++
C++
Unityプロファイラについて
1.
Unityプロファイラー ぬこでもわかる 2016/6/2 九谷 美生
2.
英語を日本語訳したものが多いので 若干の語弊があるかもしれません…。
3.
スマホアプリのパフォーマンス問題 Unityのプロファイラー機能 プロファイラーの見方 LET’S PROFILE
4.
スマホアプリのパフォーマンス問題
5.
・メモリーチェーン →スマホは利用可能なメモリが少ない為、 破棄予定にある、大量の小さなメモリオブジェクト ために何度もメモリを確保するとGCが複数回動き、 16ms以上の時間がかかってフレーム落ちが生じる。 ・メモリリーク ・アセットなどのロード ・透過の多用や頂点数が多い時のグラフィックス …etc スマホアプリのパフォーマンス問題
6.
問題を解決し、ゲームを最適化するために プロファイラでボトルネックを特定しよう →アプリで設定されたフレームレート(60fps)を下回るフ レームを調べ、どの処理に時間を消費しているか調査。 スマホアプリのパフォーマンス問題
7.
・CPU →ドローコールが多すぎる! →複雑な物理演算がある! ・頂点処理 →頂点数が多すぎる! →過度な頂点ごとの計算がある! スマホアプリのパフォーマンス問題
8.
・フラグメント処理 →オーバードローに繋がる過度なフラグメント処理! →フラグメントごとの過度な計算! ・帯域幅 →解像度が大きく非圧縮なテクスチャ! →高解像度なフレームバッファ! スマホアプリのパフォーマンス問題
9.
スマホアプリのパフォーマンス問題 Unityのプロファイラー機能 プロファイラーの見方 LET’S PROFILE
10.
Unityのプロファイラー機能
11.
Unityのプロファイラー機能 フレーム単位のパフォーマンスに関する詳しいデータを 色別で表示してくれる便利機能。 提供してくれるデータは以下の通り。 ・Unityの各コンポーネントによるCPU使用率 ・レンダリングに関する統計(バッチ数、頂点数等) ・ドローコールあたりの消費時間 ・メモリの使用状況 ・シーンの物理計算に関する統計 ・各種パフォーマンス測定基準の詳細や オーディオアクティビティのログ
12.
Unityのプロファイラー機能 モバイルデバイス上のコンテンツの実行を プロファイルすることができる。 Unity Proでのみ使用可能 Unity5からは無料です。
13.
スマホアプリのパフォーマンス問題 Unityのプロファイラー機能 プロファイラーの見方 LET’S PROFILE
14.
プロファイラーの見方
15.
プロファイラーの見方 プロファイラーウィンドウ ウィンドウ上部にあるツールバーでコントロールを行う。 ・Record→記録開始。 ・Deep Profile→全てのスクリプトのプロファイリングを行う。 全ての関数コールが記録されるので、 どの部分で時間を要したかを正確に知りたい時に使用。 ※ただし、注意が必要(後述)
16.
プロファイラーの見方 プロファイラーウィンドウ ウィンドウ上部にあるツールバーでコントロールを行う。 ・Active Profiler→プロファイリングする対象を選ぶ。 Editor上のアプリ、リモートデバイス上で動作しているアプリ(自身の端末等)、 スタンドアロンやウェブプレイヤー上で動作しているアプリ など…
17.
プロファイラーの見方 プロファイラーウィンドウ ウィンドウ上部にあるツールバーでコントロールを行う。 ・Profile Editor→有効にするとUnity Editor自体の プロファイリングデータを収集する。 (アプリだけをプロファイリングしたい場合は必要ない(多分)) ※Unity
Editor自体のプロファイリングデータを収集するには、 Active Profiler を Editor に設定する必要がある。
18.
プロファイラーの見方 プロファイラーウィンドウ ウィンドウ上部にあるツールバーでコントロールを行う。 ・Clear→全てのプロファイリングデータをビュー上から消去。 ・◀︎▶︎ →フレーム移動 ・Current→常に最新のフレームを取る ・Add Profiler→プロファイリングする項目を追加
19.
プロファイラーの見方 プロファイラータイムライン クリックで 表示・非表示 の設定可能 30FPSライン 60FPSライン 選択したフレームの 処理時間 アプリによって定めている目標のFPSラインを 上回る箇所があった場合、 そこで処理落ちが起こっている。 今回の場合、 スクリプトの負荷が30FPSを割ったので、 スクリプトに原因があると考えられる。
20.
プロファイラーの見方 CPU Usage レンダリング、スクリプト、物理計算、GC、カメラ、 オーディオ処理、ユーザーインターフェースなどにおける CPU利用率を見ることができる。 (タイムライン上にあるVSync(ヴィーシンク:Vertical Synchronization)とはディスプレイの更新のタイミングに 同期させて処理を行う仕組みで、垂直同期とも言う。 CPU負荷とは考えなくても良さげ)
21.
プロファイラーの見方 ブレイクダウンビューのモードの種類は以下の3つ ・Hierarchy ・Raw Hierarchy ・Timeline(※Unity5から) 実行している関数のCPU負荷率、処理時間、コール回数、 GC対象のメモリ情報などが表示される。 クリックすると切替できる
22.
プロファイラーの見方 CPU Hierarchy このモードではUnity標準のAPIや、 MonobehaviourのUpdate/Startなどの処理を計上している。 (さらに深い処理の内容を知りたい場合は DeepProfile か
Profiler.BeginSample/EndSampleを使用) また、特定のメソッドを見る場合、Unity5なら検索機能がある。
23.
プロファイラーの見方 CPU Hierarchy Total :
メソッド全体の負荷率(別メソッド呼出し込み) Self : メソッド自体が行う処理の負荷率(別メソッド呼出し除外) Calls : メソッドが呼び出された回数 GC Alloc : 現在のフレームにおけるメモリの割当量 Time ms : 処理の秒数(別メソッド呼出し込み) Self ms : 自身の処理の秒数(別メソッド呼出し除外) Object : 処理を呼出しているオブジェクト
24.
プロファイラーの見方 CPU Hierarchy(Deep Profileモード) 比較⇩(上:Deep
Profile前、下:Deep Profaileモード)
25.
プロファイラーの見方 CPU Hierarchy(Deep Profileモード) Deep
Profileはスクリプトで発生した、 全メソッドの呼出しを測定するために再コンパイルする。 これは実行時に大きなコストがかかるため、 メモリを大量に使用しゲームが著しく遅くなる可能性がある。 もしゲーム全体で使用して、ほとんど実行できないくらいに フレームが落ちてしまった場合は、この方法は避けるべき。 代わりにProfiler.BeginSample及び Profiler.EndSampleを使用する。
26.
プロファイラーの見方 Profiler.BeginSample / Profiler.EndSample 特徴として以下の点があげられる。 ・Deep
Profileと比較して動作が軽い。 ・異なるスタックトレースの処理を1つにまとめて計上する。 →Deep Profileでは同じ関数が二回呼び出されても、 呼出順でそれぞれの負荷率などを見ることができる。 しかし上記の関数を使用すると、二回呼び出されていた場合、 一つにまとめてcallsを2と表記し、 その他の負荷率などもトータル表示となる。
27.
プロファイラーの見方 Profiler.BeginSample / Profiler.EndSample 使い方は以下のとおり Void
Hoge() { Profiler.BeginSample( “開始だっちゃ” ); // 何かしら処理 Profiler.EndSample(); }
28.
プロファイラーの見方 CPU RawHierarchy このモードは、例えば、とあるグローバル関数を 指定の回数呼出しているかカウントしたい時や、 呼び出し毎にどれだけ負荷率が違ってくるか調査するのに役立つ。
29.
プロファイラーの見方 CPU Timeline(Unity5から) 指定したフレームの処理実行順や処理時間など、 何が起きているかをタイムラインで表示し、視覚的に確認できる。
30.
プロファイラーの見方 GPU Usage 描画時間の内訳が階層構造で表示される。 また任意の項目を選択すると右側に詳細が表示される。
31.
プロファイラーの見方 GPU Usage ・Opaque :
不透明なオブジェクトのレンダリング ・Transparent : 透明なオブジェクトのレンダリング ・Shadow / Depth : 影 ・Deferrd PrePass : ディファードシェーディングパス ・Deferrd Lighting : ディファードライティングパス ・PostProcess : ポスプロセッシング
32.
プロファイラーの見方 Rendering ドローコール、三角メッシュ、頂点数、画面サイズ、 バッチ数などの詳細が表示されている。
33.
プロファイラーの見方 Memory このprofileはアプリケーションの メモリ使用量を調査することができる。 メモリ使用率を調査する方法として、 ブレークダウンビューには以下の二つのモードがある。 ・Simple Mode ・Detailed Mode
34.
プロファイラーの見方 Memory(Simple Mode) Used Total
: 総メモリ使用量 Unity : Unityのネイティブコードへのメモリ割当量 Mono : ガベージコレクトされたMonoが管理する割当量。 クリックすると切替できる
35.
プロファイラーの見方 Memory(Simple Mode) GfxDriver :
Texture , Rendertarget , Shader , Meshdata 等が 使用しているメモリ量。 FMOD : オーディオドライバが使用している推定メモリ量。 Profiler : プロファイラーデータ自身のメモリ使用量。 (タスクマネージャーやアクティビティモニタと同じ量を表示するものではな く、幾つかのドライバが使用しているメモリも含まれている)
36.
プロファイラーの見方 Memory(Simple Mode) TexturesやMeshesなどはオブジェクトタイプごとの 総数とメモリ使用量を表示している。 Total Object
Count は生成された全てのオブジェクト数。 この数が時間と共に増えている場合はオブジェクトが 破棄されていないことを示しているので注意。
37.
プロファイラーの見方 Memory(Detailed) Task Sampleボタンを押すことによって、 アセット/オブジェクトのメモリ使用量の詳細を 確認することができる(メモリ消費の理由など) Assets :
使用されているアセット Building Resources : エンジン内に含まれるアセット
38.
プロファイラーの見方 Memory(Detailed) Not Saved :
実行時に生成されたアセット Sene Memory : シーンに含まれる ゲームオブジェクトとコンポーネント Other : 上記のどれにも当てはまらないオブジェクト
39.
プロファイラーの見方 Memory(Detailed) エディタでプロファイルを使用する場合、 メモリプロファイラで表示される値は エディタの使用量を含み、端末で使用するより 若干値が大きくなるので注意が必要。 クリックすると、 エディタのprojectビュー またはSceneビューに フォーカスを当てること ができる。
40.
プロファイラーの見方 Audio ボイスカウントや合計負荷など、 オーディオシステムにおける パフォーマンスの調査が可能になる。
41.
プロファイラーの見方 Physics 3D/2D Rigidbody、衝突などの様々な物理学の統計を提供する。
42.
プロファイラーの見方 Physics 3D/2D Active Rigidbodies
: 現在アクティブなRigidbodyの数。 (移動中、スリープ直前の状態など) Sleeping Rigidbody : スリープ中のRigidbodyの数。 (更新する必要がないものの数) Number of Contacts : シーンにおける全コライダーの 接触している数の合計。
43.
プロファイラーの見方 Physics 3D/2D Static Colliders
: 非Rigidbodyオブジェクトにアタッチさ れたコライダーの数(物理挙動なし) Dynamic Colliders : Rigidbodyオブジェクトにアタッチさ れたコライダーの数(物理挙動あり)
44.
プロファイラーの見方 Network Messages(Unity5) プロトコルパケットの流れが追跡できる。 マルチプレイができるように構築する高レベルAPI (以下HLAPI)を使用するときに役立つ。
45.
プロファイラーの見方 Network Operations(Unity5) どのタイミングでオブジェクトの生成・破棄が起きたか CommandやClientPRCが何回コールされているか コールされた関数の正体は、などを調べられる。
46.
スマホアプリのパフォーマンス問題 Unityのプロファイラー機能 プロファイラーの見方 LET’S PROFILE
47.
LET’S PROFILE
48.
LET’S PROFILE 参考サイト http://malideveloper.arm.com/downloads/Unite_2013- Optimizing_Unity_Games_for_Mobile_Platforms.pdf http://tsubakit1.hateblo.jp/entry/2016/05/09/073000 http://sssslide.com/speakerdeck.com/sgeengineer/unitysumatoh uonapurifalse-pahuomansuzui-shi-hua
49.
LET’S PROFILE 参考サイト http://docs.unity3d.com/ja/current/Manual/Profiler.html https://www.packtpub.com/packtlib/book/Game- Development/9781785884580/1/ch01lvl1sec08/The%20Unity %20Profiler http://www.slideshare.net/williamyang3910/unitekorea2013- memory-profiling-in- unity?ref=http://tsubakit1.hateblo.jp/entry/20131125/13853 55220
50.
ご静聴有難うございました!
Download now