В мою игру Unity VR интегрирован плагин Heatmap (со SteamVR).Плагин использует информацию отслеживания глаз, чтобы генерировать тепловые карты в реальном времени, когда пользователь смотрит на различные элементы в игре.По мере создания тепловых карт весь вид камеры (пользователя) накладывается на информацию тепловых карт и записывается в файл MP4 с использованием FFMPEG.
Весь процесс работает нормально.Но у меня есть неприятная проблема, когда во время записи изображение с камеры пользователя нестабильно, продолжает мерцать и останавливается только после остановки записи.Это прерывает плавный ход его игры. Пока я сузил код, вызывающий проблему:
public void Write(byte[] data)
{
if (_subprocess == null) return;
_stdin.Write(data);
_stdin.Flush();
}
Насколько я понимаю, именно в этой части кода вызывается stdinput для записи вфайловая система.Итак, я предполагаю, что проблема должна быть связана с доступом к файловой системе, которая, в свою очередь, должна была вызывать некоторую задержку при записи каждого кадра в методе обновления.Поправь меня, если я здесь не прав.
Экран загрузки, который появляется при каждой записи кадра, выглядит примерно так, как указано выше.Это прерывает плавный ход игры, а также делает запись бесполезной, поскольку пользователь продолжает фокусироваться на мерцании, а не на реальных объектах, представляющих интерес.Буду очень признателен, если кто-нибудь прояснит этот вопрос здесь?