UNITY优化资料收集
UNITY優化資料收集
U3D手冊:
Optimizing garbage collection in Unity games
https://zhuanlan.zhihu.com/p/25306993??
https://github.com/mc-gulu/gl-bits/tree/master/(2017)%20unity-gc-cheatsheet?這個收集很全,也很新,結合項目得出的實際經驗值得參考 ?
https://docs.unity3d.com/Manual/MobileProfiling.html?注意這里說明了MONO堆是只增不減的,在釋放時并不是釋放給操作系統,而是給MONO堆。
U3D的內存= UNITY內存+ MONO內存。
UNITY內存是引擎在C++層的堆內存:?包括:Asset?data (Textures, Meshes, Audio, Animation, etc), Game objects, Engine internals (Rendering, Particles, Physics, etc). Use?Profiler.usedHeapSize?to get the total used Unity memory.
?
MONO堆是托管堆。在C#層申請的內存都屬于托管堆。
?Use?System.GC.GetTotalMemory?to get the total used Mono memory. ?
此文檔中還提到了不要在移動平臺使用 OnGUI(),在它里面會申請大量的內存。這一點不知道UNITY升級了IMGUI后還是否存在,有待測試。
可以使用下面這些API在游戲中實現自己的內存剖析功能:
You can also make your own tool using Unity API calls:-
- FindObjectsOfTypeAll (type : Type) : Object[]
- FindObjectsOfType (type : Type): Object[]
- GetRuntimeMemorySize (o : Object) : int
- GetMonoHeapSize
- GetMonoUsedSize
- Profiler.BeginSample/EndSample?- profile your own code
- UnloadUnusedAssets () : AsyncOperation
- System.GC.GetTotalMemory/Profiler.usedHeapSize
?https://unity3d.com/de/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games?playlist=44069?
?
U3D 內存查看工具 MemoryProfiler?
安卓內存查看工具:android profiler
posted on 2018-09-06 10:10 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏
總結
以上是生活随笔為你收集整理的UNITY优化资料收集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: U3D的结构体堆分配栈分配
- 下一篇: 关于STRUCT优化的一个点