【解决】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 引用。

相关推荐
神码编程2 小时前
【Unity】MiniGame编辑器小游戏(十六)中国象棋局域网对战【Chinese Chess】(下)
unity·编辑器·游戏引擎·小游戏
Maddie_Mo2 小时前
Unity 联动 Trae AI 项目开发基础教学
人工智能·unity·游戏引擎
新手unity自用笔记14 小时前
unity简单新手上手动画系统讲解
unity·游戏引擎
伽蓝_游戏15 小时前
第二章:深入 Unity 资源导入管线 (Asset Import Pipeline)
游戏·unity·c#·游戏引擎·游戏程序
我寄人间雪满头丶20 小时前
Unity中对于数值游戏的大数显示
游戏·unity·游戏引擎
游乐码21 小时前
unity基础 (三)坐标系
unity·游戏引擎
qq_2052790521 小时前
Unity 避免Text组件每行开头不是字符和空格,适配不同分辨率
unity·游戏引擎
游乐码21 小时前
Unity基础(二)游戏中的角度及三角函数
游戏·unity·游戏引擎
真鬼1231 天前
Cesium、Cmake、Dotnet快捷下载
unity·游戏引擎
真鬼1231 天前
【Unity安卓】Unity 嵌入 Android Studio 完整流程
android·unity·android studio