Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Mio Ku-tani
PPTX, PDF
12,019 views
Unityプロファイラについて
This slide is about the Unity profiler.
Engineering
◦
Read more
16
Save
Share
Embed
Embed presentation
Download
Downloaded 23 times
1
/ 50
2
/ 50
3
/ 50
4
/ 50
5
/ 50
6
/ 50
7
/ 50
8
/ 50
9
/ 50
10
/ 50
11
/ 50
12
/ 50
13
/ 50
14
/ 50
15
/ 50
16
/ 50
17
/ 50
18
/ 50
19
/ 50
20
/ 50
21
/ 50
22
/ 50
23
/ 50
24
/ 50
25
/ 50
26
/ 50
27
/ 50
28
/ 50
29
/ 50
30
/ 50
31
/ 50
32
/ 50
33
/ 50
34
/ 50
35
/ 50
36
/ 50
37
/ 50
38
/ 50
39
/ 50
40
/ 50
41
/ 50
42
/ 50
43
/ 50
44
/ 50
45
/ 50
46
/ 50
47
/ 50
48
/ 50
49
/ 50
50
/ 50
More Related Content
PDF
Riderはいいぞ!
by
UnityTechnologiesJapan002
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
by
UnityTechnologiesJapan002
PDF
.NET Core 3.0時代のメモリ管理
by
KageShiron
PPTX
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
by
Yoshifumi Kawai
PDF
ソフトウェア開発のやり方の改善
by
増田 亨
PDF
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Assembly Definition あれやこれ
by
NakanoYosuke1
Riderはいいぞ!
by
UnityTechnologiesJapan002
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
by
UnityTechnologiesJapan002
.NET Core 3.0時代のメモリ管理
by
KageShiron
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
by
Yoshifumi Kawai
ソフトウェア開発のやり方の改善
by
増田 亨
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
Assembly Definition あれやこれ
by
NakanoYosuke1
What's hot
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
PPTX
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Fortniteを支える技術
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
【UE4.25 新機能】ロードの高速化機能「IOStore」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
PPTX
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
by
Unity Technologies Japan K.K.
PDF
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
3分でわかるAzureでのService Principal
by
Toru Makabe
PDF
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
PPTX
猫でも分かるUMG
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
PDF
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
by
Yoshifumi Kawai
PPTX
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Unityネイティブプラグインマニアクス #denatechcon
by
DeNA
PDF
Steam ゲーム内購入 サーバーサイド実装について
by
KLab Inc. / Tech
PDF
Epic Online Services でできること
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
by
com044
PDF
Unityでオニオンアーキテクチャ
by
torisoup
PDF
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
Fortniteを支える技術
by
エピック・ゲームズ・ジャパン Epic Games Japan
【UE4.25 新機能】ロードの高速化機能「IOStore」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
by
Unity Technologies Japan K.K.
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
3分でわかるAzureでのService Principal
by
Toru Makabe
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
by
shinjiigarashi
猫でも分かるUMG
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
by
Yoshifumi Kawai
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityネイティブプラグインマニアクス #denatechcon
by
DeNA
Steam ゲーム内購入 サーバーサイド実装について
by
KLab Inc. / Tech
Epic Online Services でできること
by
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
by
エピック・ゲームズ・ジャパン Epic Games Japan
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
by
com044
Unityでオニオンアーキテクチャ
by
torisoup
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
More from Mio Ku-tani
PDF
UnityとC#で覗くVRの世界~はたらく.Net~
by
Mio Ku-tani
PPTX
OC4 keynote report
by
Mio Ku-tani
PPTX
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
by
Mio Ku-tani
PPTX
25日勉強会
by
Mio Ku-tani
PPTX
About nature of code part1
by
Mio Ku-tani
PPTX
C++
by
Mio Ku-tani
UnityとC#で覗くVRの世界~はたらく.Net~
by
Mio Ku-tani
OC4 keynote report
by
Mio Ku-tani
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
by
Mio Ku-tani
25日勉強会
by
Mio Ku-tani
About nature of code part1
by
Mio Ku-tani
C++
by
Mio Ku-tani
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