【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術

2K Views

May 08, 17

スライド概要

講演者:黒河 優介(ユニティ・テクノロジーズ・ジャパン合同会社)

こんな人におすすめ
・最適化したいが、何をしてよいかわからず困っている人
・効率的に最適化を行いたい人

受講者が得られる知見
・Unity Profilerに関するノウハウ
・最適化の目算、見積もりをする技術

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
2.

Enterprise Consulting Developer Relation Manager/Engineer

4.

• • • • •

5.

• • • • TIPS

6.

7.

8.

• • •

10.

• • • •

11.

• • • 80:20

15.

• •

18.

• • Unity • Profiler Profiler Unity Profiler

20.

Unity Profiler • Editor CPU / GPU / Rendering / Memory / Audio / Physics / uNet / Video Player • Editor Android/iPhone

21.

Unity Profiler

22.

Unity Profiler

23.

Unity Profiler

24.

Unity Profiler

25.

Unity Profiler

26.

Android/iOS

29.

Unity Profiler

31.

• • • • •

33.

• • C# ※ Unity

36.

C# Unity • Unity • C# • Unity → (Mono Memory)

37.

C# Unity

38.

C# • C# • C# • Unity Reserve( • Unity • Texture, Mesh, Animation ) Garbage Collection C#

39.

C# • Used • Editor • Reserved( • ) ) Reserved( Editor ) C# C#

40.

Unity • Asset • Memory Profiler Detailed ( ) • Unity Technologies Editor •

41.

Memory Profiler Detailed

42.

Memory Profiler Detailed

43.

Memory Profiler Detailed

44.

Unity Memory Profiler https://bitbucket.org/Unity-Technologies/memoryprofiler

45.

• C# • C# • • Unity • • •

48.

• •

53.

Debug.logger.logEnabled = false;

56.

Timeline

57.

• Memory Profiler Detailed

58.

AssetBundle

61.

• GC(Garbage Collection) • GC C# • GC • GC Profiler

63.

GC • C# • C# • • StringBuilder • Update

65.

Deep Profile

69.

• 60FPS( 16.6 • 30FPS( 33.3 -> 60 ) 1 30 ) 1

70.

• • •

74.

C# • • Unity • GameObject • Unity UI 3000

78.

GameObject

79.

• C# • • • • • • • • Layer Collision Matrix MeshCollider 1 Time Physics FixedTimeStep BoxCollider

80.

• UI • • uGUI Animation Canvas

81.

• • Batch • • • Shader Set Pass (Overdraw )

84.

• Unity • FrameDebugger Material

85.

FrameDebugger

86.

FrameDebugger

87.

FrameDebugger

88.

Batch • Batch • SetPass • 200 SetPass

89.

Batch SetPass

90.

Batch SetPass Dynamic Batching • • • Static Texture Static Batching

91.

• • •

92.

• • • UI/ • • ImageEffect

93.

Shader • Shader • • 1 Shader Shader

94.

Shader

95.

Shader • Unity Profiler Profiler • • • Profiler Mobile/Unlit/Texture GPU Shader Mobile/VertexLit

99.

• • • Unity

101.

• Profiler • • GPU Profiler

102.

Profiler

104.

• Unity 5.6 • 300 Save Editor • https://github.com/wotakuro/UnityProfilerIntervalSave • Unity5.5 • Android/iOS • https://github.com/wotakuro/ProfilerBinarylogSplit PC

107.

• ※Unity 5.5 using UnityEngine.Profiling;

108.

BeginSample void Update(){ // …. Profiler.BeginSample(“ // Profiler …… Profiler.EndSample(); // …. } ”);

110.

… void LoadAssetBunlde( string name){ Profiler.BeginSample(“AssetBundle // name AssetBundle …… Profiler.EndSample(); } ” + name);

112.

GPU Profiler • • • GPU GPU Profiler Unity Profiler

113.

GPU Profiler • iOS • Xcode OpenGLES Frame Debugger • Android • • Snapdragon -> Snapdragon Profiler • Mali -> Mali Graphics Debugger • Tegra -> Tegra Graphics Debugger • Windows Editor • Render Doc

114.

OpenGLES Frame Debugger

115.

Snapdragon Profiler

116.

Render Doc

118.

Thank you!