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

相关推荐
是嘟嘟啊10 小时前
【Unity DOTS】EntityCommandBuffer 与 JobHandle
unity·ecs·dots·unity dots·job·burst·burstjob
xcLeigh11 小时前
Unity基础:Camera相机组件详解——透视投影与正交投影的区别
数码相机·unity·游戏引擎
玖玥拾13 小时前
Unity3D RPG 入门项目(二)移动 Bug 修复、环绕相机、NPC 任务系统、UI 穿透处理
unity·游戏引擎
Yasin Chen16 小时前
Unity UGUI RectMask2D 原理
unity·游戏引擎
hashiqimiya16 小时前
unity---unity编译手机apk人物角色移动
unity·游戏引擎
LONGZETECH17 小时前
传统实训 vs 仿真实训:从技术架构拆解新能源汽车教学的范式之变
c语言·3d·unity·架构·汽车
℡枫叶℡2 天前
Unity - 图集大小与内存占用
unity·图集内存
_ZHOURUI_H_2 天前
Unity MyFramework 用法说明(二十五):使用 AtlasManager 统一管理图集与 Sprite 引用
ui·unity·游戏引擎·unity3d·游戏开发
新手unity自用笔记2 天前
Unity网络基础_2
unity·游戏引擎
音视频牛哥2 天前
从数字孪生到机器人操控:Android Unity3D下RTMP/RTSP多路低延迟播放实践
android·unity·音视频·unity rtsp播放器·unity rtmp播放器·rtsp player·rtmp player