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

相关推荐
郝学胜-神的一滴1 小时前
中级OpenGL教程 007:解决背面光照异常高光问题
c++·unity·游戏引擎·three.js·opengl·unreal
RReality1 小时前
【Unity Shader URP】水面效果 实战教程
unity·游戏引擎·图形渲染
游乐码2 小时前
c#基础(七)延迟函数
开发语言·unity·c#·游戏引擎
LONGZETECH2 小时前
Unity 3D+C/S架构无人机数字孪生实训室:破解实训“三高”难题的底层技术实现
c语言·开发语言·3d·unity·架构·无人机
万岳科技系统开发12 小时前
外卖系统小程序开发趋势:即时零售与同城配送的融合升级
unity·游戏引擎·零售
十贺16 小时前
【Unity开发字典】分包、黏包基本概念和处理逻辑实现
unity·游戏引擎
淡海水20 小时前
01-认知篇-总览-HybridCLR是什么
unity·c#·aot·热更新·clr·hybrid
nnsix1 天前
Unity AssetBundle(AB包) 笔记
笔记·unity·游戏引擎
mxwin1 天前
Unity Shader Shiny SSRR
unity·游戏引擎·shader
happyprince1 天前
06-Hugging Face Transformers 生成系统深度分析
网络·unity·游戏引擎