Если коротко:

Late latching обновляет данные о позе головы ближе к отправке или композиции готового кадра, чтобы сократить возраст измерения к моменту показа. Прогнозирование оценивает будущую позу, а reprojection корректирует уже построенное изображение; это разные этапы обработки. Метод уменьшает часть задержки, но не компенсирует медленную игровую логику, тяжёлый рендеринг или нестабильное время кадра.

Late latching VR использует для обновления позы ближе к выводу кадра и сокращения её возраста.

VR-приложение начинает строить кадр до его показа. Если использовать позу головы, измеренную в начале, к моменту вывода пользователь уже успеет повернуться. Late latching обновляет часть данных позы позже — ближе к отправке команд или композиции — и тем самым сокращает видимое отставание.

Что именно обновляется поздно

Система резервирует место для transform камеры или контроллера и подменяет его свежим значением после подготовки основной части кадра. Геометрия не обязательно пересчитывается полностью. Поэтому выигрыш зависит от того, какие объекты и буферы поддерживает реализация.

Это не означает «рендер без задержки»: датчики, GPU и дисплей всё равно занимают время.

Прогноз позы

Runtime оценивает, где окажется голова к предполагаемому моменту показа. Для равномерного поворота прогноз точен, для резкой остановки — хуже. Late latching использует более свежий вход и сокращает горизонт прогноза.

Слишком позднее обновление может конфликтовать с данными, уже использованными для culling, теней или физики. Поэтому технология применяется к контролируемой части pipeline.

Отличие от reprojection

Late latching обновляет transform внутри создаваемого кадра. Reprojection берёт уже готовое изображение и преобразует его под новую позу. Они способны работать вместе: первая уменьшает устаревание данных, вторая корректирует результат перед дисплеем.

Подробно о втором механизме — в статье репроекция в VR.

Контроллеры и руки

Позднее обновление особенно заметно для объекта рядом с рукой. Но физика и игровая логика могли использовать более раннюю позу, поэтому визуальная кисть иногда расходится с точкой столкновения. Архитектура должна явно разделять render pose и simulation pose.

Не применяйте позднюю подмену к объекту, чья трансформация влияет на уже рассчитанные зависимости, без проверки документации движка.

Как включать

Используйте штатную настройку runtime или плагина производителя. Сначала подтвердите поддержку устройства и версии движка, затем сравните один тестовый сценарий. Самодельное изменение матриц в конце кадра легко нарушает стерео и culling.

Тестирование

Поворачивайте голову и руки на контрастном фоне, записывайте frame timing и проверяйте быстрые остановки. Отдельно тестируйте пропущенный кадр, смену уровня и динамически созданные компоненты.

Итог

Late latching уменьшает возраст позы, используемой для визуального кадра. Он дополняет прогноз и reprojection, но не ускоряет тяжёлую игровую логику. Польза появляется при поддерживаемой реализации и аккуратном разделении визуального и физического состояния.

Поделиться:TelegramВКонтакте

Источники

  1. Meta — Optimizing VR graphics with late latching
  2. Meta — Late Latching in Unreal
  3. PICO — Late Latching