遇到一个问题,就是运行一个脚本的时候,只要我查看它的Inspectors,就会严重掉帧。
原本是30fps,只要查看这个组件,就掉到5fps。
这还真有点像波粒二象性,一观察就会掉帧,不观察就正常。
using UnityEngine;
public class Test0926 : MonoBehaviour
{
public int Count = 0;
private void Update()
{
Count++;
}
}
测试结果表明,当Count为public时,且Count在Update中每帧更新时,查看Inspectors面板会导致严重掉帧。因为Inspectors面板显示变量的原理是反射+序列化,这两个操作都不应该用在高频场景。
后续又测试了几次,只要每帧更新的变量被序列化,查看时就会卡顿,无论是private还是public,[HideInInspector] or not.