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

Update OptimizationMemory.md

进程内存计算公式
上级 ac80a332
......@@ -73,8 +73,7 @@ Unity WebGL是以WebAssembly+WebGL技术为基础的应用,运行在浏览器
开发者尤其需要关注MonoHeap、TotalReserverdMemory、DynamicMemory这三项数值。
如果游戏中有C原生代码(如lua)分配的内存,则需单独统计,该部分内存包括在DynamicMemory但并不包含在托管堆和本机堆。
### 3.2 JavaScript Heap
由于Unity WebGL是托管在浏览器环境中,因此JavaScript Heap包含了大部分(并非全部)我们关注的内存, 通常我们可以使用浏览器自带的内存工具。
......@@ -83,10 +82,14 @@ Unity WebGL是以WebAssembly+WebGL技术为基础的应用,运行在浏览器
<image src='../image/optimizationMemory5.png' width="1080"/>
### 四、内存优化方案
以iOS为例,一款代码(导出目录/webgl/Build/xxx.code.unityweb或code.wasm)大小为30MB的游戏占用内存为:
小游戏基础库(130MB) + Cavnas(70MB) + 编译内存(300MB) + UnityHeap(托管内存 + Native内存 + C原生代码内存) + Gfx显存 + 音频 + JavaScript内存(通常<100MB)。
计算公式:
小游戏基础库 + Cavnas + 编译内存 + UnityHeap + Gfx显存 + 音频 + JavaScript内存。
UnityHeap = max(托管/Mono内存) + max(Native/Reserved内存 + C原生代码内存)
以iOS高性能模式为例,一款代码(导出目录/webgl/Build/xxx.code.unityweb或code.wasm)大小为30MB的游戏占用内存为:
小游戏基础库(130MB) + Cavnas(70MB) + 编译内存(300MB) + UnityHeap + Gfx显存 + 音频 + JavaScript(通常<100MB)。
假如游戏需要支持低档机型,将内存控制到1G以内,业务侧(Unity Heap, Gfx显存,音频,胶水层)需控制在500MB左右。我们此处给出转换游戏中最容易遇到的内存问题与解决方案,如果开发者遇到内存问题时请逐个排查优化。
假如游戏需要支持低档机型,将内存控制到1G以内,业务侧(UnityHeap, Gfx显存,音频,JavaScript)需控制在500MB左右。我们此处给出转换游戏中最容易遇到的内存问题与解决方案,如果开发者遇到内存问题时请逐个排查优化。
### 4.1 WebAssembly编译代码内存
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册