Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

33,666 views

Published on

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

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

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

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

【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!

×