【解决】Unity Profile | FindMainCamera

开发平台:Unity 2020.3.7f1c1

关键词:FindMainCamera

问题背景


  • ModelViewer 是开发者基于 UnityEngine 编写的相机控制组件。
  • ModelView.Update 中调度52次并触发3次GC.Collect。显然并不期望并尽可能避免 Update 造成的GC 问题。
  • 事实上 FindMainCamera 并不属于脚本内部直接调用所造成。而是通过 Unity API 间接调用造成。

追溯触发 FindMainCamera 来源


这似乎是 Camera.main 造成的。在 ModelView.Update 中引用 Main Camera 检测鼠标是否触碰在 UI 上时造成的。Camera.main 估计类似于 Camera.FindObjectWithTag("MainCamera").GetComponent<Camera>() 形式,每帧执行 FindMainCamera 方法。实际上,Main Camera 的查找仅一次就足够。

解决方式


使用全局变量存储 Main Camera 对象。避免高频下使用 Camera.Main 进行 Main Camera 引用。

相关推荐
Flamesky20 小时前
unity assetbundle 加载图集的所有sprite图片
unity·sprite
tealcwu21 小时前
【Unity插件】解决移动端UI安全区问题 - Safe Area Helper
unity
谢泽浩1 天前
Unity Webgl + WebAPI 之 SqlSugar根据Mysql表反向生成实体类
mysql·unity·webgl
龚子亦1 天前
Unity学习之UGUI进阶
学习·unity·游戏引擎·ugui
浅陌sss2 天前
Unity中 Xlua使用整理(一)
unity·游戏引擎
W Y2 天前
【Unity-和WPF结合的优势】
unity·游戏引擎·wpf
野区捕龙为宠2 天前
Photon最新版本PUN 2.29 PREE,在无网的局域网下,无法连接自己搭建的本地服务器
unity·unity3d
omegayy2 天前
.NET framework、Core和Standard都是什么?
unity·c#·.net
龚子亦2 天前
Unity使用Vuforia插件进行AR开发
unity·游戏引擎·ar
PassionY2 天前
Unity-Mirror网络框架-从入门到精通之AdditiveScenes 示例
unity·unet·photon·networkmanager·mirror·多人联网·ngo