Unity 企業級使用案例分析

- Import Setting

  • Model: Read/Write Enabled
  • FBX: Animation Type Generic -> None
  • Texture: Generate Minmaps(3D/2D)
  • Audio: IOS->mp3, Android->vorbis(force to mono)
  • Animation Clip 60fps -> 30fps

- 相關優化

  • Shader.WarmupAllShader 一次性先編譯所有Shader, 預設是用到才編譯
  • 不使用 Resources 資源太多啟動時間變長
  • NGUI 建構在 C#(Mono) 上,會導致過多的記憶體堆疊
  • 去掉不必要的Alpha通道

- Tools

- Unity Profiler

  • 保存分析資料
  • Unity 5.6 介面右上方可保存 log
  • overhead/unaccounted 分析時的額外資訊(包含 profiler本身消耗)
  • CanvasRenderer.OnTransformChanged (5.3 -> 5.5 優化)
  • string.memcpy: struct copy 過多
  • putGeometryJobFence: vertex 操作過多

- Xcode instrument time profiler

  • 可看到 unity 底層方法的使用消耗
  • Allocations 分析記憶體使用

- Capture GPU frame

  • 1 Frame 的渲染流程, draw call

- Unity version 選擇

  • 小版本號皆修正bug (e.g. 5.6.1f1, 5.6.1p2)



results matching ""

    No results matching ""