Асинхронное перепроецирование — это класс технологий компьютерной графики, направленных на обеспечение реагирования гарнитуры виртуальной реальности на движение пользователя, даже если графический процессор не может справиться с целевой частотой кадров гарнитуры . [1] Перепроецирование подразумевает, что драйвер гарнитуры берет один или несколько ранее отрисованных кадров и использует новую информацию о движении с датчиков гарнитуры для экстраполяции (часто называемой «перепроецированием» или «деформацией») предыдущего кадра в прогноз того, как будет выглядеть обычно отрисованный кадр. [2] «Асинхронный» относится к этому процессу, который непрерывно выполняется параллельно с рендерингом, что позволяет отображать перепроецированные кадры без задержки в случае, если обычный кадр не отрисован вовремя. [2]
Использование этих методов позволяет снизить требования к аппаратным средствам рендеринга видео , необходимые для достижения определенного уровня реагирования. [3]
Различные поставщики реализовали собственные вариации техники под разными названиями. Базовые версии техники называются асинхронной репроекцией Google и Valve [1] [4], в то время как у Oculus есть две реализации, называемые асинхронной timewarp [2] и асинхронной spacewarp . Асинхронная timewarp использует данные вращения гарнитуры для экстраполяции нового отрисованного кадра на основе последнего полученного кадра. Асинхронная spacewarp дополнительно использует информацию о глубине , чтобы помочь компенсировать перспективу и другие геометрические изменения. [5] [6] [7] Ранняя версия Valve, называемая interleaved reprojection , заставляла приложение работать с половинной частотой кадров и перепроецировать каждый второй кадр. [8] Более поздний вариант от Valve — SteamVR Motion Smoothing , который основан на обычной асинхронной репроекции и позволяет перепроецировать два кадра вместо одного. [4]