Version: Unity 6.0 (6000.0)
语言 : 中文
用于优化 Web 构建的建议图形设置
用于优化 Web 构建的建议质量设置

用于优化 Web 构建的建议播放器设置

使用以下建议的播放器设置可针对 Unity Web 平台优化构建。

播放器设置快速参考

编辑 (Edit) > 项目设置 (Project Settings) > 播放器 (Player) 下找到这些设置。有关每个设置的更多信息,请参阅播放器设置中的详细信息。

设置 建议设置 描述
API Compatibility Level .NET Standard 2.1 生成较小的构建。
IL2CPP Code Generation Faster (smaller) builds 生成针对构建大小和迭代进行优化的代码。
Managed Stripping Level High Unity 会进行高级别的托管剥离以创建较小的构建。

发布设置 (Publishing Settings) 部分中配置以下建议设置:

设置 建议设置 描述
Compression Format Brotli Brotli 压缩的文件较小。
Data Caching 启用 运行速度更快,因为在后续运行中无需再次下载缓存的数据(除非内容已更改)。
Debug Symbols Off 调试符号可能会减慢应用程序的速度。
Enable Exceptions None 对于没有开销的异常,请改为启用目标 WebAssembly 2023 (Target WebAssembly 2023)
Target WebAssembly 2023 启用 Web Assembly 2023 功能集包含有助于优化项目的功能。
Maximum Memory Size (MB) 输入所需的内存量(以 MB 为单位)。 Unity Web 最多支持 4096 MB 的构建内存。

API Compatibility Level

使用 API 兼容性级别 (API Compatibility Level) 设置以选择可在项目中使用哪些 .NET API。建议设置为 .Net Standard 2.1,因为此设置会生成较小的构建并具有跨平台支持。但是,您需要检查平台是否完全支持 .Net Standard 2.1。有关其他选项,请参阅 Web 播放器设置

更改 API 兼容性级别

要改为通过脚本更改 API 兼容性级别,请将以下代码添加到脚本之一:

PlayerSettings.SetApiCompatibilityLevel(namedBuildTarget, ApiCompatibilityLevel.NET_2_0);

IL2CPP Code generation

使用 IL2CPP 代码生成 (IL2CPP Code generation) 设置以配置 Unity 管理__ IL2CPP__种由 Unity 开发的脚本后端,可在为某些平台构建项目时替代 Mono。更多信息
See in Glossary
代码生成的方式(如果您的项目使用 IL2CPP 脚本后端)。

建议使用较快(较小)(Faster (smaller)) 构建选项,因为它可以创建较小的构建并生成更少的代码,从而缩短构建时间。较快构建在 Web 应用程序中至关重要。但是,此设置可能会降低运行时性能。

有关更多信息,请参阅 IL2CPP 概述

通过 C# 更改 IL2CPP 代码生成

要改为通过脚本启用此设置,请将以下代码添加到脚本之一:

PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget,         
                                       Il2CppCodeGeneration.OptimizeSize);

Managed stripping level

使用托管剥离级别 (Managed stripping level) 以配置 Unity 链接器进程从项目使用的托管 DLL 中剥离未使用代码的程度。建议设置为高 (High),因为剥离代码可以使可执行文件显著减小,这在 Web 应用程序中很重要。但是,可能的副作用包括:

  • 某些方法的托管代码调试可能无效。

  • 可能需要维护自定义 link.xml 文件。

  • 某些反射代码路径的行为可能不同。

有关更多信息,请参阅托管代码剥离

通过 C# 更改托管剥离级别

要改为通过脚本更改此设置,请将以下代码添加到脚本之一:

PlayerSettings.SetManagedStrippingLevel(namedBuildTarget,     
                                        ManagedStrippingLevel.High);    

Compression Format

选择要用于发布构建文件的压缩格式。Brotli 是建议设置,因为它具有最佳压缩比,并且 Brotli 压缩文件小于 gzip。较小的文件更适合 Web 应用程序。但是,Chrome 和 Firefox 仅在用户通过 HTTPS 访问网站时才支持 Brotli。此外,虽然大多数现代服务器都支持 Brotli,但是还有部分服务器不支持。请确保服务器支持 Brotli。

有关压缩格式的更多信息,请参阅部署 Web 应用程序

通过 C# 脚本更改压缩格式

要改为通过脚本启用此设置,请将以下代码添加到脚本之一:

PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli;

Data caching

启用数据缓存 (Data caching),以便 Unity 在用户计算机上缓存内容资源数据。数据缓存可以使应用程序运行更快。有关更多信息,请参阅 Web 中的缓存行为

通过 C# 脚本启用数据缓存

要改为通过脚本启用此设置,请将以下代码添加到脚本之一:

PlayerSettings.WebGL.dataCaching = true;

Debug symbols

调试符号 (Debug symbols) 设置会保留调试符号并在发生错误时显示堆栈跟踪的原始函数名称,因此更容易识别错误的来源。建议的最佳做法是在最终发布构建上禁用调试符号 (Debug symbols),因为启用此设置会使构建不必要地增大并减慢应用程序的速度。在开发和测试期间启用此设置可以更容易识别错误来源。

通过 C# 脚本停用调试符号

要改为通过脚本停用此设置,请将以下代码添加到脚本之一:

PlayerSettings.WebGL.debugSymbolMode = WebGLDebugSymbolMode.Off;

Enable exceptions

启用异常 (Enable exceptions) 设置让您可以选择如何在运行时处理错误。建议的最佳做法是在最终发布构建中选择无 (None) 选项,此设置可提供最佳性能和最小构建。

但是,选择此选项时,抛出的任何异常都会导致内容停止并出现错误,因此最好在开发和测试期间启用异常。有关更多信息,请参阅 Web 播放器设置

通过 C# 脚本停用异常

要改为通过脚本停用异常,请将以下代码添加到脚本之一:

PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None;

Target WebAssembly 2023

WebAssembly 2023 是一组 WebAssembly 语言功能,可以提高性能并减小代码大小。因此,建议您启用此设置。

通过 C# 脚本启用 WebAssembly 2023

要改为通过脚本启用此设置,请将以下代码添加到脚本之一:

PlayerSettings.WebGL.wasm2023 = true;
// PlayerSettings.WebGL.webAssemblyTable = true;
// PlayerSettings.WebGL.webAssemblyBigInt = true;

要在没有 WebAssembly 2023 的情况下启用 WebAssembly.TableBigInt 功能,请删除第一行代码并删除注释行。

Maximum Memory Size (MB)

Unity 最多支持 4096 MB 的构建内存。对于大多数应用程序,2048 MB 的内存即可。但是,对于更复杂的实时 3D 体验,尤其是桌面浏览器,最好提供更多内存。提供更多内存时,可以更动态地加载更丰富、更大的场景。

但是,对于超过 2048 MB 的构建,Firefox 和 Chrome 浏览器在版本 119 之前的版本中存在已知错误。

通过 C# 脚本更改最大内存

要改为通过脚本更改最大内存,请将以下代码添加到脚本中,并将数字更改为首选内存大小:

PlayerSettings.WebGL.maximumMemorySize = 4096; 

其他资源

用于优化 Web 构建的建议图形设置
用于优化 Web 构建的建议质量设置