未验证 提交 9422ea5d 编写于 作者: ocean2o11's avatar ocean2o11 提交者: GitHub

Update OptimizationMemory.md

增加MemoryProfiler说明
上级 d18a6abd
......@@ -49,7 +49,13 @@ Unity WebGL是以WebAssembly+WebGL技术为基础的应用,运行在浏览器
## 三、内存查看工具
开发者可由系统进程、UnityHeap、JavaScript Heap等方面去分析和查看游戏内存。
我们从大到小各个角度去监控和分析游戏的内存情况:
进程级别: Perfdog、Android Studio、 Mac Xcode Instrument
UnityHeap(CPU主内存): 性能面板、MemoryProfiler、JavaScript Heap
引擎与资源:UnityProfiler
### 3.1 进程总内存
查看总内存时,我们需要先确定监控的小游戏进程名称:
......@@ -105,13 +111,18 @@ Unity引擎视角:
- 白色为预留部分,可被使用
- 其他颜色,已被业务使用
### 3.3 Unity Profiler
当发现UnityHeap(尤其是Native)占用比较高时,可通过UnityProfiler进一步分析问题所在。关于该工具在微信小游戏的使用请查阅[使用 Unity Profiler 性能调优](UnityProfiler.md)
### 3.3 MemoryProfiler
MemoryProfiler可以分析UnityHeap底层分配器的分配细节,任何分配都会产生记录,因此我们可以通过该能力分析更详细具体的分配行为。
关于该能力的使用请查阅[使用MemoryProfiler分析内存](MemoryProfiler.md)
### 3.4 Unity Profiler
当发现UnityHeap(尤其是Native)占用比较高时,可通过UnityProfiler进一步分析问题所在。关于该工具在微信小游戏的使用请查阅[使用 Unity Profiler 性能调优](UnityProfiler.md),推荐使用Unity InstantGame版本增强的Profiler功能,下载地址请查阅[推荐引擎版本](UnityVersion.md)
<img src='../image/optimizationMemory12.png' width="400"/>
### 3.4 JavaScript Heap
### 3.5 JavaScript Heap
由于Unity WebGL是托管在浏览器环境中,因此JavaScript Heap包含了大部分(并非全部)我们关注的内存, 通常我们可以使用浏览器自带的内存工具。 但需要注意的是***JavaScript Heap通常无法看出具体内存使用,发现该部分内存明显大于我们预留的UnityHeap,应检查是否有使用Unity Cache进行文件缓存,务必避免这样使用。***
#### 微信开发者工具
#### FireFox Memory(PC)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册