Unity Profiler 支持
Rider 通过直接在代码编辑器中获取并显示 Unity 快照数据,提高了 Unity 应用程序的性能分析能力。 它会突出显示类和方法声明以及特定用法的 CPU 数据,帮助您定位性能瓶颈。 您可以选择自动或手动获取分析器数据,并且可以通过单击从 Unity Profiler 导航到 Rider。
从 Unity Profiler 导航到源代码
一旦您 将 Rider 连接到 Unity 编辑器 ,您就可以直接从 Unity Profiler 窗口中查看源代码:
在 Unity 编辑器中打开 Profiler 窗口: 。
通过在 Unity 编辑器或 Rider 中单击播放按钮启动游戏。
在游戏中执行必要的操作,以触发您研究的脚本部分。
再次单击播放按钮停止游戏。
将 Profiler 窗口切换到 层次结构 视图,在分析器数据树中找到所需的节点,并双击它:

Rider 将自动导航到编辑器中相应的调用,并显示调用堆栈,您可以使用它导航到调用层次结构中的其他实体:

可视化 CPU 使用数据
Rider 可以使用 Unity Profiler 数据直接在编辑器中显示 CPU 使用情况,紧挨着相应的类或方法。
在开始之前
此功能依赖于 Unity 支持 插件,该插件已与 IDE 捆绑。 请确保在 插件 设置页面  Ctrl+Alt+S 中启用此插件。
在编辑器中显示快照数据依赖于 Code Vision ,请确保它已在 JetBrains Rider 设置 的 页面  Ctrl+Alt+S 中启用。
默认情况下,JetBrains Rider 不会从 Unity Profiler 获取快照数据。 要启用此功能,请在 JetBrains Rider 设置 的 页面  Ctrl+Alt+S 中使用 获取分析器快照: 选择器,并选择所需的获取模式:
自动 — 获取快照数据,并在 Unity Profiler 中选择新帧时更新编辑器提示。
手动 — 当有新快照数据可用时发出警报。 然后,您可以通过单击编辑器小部件,在任何方便的时刻获取它:

Unity 分析会话结束后,Rider 将显示分析快照中涉及的所有实体的 CPU 数据。 如果启用了自动获取模式,每次您在 Unity Profiler 窗口时间轴中选择新帧时,指标都会更新。 在手动模式下,您需要单击编辑器小部件来更新指标。
将鼠标悬停在指标上,您可以查看详细信息:

CPU 数据可视化限制
获取 Unity Profiler 数据目前是实验性的,默认情况下处于禁用状态。
Rider 仅从主线程获取快照数据。
目前,仅获取 CPU 数据。
Unity Profiler 无法区分同一位置的多个方法调用,因此每次调用都会显示相同的信息。
故障排除
本节提供了解决您在 JetBrains Rider 中使用 Unity Profiler 协助时可能遇到的常见问题的方案。
为什么 Rider 中没有显示分析数据?
如果 Unity Profiler 的分析数据未出现在 JetBrains Rider 中,请检查以下内容:
确保 Unity 编辑器已正确连接到 JetBrains Rider:
按照 将 Rider 与 Unity 设置的步骤,确认 Unity 编辑器已链接到您的 IDE。
检查 Unity 支持插件:
转到 插件 设置页面  Ctrl+Alt+S ,并确保 Unity 支持 插件已启用。
验证分析器获取模式:
确保分析器获取模式未设置为 已禁用。 您可以在 语言与框架 | Unity 引擎 设置页面  Ctrl+Alt+S 中配置此选项。
为什么只有 CPU 数据可用?
目前,JetBrains Rider 仅支持从 Unity Profiler 获取 CPU 分析数据。 其他数据类型(如 GPU 或内存使用情况)尚未集成。
为什么多个方法调用的指标相同?
Unity Profiler 无法区分同一位置的多个方法调用。 因此,JetBrains Rider 会为每次调用显示相同的性能指标。
为什么 Profiler 数据更新有延迟?
如果您注意到 JetBrains Rider 中更新分析器数据有延迟,请考虑以下内容:
检查获取模式:如果您使用的是 手动 获取模式,则需要通过单击编辑器小部件手动触发更新。
检查连接稳定性:确保 Unity 编辑器与 JetBrains Rider 之间的通信稳定。 如有需要,请重新连接。
分析数据显示了错误的线程信息
目前,JetBrains Rider 仅从 主线程获取快照数据。 它不支持其他 Unity 线程的分析数据。