This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold 包含与引擎和构建流程集成的性能分析工具,用于查找性能、内存和资源使用问题。运行时性能分析数据可由多种功能使用:
App Manifest 中的 Profiler 设置控制是否将分析器代码链接到构建中。Debug Only 是默认值,None 会排除分析器,Always 则在 Debug 和 Release 构建中都包含它。game.project 中的 profiler 设置控制运行时行为,但不会将已排除的分析器代码重新链接到构建中。尤其是 Track CPU 控制 CPU 使用率采样,它与 App Manifest 选项相互独立。
包含分析器支持的构建具有运行时可视化分析器,可将实时信息叠加显示在运行中的应用程序上:
function on_reload(self)
-- 在热重载时切换可视化性能分析器。
profiler.enable_ui(true)
end

可视化性能分析器提供了许多不同的功能,可用于改变可视化性能分析器呈现其数据的方式:
profiler.set_ui_mode()
profiler.set_ui_view_mode()
profiler.view_recorded_frame()
有关性能分析器功能的更多信息,请参阅性能分析器 API 参考。
运行包含分析器支持的桌面或移动构建时,可以通过浏览器访问交互式帧分析器和资源分析器。
帧性能分析器允许您在游戏运行时对其进行采样,并详细分析各个帧。要访问性能分析器:
帧性能分析器分为几个部分,都提供对运行游戏的不同视图。按右上角的暂停按钮可以暂时停止性能分析器更新视图。

当您同时使用多个目标时,可以通过更改页面顶部的连接地址字段以匹配目标启动时控制台中显示的 Remotery 性能分析器 URL 来手动切换它们:
INFO:ENGINE: Defold Engine 1.3.4 (80b1b73)
INFO:DLIB: Initialized Remotery (ws://127.0.0.1:17815/rmt)
INFO:ENGINE: Loading data from: build/default



Max Sample Count 设置限制每个线程每帧记录的分析器样本数。如果分析器报告超出限制,请先检查原生扩展的性能分析代码中是否有未配对的 scope begin/end。只有当正常帧确实包含超过配置限制的 scope 时才提高上限。
资源性能分析器允许您在游戏运行时检查它并详细分析资源使用情况。要访问性能分析器:
资源性能分析器分为 2 个部分,一个显示游戏中当前实例化的集合、游戏对象和组件的层次视图,另一个显示所有当前加载的资源。

HTML5 的浏览器时间线使用 Web Performance API,而不是 Remotery。要记录 Defold scope:
profiler.performance_timeline_enabled)。此浏览器时间线与游戏内可视化分析器和交互式 Remotery Web 分析器均相互独立。
打包游戏时,可以选择创建构建报告。这对于了解游戏包中所有资产的大小非常有用。只需在打包游戏时勾选生成构建报告复选框。

构建器将在游戏包旁边生成一个名为”report.html”的文件。在 Web 浏览器中打开该文件以检查报告:

概述根据资源类型提供项目大小的整体视觉分解。
资源显示您可以按大小、压缩比、加密、类型和目录名称排序的资源的详细列表。使用”搜索”字段过滤显示的资源条目。
结构部分显示基于资源在项目文件结构中组织的大小。条目根据文件和目录内容的相对大小从绿色(轻)到蓝色(重)进行颜色编码。
除了内置工具外,还有各种免费的高质量跟踪和性能分析工具可用。以下是其中的一些选择:
请注意,纯 Lua 性能分析器会为它们安装的每个钩子增加相当多的开销。因此,您应该对从这样的工具获得的计时配置文件持谨慎态度。不过,计数配置文件是足够准确的。

此工具允许您检查正在运行的 Defold 应用程序并查看它如何使用 OpenGL。它允许您跟踪 OpenGL 函数调用,在 OpenGL 函数上设置断点,调查应用程序资源(纹理、程序、着色器等),查看缓冲区内容,并检查 OpenGL 状态的其他方面。

一组性能分析工具,可捕获游戏 CPU、内存和网络活动的实时数据。您可以执行基于采样的代码执行方法跟踪,捕获堆转储,查看内存分配,并检查网络传输文件的详细信息。使用该工具需要您在”AndroidManifest.xml”中设置 android:debuggable="true"。

注意:从 Android Studio 4.1 开始,也可以在不启动 Android Studio 的情况下运行性能分析工具。
这是一组工具,允许您检查、调整和重放从应用程序到图形驱动程序的调用。要使用该工具需要您在”AndroidManifest.xml”中设置 android:debuggable="true"。
