JetBrains Rider 2026.1 Help

代码检查:'Camera.main' 开销较大。

Camera.main 属性会返回第一个被 "MainCamera" 标记的摄像机。 在 Unity 2019.4.9 之前的版本中,这是通过调用 FindGameObjectsWithTag 来实现的。 结果不会被缓存,因此频繁访问此属性会影响性能。 建议将摄像机缓存到字段中,并在 启动Awake 中设置其值。

Unity 2019.4.9 起, Camera.main 现在更快了。 在内部,Unity 会缓存具有 "MainCamera" 标记的 GameObject 实例,并且 Camera.main 会返回缓存中第一个启用的对象。 虽然现在速度更快,但实际已类似于调用 GetComponent (包括转为原生代码),仍建议缓存该值。

当在性能关键场景中访问 Camera.main 属性时,此检查会为其添加性能指示器高亮显示。 JetBrains Rider 还通过 Alt+Enter 提供上下文操作,将结果缓存到 Awake启动 方法中。

请参阅 文档 ,了解 Camera.main ,以及支持文档 "Camera.main is slow"Unity 2019.4.9 的发行说明 简要说明:"Camera.main 查询速度显著提升"。 这篇关于 Unity 2020.2 性能改进的博客文章 包含有关 "优化的 Camera.main " 的内容。

2026年 5月 8日