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

1,175 views

Published on

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

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

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,175
On SlideShare
0
From Embeds
0
Number of Embeds
748
Actions
Shares
0
Downloads
8
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. Enterprise Consulting Developer Relation Manager/Engineer
  2. 2. • • • • •
  3. 3. • • • • TIPS
  4. 4.
  5. 5.
  6. 6. • • •
  7. 7. • • • •
  8. 8. • • 80:20 •
  9. 9. • •
  10. 10. • • Unity Profiler • Profiler Unity Profiler
  11. 11. Unity Profiler • Editor CPU / GPU / Rendering / Memory / Audio / Physics / uNet / Video Player • Editor Android/iPhone
  12. 12. Unity Profiler
  13. 13. Unity Profiler
  14. 14. Unity Profiler
  15. 15. Unity Profiler
  16. 16. Unity Profiler
  17. 17. Android/iOS
  18. 18. Unity Profiler
  19. 19. • • • • •
  20. 20. • • C# Unity ※
  21. 21. C# Unity • Unity • C# (Mono Memory) • Unity →
  22. 22. C# Unity
  23. 23. C# Unity • C# • C# Garbage Collection • Reserve( ) C# • Unity • Texture, Mesh, Animation
  24. 24. C# • Used ) Reserved( ) • Editor Editor • Reserved( ) C# • C#
  25. 25. Unity • Asset • Memory Profiler Detailed ( ) • Unity Technologies Editor •
  26. 26. Memory Profiler Detailed
  27. 27. Memory Profiler Detailed
  28. 28. Memory Profiler Detailed
  29. 29. Unity Memory Profiler https://bitbucket.org/Unity-Technologies/memoryprofiler
  30. 30. • C# • C# • • Unity • • •
  31. 31. • •
  32. 32. Debug.logger.logEnabled = false;
  33. 33. Timeline
  34. 34. • Memory Profiler Detailed
  35. 35. AssetBundle
  36. 36. • GC(Garbage Collection) • GC C# • GC • GC Profiler
  37. 37. GC
  38. 38. GC • C# • C# • • StringBuilder • Update
  39. 39. C#
  40. 40. Deep Profile
  41. 41. • 60FPS( 60 ) 1 16.6 • 30FPS( 30 ) 1 33.3 ->
  42. 42. • • •
  43. 43. • C# Unity • Unity UI • GameObject • 3000
  44. 44. C#
  45. 45. UI
  46. 46. GameObject
  47. 47. • C# • • • • Layer Collision Matrix • • MeshCollider BoxCollider • 1 Physics • Time FixedTimeStep
  48. 48. • UI • • uGUI Animation Canvas
  49. 49. • • Batch Set Pass • • (Overdraw ) • Shader
  50. 50. • Unity FrameDebugger • Material
  51. 51. FrameDebugger
  52. 52. FrameDebugger
  53. 53. FrameDebugger
  54. 54. Batch SetPass • Batch • SetPass • 200
  55. 55. Batch SetPass
  56. 56. Batch SetPass • Dynamic Batching • Texture • Static Static Batching
  57. 57. • • •
  58. 58. • • • UI/ • • ImageEffect
  59. 59. Shader • Shader 1 • Shader • Shader
  60. 60. Shader
  61. 61. Shader • Unity Profiler GPU Profiler • • Shader Profiler • Mobile/Unlit/Texture Mobile/VertexLit
  62. 62. • • • Unity
  63. 63. • Profiler • • GPU Profiler
  64. 64. Profiler
  65. 65. • Unity 5.6 • 300 Save Editor • https://github.com/wotakuro/UnityProfilerIntervalSave • Unity5.5 • Android/iOS PC • https://github.com/wotakuro/ProfilerBinarylogSplit
  66. 66. • ※Unity 5.5 using UnityEngine.Profiling;
  67. 67. BeginSample void Update(){ // …. Profiler.BeginSample(“ ”); // Profiler …… Profiler.EndSample(); // …. }
  68. 68. … void LoadAssetBunlde( string name){ Profiler.BeginSample(“AssetBundle ” + name); // name AssetBundle …… Profiler.EndSample(); }
  69. 69. GPU Profiler • GPU Profiler • GPU Unity Profiler •
  70. 70. GPU Profiler • iOS • Xcode OpenGLES Frame Debugger • Android • • Snapdragon -> Snapdragon Profiler • Mali -> Mali Graphics Debugger • Tegra -> Tegra Graphics Debugger • Windows Editor • Render Doc
  71. 71. OpenGLES Frame Debugger
  72. 72. Snapdragon Profiler
  73. 73. Render Doc
  74. 74. Thank you!

×