# Web Player 设置

> Refer to the UI description of Web Player settings.

使用 **Player** 设置可了解 Unity 如何[构建](/engine/6000.0/manual/platform-specific/webgl/building-distribution/building.md)和显示最终的 Web 应用程序。有关常规 **Player** 设置的描述，请参阅 [Player](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings.md#general) 设置相关文档。

要访问 Web Player 设置：

* 从 Unity 主菜单转到**编辑 (Edit)** > **项目设置 (Project Settings)** > **播放器 (Player)**。将出现 **Player** 设置窗口。
* 选择 **Web** 选项卡以查看 Web Player 设置。


**Web Player 设置:**
![](/api/media?file=/engine/6000.0/media/images/class-PlayerSettingsWebGL.png)

您可以在以下部分找到这些属性的文档：

* [Resolution and Presentation](#Resolution)
* [Splash Image](#Splash)
* [Other Settings](#Other)
* [Publishing Settings](#Publishing)

\*\*注意：\*\*尽管 **Icon** 面板出现在 Web **Player** 设置中，但其中没有可用的图标设置，因为 Web 游戏不使用图标。

有关 Web **Publishing Settings** 的更多信息，请参阅 [Web 构建和运行](/engine/6000.0/manual/platform-specific/webgl/building-distribution/building.md)。

## 分辨率和演示 (Resolution and Presentation)##resolution-and-presentation

使用 **Resolution and Presentation** 部分可以自定义屏幕外观的各个方面（在 [Resolution](#resolution) 部分）。


**Web Player 平台的 Resolution 部分:**
![](/api/media?file=/engine/6000.0/media/images/WebGLResolutionandPresentationWindow.png)

### 分辨率 (Resolution)##resolution

您可以通过编辑以下选项来自定义 Web 画布元素的屏幕模式和默认大小：

| **设置**                    | **功能**                           |
| ------------------------- | -------------------------------- |
| **Default Canvas Width**  | 设置 Web 画布元素的宽度。                  |
| **Default Canvas Height** | 设置 Web 画布元素的高度。                  |
| **Run In Background**     | 启用此选项将允许您的内容将在画布或浏览器窗口失去焦点时继续运行。 |

### Web 模板##web-template

选择要用于 Web 项目的模板：

* **Default** 页面是一个简单的白色页面，其中的灰色画布上有一个加载进度条。
* **Minimal** 页面只有必要的样板代码来运行 Web 内容。
* **PWA** 页面有一个 **Progressive Web App**，其中包含 Web 清单文件和服务工作程序代码。

您可以使用自己的模板，通过 [Web 模板](/engine/6000.0/manual/platform-specific/webgl/building-distribution/templates.md)中的说明，在类似于已完成游戏的环境中运行游戏。

## 启动画面 (Splash Image)##splash-image

使用 **Virtual Reality Splash Image** 设置可选择 [XR](/engine/6000.0/manual/platform-specific/xr.md) 显示中的自定义启动画面。有关常见启动画面设置的信息，请参阅 [Splash Screen](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings/splash-screen.md)。


**虚拟现实的启动画面设置。:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCSplash.png)

## 其他设置 (Other Settings)##other-settings

此部分可以自定义一系列选项，这些选项分为以下几组：

* [渲染](#Rendering)
* [配置](#Configuration)
* [着色器变体加载](#ShaderVariantLoading)
* [优化](#Optimization)
* [堆栈跟踪](#Logging)
* [旧版](#Legacy)

### 渲染 (Rendering)##rendering

使用这些设置可自定义 Unity 针对 Web 平台渲染游戏的方式。


**Web 平台的渲染 Player 设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetWebGLOther-Rendering.png)

| **设置**                         |   | **功能**                                                                                                                                                                                                                                                                                                                  |
| ------------------------------ | - | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Color Space**                |   | 选择要用于渲染的颜色空间：*Gamma* 或 *Linear*。请参阅[线性渲染概述](/engine/6000.0/manual/rendering-and-post-processing/graphics-color/color-spaces.md)以了解两者之间的区别。                                                                                                                                                                              |
| **Auto Graphics API**          |   | 禁用此选项可手动选择图形 API 并进行重新排序。此选项默认启用，并且 Unity 包含 WebGL2.0，对于不支持 WebGL2.0 的设备，以 WebGL1.0 作为后备选项。                                                                                                                                                                                                                             |
| **Static Batching**            |   | 启用此选项可使用静态批处理。                                                                                                                                                                                                                                                                                                          |
| **Dynamic Batching**           |   | 选中此复选框可在构建中使用 [Dynamic Batching](/engine/6000.0/manual/rendering-and-post-processing/graphics-performance-profiling/reduce-draw-calls/draw-call-batching/draw-call-batching.md)（默认情况下启用）。                                                                                                                               |
| **Graphics Jobs**              |   | 启用此选项可指示 Unity 将图形任务（渲染循环）卸载到在其他 CPU 核心上运行的工作线程。用其来减少主线程上 `Camera.Render` 所花费的时间，这通常是瓶颈。\*\*注意：\*\*此功能是实验性的。此功能可能无法为项目带来性能提升，并可能带来新的崩溃。                                                                                                                                                                                 |
| **纹理压缩格式**                     |   | 选择 **DXT**、**ETC2** 或 **ASTC**，以设置 Web 平台的纹理压缩格式。如需了解如何选择正确的格式，请参阅[纹理压缩格式概述](/engine/6000.0/manual/materials-and-shaders/textures/textures-getting-started/texture-compression-formats.md)，并了解如何通过脚本为桌面和移动端浏览器创建构建版本，请参阅 [Web 中的纹理压缩](/engine/6000.0/manual/platform-specific/webgl/develop/texture-compression.md)。    |
| **Lightmap Encoding**          |   | 选择 *Low Quality*、*Normal Quality* 或 *High Quality* 来设置光照贴图编码。此设置影响光照贴图的编码方案和压缩格式。有关更多信息，请参阅 [光照贴图：技术信息](/engine/6000.0/manual/lighting-overview/direct-and-indirect-lighting/lightmap-data/lightmaps-technical-information.md)。                                                                                         |
| **HDR 立方体贴图编码**                |   | 选择 *Low Quality*、*Normal Quality* 或 *High Quality* 来设置 HDR 立方体贴图编码。此设置影响 HDR 立方体贴图的编码方案和压缩格式。                                                                                                                                                                                                                           |
| **Lightmap Streaming Enabled** |   | 是否对光照贴图使用 [Mipmap 串流](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/texture-streaming.md)。Unity 在生成所有光照贴图时将此设置应用于这些光照贴图。\*\*注意：\*\*要使用此设置，必须启用 [Texture Mipmap Streaming Quality](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-quality-settings.md#texStream) 设置。 |
| **Streaming Priority**         |   | 设置 [Mipmap 串流系统](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/texture-streaming.md)中所有光照贴图的优先级。Unity 在生成所有光照贴图时将此设置应用于这些光照贴图。正数具有更高的优先级。有效值范围为 —128 到 127。                                                                                                                                      |
| **Frame Timing Stats**         |   | 启用此选项可收集 CPU/GPU 帧时序统计信息。                                                                                                                                                                                                                                                                                               |
| **Virtual Texturing**          |   | 指示是否启用 [Virtual Texturing](/engine/6000.0/manual/materials-and-shaders/textures/texture-loading/svt-streaming-virtual-texturing.md)。**注意**：Unity Editor 需要重新启动才能使此设置生效。                                                                                                                                                 |
| **Shader Precision Model**     |   | 选择采样器的默认精度以及着色器中使用的 `half` 的定义。有关更多信息，请参阅 [ShaderPrecisionModel](/engine/6000.0/script-reference/unity-editor/shader-precision-model.md)。                                                                                                                                                                               |
| **360 Stereo Capture**         |   | 指示 Unity 是否可以捕获立体 360 图像和视频。启用后，Unity 会编译其他着色器变体，以支持 360 度捕获（目前仅适用于 Windows/OSX）。`enable_360_capture` 关键字是在 [`RenderToCubemap`](/engine/6000.0/script-reference/unity-engine/camera/render-to-cubemap.md) 调用期间添加的，但不会在此函数之外触发。                                                                                          |

### 配置##configuration


**Web 平台的配置设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetWebGLOther-Config.png)

{ /*  This table uses single sourcing. For information on how to edit it, see https://confluence.unity3d.com/display/DOCS/Single-sourcing+table+rows.  */ }

| **属性** | **描述** |
| ------ | ------ |

#### 着色器变体加载##shader-variant-loading

使用这些设置可以控制着色器在运行时的内存使用量。

| **属性**                      | **描述**                                                                                                                                                                                                        |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Default chunk size (MB)** | 设置 Unity 在构建的应用程序中为所有平台存储的压缩着色器变体数据块的最大大小。默认值为 `16`。有关更多信息，请参阅[着色器加载](/engine/6000.0/manual/materials-and-shaders/shaders/shader-troubleshooting/shader-reduce-stalling/shader-loading.md.md#dynamicloading)。 |
| **Default chunk count**     | 设置 Unity 在所有平台上保留在内存中的解压缩块数量的默认限制。默认值为 `0`，表示无限制。                                                                                                                                                             |
| **Override**                | 启用此选项可为此构建目标覆盖\_\_默认块大小\_\_和\_\_默认块数量\_\_的设置。                                                                                                                                                                 |
| **Chunk size (MB)**         | 覆盖此构建目标上的\_\_默认块大小 (MB)\_\_ 值。                                                                                                                                                                                |
| **Chunk count**             | 覆盖此构建目标上的\_\_默认块数量\_\_值。                                                                                                                                                                                      |

#### API Compatibility Level##api-compatibility-level

可为所有目标选择 mono API 兼容性级别。有时，第三方 .NET 库会使用 .NET 兼容性级别之外的功能。为了解在这种情况下可能发生的问题以及如何以最佳方案修复问题，请尝试以下解决方案：

1. 安装适用于 Windows 的 [ILSpy](https://www.microsoft.com/en-us/p/ilspy/9mxfbkfvsq13?cid=msft_web_chart\&activetab=pivot:overviewtab)。
2. 将遇到问题的 API 兼容性级别的 .NET 程序集拖入 ILSpy。您可以在 `Frameworks/Mono/lib/mono/YOURSUBSET/` 下找到有问题的文件。
3. 拖入第三方程序集。
4. 右键单击第三方程序集并选择 **Analyze**。
5. 在分析报告中，检查 **Depends on** 部分。若第三方程序集所依赖的内容在你所选的.NET 兼容性级别中不可用，这些内容将以红色字体显示。

### Script Compilation##script-compilation


**Web 平台的脚本编译设置:**
![](/api/media?file=/engine/6000.0/media/images/ProjectSettingsScriptCompilation.png)

| **属性**                       | **描述**                                                                                                                                                                                                    |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scripting Define Symbols** | 设置自定义编译标志。有关更多详细信息，请参阅[平台相关的编译](/engine/6000.0/manual/platform-dependent-compilation.md.md)。                                                                                                              |
| **其他编译器参数**                  | 向此列表添加条目，以将附加参数传递给 Roslyn 编译器。每个附加参数使用一个新条目。要创建新条目，请点击 **Add** (**+**)。要删除条目，请点击 **Remove**（**-**）。添加完所有所需参数后，点击 **Apply**，以便在后续编译中包含这些附加参数。点击 **Revert** 可将此列表重置为最新应用的状态。                                |
| **禁止常见警告**                   | 指示是否显示 C# 警告 [CS0169](https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0169) 和 [CS0649](https://docs.microsoft.com/en-us/dotnet/csharp/misc/CS0649)。                                                 |
| **Allow 'unsafe' Code**      | 启用对预定义程序集（例如，`Assembly-CSharp.dll`）中[“不安全”C# 代码](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/unsafe)的编译支持。对于程序集定义文件 (`.asmdef`)，请选中其中一个 `.asmdef` 文件，并在打开的检视面板窗口中启用该选项。    |
| **使用确定性编译**                  | 指定是否禁用 -deterministic C# 编译标志。启用此设置后，每次编译生成的程序集在字节级别上完全一致。有关更多信息，请参阅 [C# 编译器选项：控制代码生成](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option)。 |

### 优化##optimization


**Web 平台的优化设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetWebGLOther-Optimization.png)

{ /*  This table uses single sourcing. For information on how to edit it, see https://confluence.unity3d.com/display/DOCS/Single-sourcing+table+rows.  */ }

| **属性** | **描述** |
| ------ | ------ |

### Stack Trace##stack-trace

选择 Web 平台的日志记录设置


**Web 平台的日志记录设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Logging.png)

根据所需的日志记录类型，启用与每种日志类型（**Error**、**Assert**、**Warning**、**Log** 和 **Exception**）对应的选项，以选择首选的堆栈跟踪方法。有关更多信息，请参阅[堆栈跟踪日志](/engine/6000.0/manual/stack-trace.md.md)记录。

| **属性**         | **描述**       |
| -------------- | ------------ |
| **无**          | 从不记录任何日志。    |
| **ScriptOnly** | 仅在运行脚本时记录日志。 |
| **Full**       | 始终记录日志。      |

### Legacy##legacy

启用 **Clamp BlendShapes (Deprecated)** 选项可在 [Skinned Mesh Renderers](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/mesh/components-reference/class-skinned-mesh-renderer.md) 中钳制混合形状权重的范围。


**Web 平台的旧版设置:**
![](/api/media?file=/engine/6000.0/media/images/PlayerSetPCOther-Legacy.png)

## 发布设置##publishing-settings

使用 Publishing Settings 可配置 Unity 构建 Web 平台应用程序的方式。例如，可以选择启用浏览器缓存以将其文件存储在构建中。


**Web 平台的发布设置:**
![](/api/media?file=/engine/6000.0/media/images/WebGLBuilding-PublishingSettings.png)

| **属性**                     |                      | **描述**                                                                                                                  |
| -------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Compression Format**     |                      | 选择要用于发布构建文件的压缩格式。选项有：Gzip、Brotli 和 Disabled（无）。此选项不会影响开发版本。                                                             |
| **Name Files As Hashes**   |                      | 启用此选项可使用未压缩文件内容的 MD5 哈希作为构建中每个文件的文件名。                                                                                   |
| **Data caching**           |                      | 启用此选项可自动将内容资源数据缓存在用户计算机上，这样就不必在后续运行中重新下载（除非内容已更改）。缓存是使用浏览器提供的 IndexedDB API 实现的。有些浏览器可能会对此实施限制，例如要求用户进行授权才能缓存超过特定大小的数据。 |
| **Debug Symbols**          |                      | 从可用选项中进行选择，以指定如何在构建中添加调试符号。                                                                                             |
|                            | **Off**              | 如果不希望在构建中添加任何调试符号，请选择此选项。                                                                                               |
|                            | **External**         | 选择此选项可将调试符号存储在单独的文件中，当发生错误时可从服务器下载。建议选择此选项进行发布版本构建。                                                                     |
|                            | **Embedded**         | 选择此选项可将调试符号嵌入 WASM 文件。此选项有助于在发生错误时保留调试符号并执行堆栈跟踪的恢复（显示原始函数名称）。默认情况下，此选项提供恢复支持。                                           |
| **Decompression Fallback** |                      | 在加载程序中包含构建文件的解压缩回退代码。如果无法根据选定的压缩方法配置服务器响应标头，请使用此选项。                                                                     |
| **Power Preference**       |                      | 设置要在多 GPU 设备上渲染时使用的 GPU 的偏好设置。请注意，浏览器可能会忽略此偏好设置。                                                                        |
|                            | **Default**          | 让浏览器选择 GPU 配置。                                                                                                          |
|                            | **Low Performance**  | 请求浏览器使用集成 GPU 来确定节能的优先级。                                                                                                |
|                            | **High Performance** | 请求浏览器使用外部 GPU 来确定渲染性能的优先级。                                                                                              |

### WebAssembly 语言功能##webassembly-language-features

使用此部分可自定义 Web 应用程序的 WebAssembly 语言功能。

| **属性**                                 |                                             | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enable Exceptions**                  |                                             | 选择在运行时如何处理意外的代码行为（通常视为错误）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|                                        | **None**                                    | 抛出的任何异常都会导致内容因错误而停止。如果不需要任何异常支持，请选择此选项。其可提供最佳性能和最小构建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|                                        | **Explicitly Thrown Exceptions Only**（默认设置） | 捕获从脚本中的 `throw` 语句显式指定的异常，并确保调用 `finally` 代码块。此选项会使从脚本生成的 JavaScript 代码更长、更慢。仅当脚本是项目的主要瓶颈时，这才可能成为问题。                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|                                        | **Full Without Stacktrace**                 | 捕获从脚本、Null 引用 (Null References) 和越界数组 (Out of Bounds Array) 访问中的 `throw` 语句中显式指定的异常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|                                        | **Full With Stacktrace**                    | 与 **Full Without Stacktrace** 相同，但也能捕获堆栈跟踪。Unity 通过在代码中嵌入对异常检查来生成这些异常，因此该选项会降低性能并增加浏览器内存使用量。此选项仅用于调试，并始终在 64 位浏览器中进行测试。                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Enable Native C/C++ Multithreading** |                                             | 启用此选项可使用面向 WebAssembly/SharedArrayBuffer 多线程的原生 Unity C/C++ 引擎代码（实验性）。这不会启用多线程 C# 代码，因为这需要进一步改进 WebAssembly 语言标准。建议禁用此选项，仅将其用于评估未来的 Web 功能。                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Enable WebAssembly 2023**            |                                             | 如果启用，生成的 WebAssembly 代码将以 WebAssembly 2023 为目标，这是 Unity 为一系列较新的 WebAssembly 语言功能创造的名称。这些功能包括：符号扩展操作码、非陷阱 fp-to-int 指令、大容量内存、JS BigInt 集成、`WebAssembly.Table`、原生 WebAssembly 异常和 SIMD（需要 Chrome ≥ 91（2021 年 5 月）、Firefox ≥ 89（2021 年 6 月）或 Safari ≥ 16.4（2023 年 3 月））。如果禁用，则目标为原始 WebAssembly **MVP** 功能集。                                                                                                                                                                                                                                                               |
| **Use WebAssembly.Table**              |                                             | 如果希望 Web 构建以 `WebAssembly.Table` 语言功能为目标，以加快 JS-Wasm 互操作和构建时间，请启用此选项。禁用此选项后，Web 构建会以较旧的已弃用 Emscripten `-sDYNCALLS` 模型为目标，以便向后兼容较旧的 Unity Web JS 插件。对于不使用任何旧的不兼容 JavaScript 插件的新项目，建议启用此选项，而如果使用依赖于旧 `dynCall()` 机制的 `.jslib` 文件，建议禁用此选项。**注意：**`WebAssembly.Table` 不向后兼容。以 `WebAssembly.Table` 为目标时，请使用 Emscripten 运行时函数 `getWasmTableEntry(functionPtr)` 将函数指针转换为可调用的 JS 函数，或使用 Emscripten 代码模板 `{{{ makeDynCall('sig', 'variableName') }}}(...args);` 进行函数指针调用。早期的 Emscripten 运行时函数系列 `dynCall_sig(ptr, ...args);` 不再支持 `WebAssembly.Table`。有关代码示例，请参阅 Emscripten 文档。 |
| **Enable BigInt**                      |                                             | 启用此选项以在 WebAssembly 中以 `WebAssembly.BigInt` 语言功能为目标并使用 `BigInt` 类型，从而加快构建时间并略微减小代码大小。禁用此选项后，`BigInt` 类型在 WebAssembly 中不可用。生成的 WebAssembly 代码依赖于 BigInt ABI 来获取包含 64 位变量的函数签名。如果要面向不支持 Wasm BigInt 功能的旧浏览器，请禁用此选项。建议为新项目启用此选项，以便加快构建迭代时间，而如果向后兼容旧浏览器很重要，则禁用此选项。\*\*注意：\*\*Wasm BigInt 功能至少需要 Chrome 85 (2020 年 8 月 25 日)、Firefox 78 (2020 年 6 月 30 日)、Safari 14.5 (2021 年 4 月 26 日) 或更高版本。                                                                                                                                                                               |
| **Initial Memory Size**                |                                             | WASM 堆内存的初始大小（以百万字节字节 (MB) 为单位）。默认情况下，此值设置为 32 MB。如果 **Memory Growth Mode** 设置为 **None**，则这也是 WASM 堆内存的最大大小。                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Memory Growth Mode**                 |                                             | 从以下选项中选择 WASM 堆内存的增长模式。建议的选项为 **Geometric**。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|                                        | **None**                                    | WASM 堆内存在 **Initial Memory Size** 中配置了固定大小。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|                                        | **Linear**                                  | WASM 堆内存会增加由 **Linear Memory Growth Step** 配置的固定量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|                                        | **Geometric**                               | WASM 堆内存相对于当前堆大小的增加，取决于 **Geometric Memory Growth Step** 和 **Geometric Memory Growth Cap** 中配置的系数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Maximum Memory Size**                |                                             | WASM 堆内存的最大大小（以 MB 为单位）。默认情况下，此设置为 2048 MB，而这是建议的设置。您可以输入最大 4096 MB 的内存大小，但对于超过 2048 MB 的版本，存在已知的 Firefox 和 Chrome 错误。此选项仅适用于 **Memory Growth Mode** **Linear** 或 **Geometric**。                                                                                                                                                                                                                                                                                                                                                                                        |
| **Linear Memory Growth Step**          |                                             | 用于控制 WASM 堆增长步长的高级微调选项（以 MB 为单位）。默认情况下，此值设置为 16 MB。增长步长为 16 MB 表示堆每次需要增长时都会增加 16 MB。仅当 **Memory Growth Mode** 设置为 **Linear** 时可用。                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Geometric Memory Growth Step**       |                                             | 用于控制 WASM 堆增长系数相对于当前堆大小的高级微调选项。默认情况下，此值设置为 0.2。增长系数为 0.2 意味着每次堆需要增长时，堆的大小都会增加 0.2 \* currentHeapSize。仅当 **Memory Growth Mode** 设置为 **Geometric** 时可用。                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Geometric Memory Growth Cap (MB)**   |                                             | 用于控制堆增长步长的上限（以 MB 为单位）的高级微调选项。默认情况下，此值设置为 96 MB。96MB 的增长上限意味着堆的大小最多增加 96 MB。仅当 **Memory Growth Mode** 设置为 **Geometric** 时可用。                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### 显示诊断覆盖层 (Show Diagnostic Overlay) 设置##show-diagnostic-overlay-setting

为了帮助优化 Web 构建和诊断潜在问题，您可以通过启用此设置来查看诊断信息（目前仅限于内存使用量）。启用后，构建上将显示一个图标，其中显示包含构建相关数据的覆盖层。它可用于开发版和发布版构建。

1. 要查看诊断信息，请在 Player 设置窗口（**文件 (File) > 构建设置 (Build Settings) > 播放器设置 (Player Settings) > 发布设置 (Publishing Settings)**）中启用 **Show Diagnostics Overlay** 选项。

   在桌面端，诊断 (Diagnostics) 图标显示在 Web 画布的页脚上：


   **画布页脚上的诊断 (Diagnostics) 按钮:**
   ![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostic-desktop.png)

   在移动设备上，屏幕右下角会显示诊断 (Diagnostics) 图标：


   **显示诊断按钮的 Android 手机:**
   ![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostic-mobile.png)

2. 点击 **Diagnostics**&#x20;
   **Frame:**
   ![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostics-icon.png) 图标。此时将出现一个覆盖层，其中显示 JavaScript 内存，并进一步细分以显示 WASM 堆内存使用情况：


**Diagnostics 覆盖层显示 JavaScript 内存分配和 WASM 堆内存使用情况:**
![](/api/media?file=/engine/6000.0/media/images/webgl-diagnostic-overlay.png)

覆盖层屏幕上将显示以下诊断：

| **属性**                            |                                    | **功能**                                                                |
| --------------------------------- | ---------------------------------- | --------------------------------------------------------------------- |
| **Total JS Memory**               |                                    | JavaScript (JS) 堆的当前大小，包括未分配给任何 JS 对象的未使用内存（以百万字节为单位）。                |
|                                   | **Used JS Memory**                 | JS 对象正在使用的内存（以百万字节为单位）。                                               |
| **Total WASM heap memory**        |                                    | 线性内存，表示使用 Emscripten 编译的 C/C++ Unity 引擎的整个堆，其中包括未分配的内存（以百万字节为单位）。     |
|                                   | **Used WASM heap**                 | WASM 堆的空间（以百万字节为单位进行分配）。                                              |
| **Page Load Time to First Frame** |                                    | 从页面加载开始到第一个应用程序帧渲染完成的总时间（以毫秒为单位）。                                     |
|                                   | **Page Load Time**                 | 从页面加载到开始渲染第一帧所需的时间，其中包括下载、编译、解析和主应用程序（以毫秒为单位）。                        |
|                                   | **Code download time**             | 构建下载代码文件所需的时间（以毫秒为单位）。                                                |
|                                   | **Load time of asset file(.data)** | 构建下载 .data 文件二进制文件所需的时间（以毫秒为单位）。                                      |
|                                   | **WebAssembly startup time**       | 从加载 JavaScript 框架到访问 Unity 的 C++ main() 所需的时间。这接近 WASM 的编译时间（以毫秒为单位）。 |
|                                   | **Game startup time**              | 将 Unity 的 C++ main() 执行到主文件第一帧所需的时间，通常包含第一个游戏场景的加载（以毫秒为单位）。           |
| **Average FPS (10 s)**            |                                    | 最近 10 帧/秒的平均值。                                                        |
|                                   | **Current frames per second**      | 每秒在屏幕上渲染的帧数。                                                          |
| **Number of Frame Stalls**        |                                    | 与前一帧相比，完成渲染所花费的时间异常长的帧数。                                              |

### 有关 JS 内存的重要注意事项##important-note-about-js-memory

JS 内存信息通过 [performance.memory API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/memory) 获取，该 API 目前仅在 Chrome 或 Edge 上受支持。对于 Safari 或 Firefox，没有其他可用的应用程序编程API 可返回此信息。

\*\*注意：\*\*iOS 设备不支持 `performance.memory` API。

在不支持此 API 的浏览器上，会出现一条显示 N/A 的消息。


**在不支持 performance.memory API 的浏览器上，会出现一条 N/A 消息:**
![](/api/media?file=/engine/6000.0/media/images/webgl-wasm-memory.png)

## 其他资源：##additional-resources:

* [Web 中的纹理压缩格式](/engine/6000.0/manual/platform-specific/webgl/develop/texture-compression.md)
* [Web 模板](/engine/6000.0/manual/platform-specific/webgl/building-distribution/templates.md)
* [启动画面 (Splash Screen)](/engine/6000.0/manual/unity-editor/editor-features/comp-manager-group/class-player-settings/splash-screen.md)
* [纹理压缩格式概述](/engine/6000.0/manual/materials-and-shaders/textures/textures-getting-started/texture-compression-formats.md)
