Version: 6000.3
语言: 中文
从 Web 生成中删除未使用的资源
分析 Web 生成

针对移动设备优化 Web 平台

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

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

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

优化快速参考

使用以下建议的设置对 Unity Web 平台移动版进行特定优化:

建议 描述
优化尺寸 禁用开发版本开发版本包括调试符号并启用分析器。更多信息
请参阅术语表
设置并针对磁盘大小优化您的构建(带 LTO 的磁盘大小)。
使用 Brotli 压缩 使用 Brotli压缩一种存储数据的方法,可减少所需的存储空间量。请参阅纹理压缩动画压缩音频压缩构建压缩
请参阅术语表
压缩播放器构建的方法。
使用 Unity 可寻址对象系统 将 Unity Addressables 系统用于资产。
优化您的音频文件 减少音频占用的磁盘空间量。
优化项目中的图形 减少图形占用的磁盘空间量。
更改图形质量级别 降低质量级别以加快构建速度。

优化尺寸

较小的构建大小更适合移动设备,因为要下载的数据较少,这通常会缩短加载时间并减少用户设备上的存储空间。

若要使构建尽可能小,请禁用开发构建设置并针对磁盘大小优化构建:

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

  2. 选择 Web

  3. 禁用开发构建(如果已启用)。

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

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

有关影响构建大小的其他设置,请参阅建议的播放器设置以优化 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) 设置(菜单:播放器> 编辑(Edit) > 项目设置(Project Settings) )。

  3. 单击 Web 设置选项卡。

  4. 展开发布设置部分

  5. 压缩格式设置为 Brotli

使用 C# 更改压缩格式

如果你有一个项目设置广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表
脚本,并且想要使用 C# 更改压缩格式,请将以下代码添加到脚本中:

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

使用 Unity 可寻址对象系统

移动浏览器应用程序需要较短的加载时间来降低用户跳出率。为了缩短初始化时间,不要在启动时加载所有资产,而是仅在应用程序需要时使用可寻址对象加载资产。将某些资产的加载推迟到游戏加载之后。

对于这些更改,请务必更新StreamingAssets/aa/catalog.json与您制作的任何新可寻址文件一起使用。

有关可寻址对象以及如何设置它们的更多信息,请参阅可寻址对象

要进一步优化可寻址对象,请尝试以下作:

将可寻址对象分类为组

将可寻址对象分类为组,以减少资产包的数量。资产包的数量越小,构建大小就越小。有关可寻址组以及如何创建这些组的更多信息,请参阅管理和创建组

优化您的音频文件

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

优化项目中的图形

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

尽可能使用 ASTC 压缩纹理

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

要使用 ASTC 压缩纹理:

  1. 在项目中选择纹理资源,打开 纹理导入设置(Texture Import Settings) 窗口。

  2. 选择 Web 设置

  3. 启用 Override For Web

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

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

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

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

  1. 在项目中选择纹理资源。显示 纹理导入设置(Texture Import Settings) 。

  2. 选择 Web 设置

  3. 启用 Override For Web

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

降低图形质量级别

建议的最佳做法是将图形质量级别设置为最快选项。更快的选项会导致更小的构建。

要更改图形质量级别:

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

  2. 选择“低”“非常低”质量级别。

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

使用 C# 更改质量级别

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

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

SetQualityLevel()函数将质量级别矩阵的索引作为值。SetQualityLevel(0, true)在这种情况下,是“非常低”设置,或“质量级别”矩阵中的第一个选项。要将其更改为或第二个选项,请使用SetQualityLevel(1, true)相反。

其他资源

从 Web 生成中删除未使用的资源
分析 Web 生成