gpt4 book ai didi

c# - SteamVR在统一使用FFMPEG录制时创建加载屏幕闪烁

转载 作者:行者123 更新时间:2023-12-04 23:24:41 24 4
gpt4 key购买 nike

我的 Unity VR 游戏(使用 SteamVR)中集成了一个热图插件。当用户注视游戏中的不同元素时,该插件使用眼动追踪信息生成实时热图。随着热图的生成,整个相机 View (用户的)被热图信息覆盖,并使用 FFMPEG 写入 MP4 文件。

整个过程运行良好。但是我有一个烦人的问题,在录制过程中,用户的相机 View 不稳定,并且只有在录制停止时才会闪烁并停止。它打断了他比赛的顺利进行
现在,我已经缩小了导致问题的代码范围,

        public void Write(byte[] data)
{
if (_subprocess == null) return;

_stdin.Write(data);
_stdin.Flush();
}

据我了解,正是在这部分代码中调用了 stdinput 来写入文件系统。因此,我推测问题一定出在访问文件系统上,而在更新方法中写入每一帧时,这又必然会导致一些时间延迟。如果我在这里错了,请纠正我。
enter image description here

在每帧写入期间出现的加载屏幕看起来像上面的样子。它打断了游戏的流畅流程,也使记录变得毫无用处,因为用户一直专注于闪烁而不是实际感兴趣的对象。如果有人在这里对这个问题有所了解,我将不胜感激?

最佳答案

访问文件系统总是需要大量时间。尝试将该工作卸载到另一个线程或 Coroutine .

关于c# - SteamVR在统一使用FFMPEG录制时创建加载屏幕闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52961855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com