ARFoundation初始化时突然出现一帧历史画面或者说画面闪烁
-
症状
在场景中有一个普通相机,普通按钮,点击后创建 ARFoundation 预制体,里面包含了 ARSession 组件,还有用于AR的Camera
然后屏幕会突然闪一下,显示的是0.几秒前的画面 -
排查
- 在界面上打印时间,可以确认确实就是几秒前的画面
- 去掉AR的Camera,此时只有普通相机,仍然会闪烁
- 去掉 ARSession 组件,不会闪烁,说明是 ARSession 问题
- 取消 ARSession 上的 MatchFrameRate ,不会闪烁,说明是 MatchFrameRate 问题
- 排查跟 MatchFrameRate 相关的代码,发现注释掉 ARSession.Update 中的如下代码
Application.targetFrameRate = subsystem.frameRate; QualitySettings.vSyncCount = 0;