Version: 6000.3
语言: 中文
Web 性能注意事项
生成和分发 Web 应用程序

调试和排查 Web 版本

Visual Studio 不支持调试 Unity Web 内容。使用以下提示获取生成信息。

在浏览器的 JavaScript 控制台中调试构建

Unity Web 平台无权访问您的文件系统,因此它不会像其他平台那样写入日志文件。但是,它确实会写入所有日志记录信息,例如Debug.Log,Console.WriteLine或 Unity 对浏览器 JavaScript 控制台的内部日志记录。

要打开 JavaScript 控制台,请执行以下作:

操作系统 浏览器 指示
窗户 火狐 按 Ctrl-Shift-K。
窗户 按 Ctrl-Shift-J。
窗户 Microsoft Edge 按 F12。
窗户 互联网浏览器 按 F12。
苹果 火狐 按下 Command-Option-K。
苹果 按下 Command-Option-J。
苹果 野生动物园
  1. 转到“首选项”>“高级>开发”。
  2. 按下 Command-Option-C。

创建要调试的开发版本

您可能想制作一个开发版本开发版本包括调试符号并启用分析器。更多信息
请参阅术语表
在 Unity 中调试您的代码。要进行开发构建:

  1. 打开“构建配置文件”窗口

  2. 启用开发构建

开发版本允许您连接分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表
.Unity 不会缩小代码,因此发出的 JavaScript 代码仍然包含人类可读的 C++ 篡改函数名称。

当您遇到浏览器错误时,浏览器会使用这些来显示堆栈跟踪,当使用Debug.LogError,或者当发生异常且禁用异常支持时。与完全异常支持时发生的托管堆栈跟踪不同,这些堆栈跟踪具有混乱的名称,并包含托管代码和内部 Unity Engine 代码。

异常支持

Web 具有不同级别的异常支持,但默认情况下,Unity Web 仅支持显式抛出的异常。有关更多信息,请参阅 Web 播放器设置。可以启用完全异常支持,该支持在 IL2CPP 生成的代码中发出其他检查,以捕获对托管代码中 null 引用和越界数组元素的访问。这些附加检查会显著影响性能并增加代码大小和加载时间,因此只能将其用于调试。

完全异常支持还会发出函数名称,以便为托管代码生成堆栈跟踪。因此,堆栈跟踪会显示在控制台中,用于未捕获的异常和Debug.Log语句。用System.Environment.StackTrace以获取堆栈跟踪字符串。

故障 排除

问题:构建内存不足

这是一个常见问题,尤其是在 32 位浏览器上。有关 Web 内存问题以及如何解决这些问题的更多信息,请参阅有关 Unity Web 中的内存的文档。

错误消息:标头检查不正确

由于服务器配置不正确,浏览器控制台日志通常会打印此错误。有关如何部署发布版本的更多信息,请参阅有关部署压缩版本的文档。

错误消息:此平台不支持解压缩此格式 (1)

当内容尝试加载使用 LZMA 压缩的 AssetBundle 时,浏览器控制台日志会打印此错误,而 Unity Web 不支持。使用 LZ4 重新压缩 AssetBundle压缩一种存储数据的方法,可减少所需的存储空间量。请参阅纹理压缩动画压缩音频压缩构建压缩
请参阅术语表
来解决这个问题。有关Web压缩的更多信息,请参阅有关Web构建的文档,特别是AssetBundles部分。

其他资源:

Web 性能注意事项
生成和分发 Web 应用程序