版本:Unity 6 (6000.0)
语言:English
从 Web 构建中移除未使用的资源
Web 模板

优化 Web 平台以用于移动设备

快速的加载时间对于基于 Web 的应用程序至关重要,尤其是在移动设备上,这些设备可能需要在缓慢的移动网络上下载应用程序资源。缓慢的加载时间会导致糟糕的用户体验和较高的跳出率。因此,优化 Web 构建以用于移动设备非常重要。

当您拥有较小的构建和高性能代码时,基于 Web 的移动应用程序效果最佳,因为需要下载的数据更少,存储在用户设备上的数据更少,并且在初始化期间加载的数据更少,从而加快加载速度。

有关不特定于移动设备的 Web 优化,请参阅 优化 Web 构建

优化快速参考

使用这些推荐的设置来进行特定于 Unity Web 平台的移动设备优化

建议 描述
优化大小 禁用 开发构建开发构建包括调试符号并启用探查器。 更多信息
请参阅 词汇表
设置并优化构建以节省磁盘空间(使用 LTO 的磁盘大小)。
使用 Brotli 压缩 使用 Brotli 压缩一种存储数据的方法,可减少其所需的存储空间。请参阅 纹理压缩动画压缩音频压缩构建压缩
请参阅 词汇表
方法来压缩您的 Player 构建。
使用 Unity Addressables 系统 将 Unity Addressables 系统用于资源。
优化音频文件 减少音频占用的磁盘空间。
优化项目中的图形 减少图形占用的磁盘空间。
更改图形质量级别 降低质量级别以创建更快的构建。

优化大小

较小的构建大小对于移动设备来说更好,因为需要下载的数据更少,这通常会缩短加载时间并在用户设备上使用更少的存储空间。

为了使您的构建尽可能小,请禁用开发构建设置并优化您的构建以节省磁盘空间

  1. 转到 文件 > 构建配置文件

  2. 选择 Web

  3. 如果已启用,则禁用 开发构建

  4. 代码优化 设置为 使用 LTO 的磁盘大小

注意:使用 LTO 优化的构建可能需要很长时间。仅在最终发布或需要测试性能时才使用此优化。在开发过程中使用更快的构建选项。

有关影响构建大小的其他设置,请参阅 推荐的 Player 设置以优化 Web 构建从 Web 构建中移除未使用的资源

使用 C# 启用优化大小设置

如果您有一个编辑设置的脚本,并且想要使用 C# 启用 使用 LTO 的磁盘大小 设置,请将以下代码添加到您的脚本中

// Set Platform Settings to optimize for disk size (LTO)
UnityEditor.WebGL.UserBuildSettings.codeOptimization = UnityEditor.WebGL.WasmCodeOptimization.DiskSizeLTO;

使用 Brotli 压缩

Brotli 压缩是一种设置,其中 Unity 在构建时为您预压缩。Brotli 压缩的文件比 gzip 压缩的文件更小,这可以减小构建大小。

但是,Brotli 压缩需要更长的时间。此外,Chrome 和 Firefox 仅在 HTTPS 上原生支持 Brotli 压缩。如果这不太适合您的应用程序,请考虑使用 Gzip 压缩。

要使用 Brotli 压缩设置

  1. 确保您的 Web 服务器已配置为使用正确的编码提供 Brotli 文件。有关更多详细信息,请参阅 部署 Web 应用程序

  2. 访问 Player 设置(菜单:编辑 > 项目设置 > Player)。

  3. 单击 Web 设置 选项卡。

  4. 展开 发布设置 部分。

  5. 压缩格式 设置为 Brotli

使用 C# 更改压缩格式

如果您有一个 项目设置一系列广泛的设置,使您可以配置项目的物理、音频、网络、图形、输入以及许多其他方面的行为。 更多信息
请参阅 词汇表
脚本,并且想要使用 C# 更改压缩格式,请将以下代码添加到您的脚本中

// Set the compression format to Brotli
PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli;

使用 Unity addressables 系统

移动浏览器应用程序需要较短的加载时间以降低用户跳出率。为了保持较短的初始化时间,而不是在启动时加载所有资源,请使用 addressables 仅在应用程序需要时加载资源。将某些资源的加载推迟到游戏加载之后。

对于这些更改,请确保使用您创建的任何新 addressable 文件更新 StreamingAssets/aa/catalog.json

有关 addressables 以及如何设置它们的更多信息,请参阅 Addressables

要进一步优化您的 addressables,请尝试以下操作

将 addressables 分组

将您的 addressables 分组,以便减少资源包的数量。资源包的数量越少,构建大小就越小。有关 addressable 组以及如何创建它们的更多信息,请参阅 管理和创建组

优化音频文件

如果您的项目中有许多音频文件,最好压缩您的文件以减小音频文件的大小。但是,压缩的音频可能会导致音频质量降低。有关压缩格式的信息,请参阅 音频剪辑Unity 中音频数据的容器。Unity 支持单声道、立体声和多声道音频资源(最多八个声道)。Unity 可以导入 .aif、.wav、.mp3 和 .ogg 音频文件格式,以及 .xm、.mod、.it 和 .s3m 跟踪模块格式。 更多信息
请参阅 词汇表

优化项目中的图形

复杂的图形可能会占用资源,并使您的构建更大且性能降低。但是,有一些方法可以优化您的图形以减小构建大小并提高性能。要优化构建中的图形,请尝试以下操作

尽可能使用 ASTC 压缩纹理

ASTC 压缩纹理类型提供较小的纹理大小并节省一些下载时间。在不支持 ASTC 的情况下,请考虑使用 ETC2。有关更多信息,请参阅 纹理格式3D 图形硬件(如图形卡或移动设备)在实时渲染期间处理纹理的文件格式。 更多信息
请参阅 词汇表

要使用 ASTC 压缩纹理

  1. 在项目中选择您的纹理资源以打开 纹理导入设置 窗口。

  2. 选择 Web 设置

  3. 启用 覆盖 Web

  4. 格式 设置为 ASTC 块选项之一。

对 ASTC 压缩纹理使用更大的块大小

如果您使用 ASTC 压缩纹理,请尝试对压缩使用更大的块大小。ASTC 支持 4x4 到 12x12 个纹素之间的块大小。更大的块大小会导致纹理质量降低,但构建更小。为了在质量和大小之间取得良好的平衡,从而通过移动网络优化下载时间,请考虑使用 8x8。如果下载时间仍然太慢,请尝试增加块大小。有关更多信息,请参阅 推荐的、默认的和受支持的纹理格式,按平台划分

要设置 ASTC 压缩纹理的块大小

  1. 在您的项目中选择您的纹理资源。将显示 纹理导入设置

  2. 选择 Web 设置

  3. 启用 覆盖 Web

  4. 格式 设置为较大的 ASTC 块选项之一,例如 RGB(A) 压缩 ASTC 8x8 块

降低图形质量级别

推荐的最佳实践是将图形质量级别设置为最快的选项。最快的选项会导致构建更小。

要更改图形质量级别

  1. 访问 质量 设置(菜单:编辑 > 项目设置 > 质量)。

  2. 选择 极低 质量级别。

但是,最快的设置可能会影响应用程序的视觉效果,因此请确保您的应用程序的外观符合您的要求。

使用 C# 更改质量级别

如果您有一个项目设置脚本,并且想要在脚本中更改项目的质量级别,请添加以下代码

// Set the quality level to Very Low (index 0)
QualitySettings.SetQualityLevel(0, true);

SetQualityLevel() 函数采用 质量级别 矩阵的索引作为值。在本例中,SetQualityLevel(0, true)极低 设置,或 质量级别 矩阵中的第一个选项。要将其更改为 或第二个选项,请改用 SetQualityLevel(1, true)

其他资源

从 Web 构建中移除未使用的资源
Web 模板