Перейти к содержимому

FCAT VR: производительность GPU и CPU в виртуальной реальности

    1649394004

    FCAT VR: познакомьтесь с нашим новейшим инструментом тестирования

    Хотя Oculus Rift был выпущен почти год назад, у нас до сих пор нет хорошего способа оценить производительность графики в виртуальной реальности. До настоящего времени. В течение последних нескольких месяцев мы тесно сотрудничали с Nvidia, чтобы протестировать новый инструмент под названием FCAT VR, который позволяет нам количественно оценивать то, что вы видите в своем HMD.

    Почему вас это должно волновать? И Oculus, и HTC выполняют множество закулисных манипуляций в своих средах выполнения, чтобы сделать виртуальную реальность отзывчивой и, в свою очередь, иммерсивной, на широком спектре аппаратных платформ. Хотя запись того, что происходит между средой выполнения и HMD, ранее не была невозможной, это определенно был громоздкий процесс. FCAT VR не только упрощает сбор данных, но и дает нам возможность визуализировать сложные концепции в простой для интерпретации форме. Мы думаем, вам понравится.

    Но сначала немного истории

    Более трех лет назад мы опубликовали статью «Challenging FPS: Testing SLI And CrossFire Using Video Capture». В этой истории Дон Волигроски представил новый способ тестирования видеокарт на основе захвата видео, а также набор наложений и сценариев Perl под названием FCAT (инструмент анализа захвата кадров).

    FCAT был разработан Nvidia как средство количественной оценки производительности. Но зачем утруждать себя созданием новой методологии оценки, когда тогдашний стандарт Fraps уже дал нам числа, необходимые для расчета среднего FPS, частоты кадров с течением времени и даже времени рендеринга отдельных кадров?

    Если вы помните, в 2013 году технологии мульти-GPU SLI и CrossFire находились под пристальным вниманием. Утверждалось, что цифры, сообщаемые Fraps, не всегда отражали опыт на экране. Это явление было связано с тем, что Fraps работал в конвейере отображения. Программное обеспечение учитывало каждый отрендеренный кадр, тогда как на самом деле некоторые кадры появлялись лишь частично. Хуже того, другие вообще никогда не появлялись на экране.

    Вместо того, чтобы записывать выходные данные видеокарты в видеофайл и анализировать последовательность кадров, FCAT смог представить ту же информацию, которую геймеры видели на своих мониторах. Короче говоря, FCAT помог нам проиллюстрировать, как иногда результаты Fraps расходятся с реальной производительностью. Конечно, усилия Nvidia по кодированию не были альтруистическими. У компании уже были механизмы в своем драйвере для регулирования скорости отображения кадров, чтобы улучшить воспринимаемую плавность. AMD этого не сделала, поэтому было показано, что многие ее кадры были потрачены впустую. Вскоре после этого AMD внедрила аналогичную технологию стимуляции, чтобы решить эту проблему.

    К сожалению, работа с FCAT была чрезвычайно ресурсоемкой. После того, как поставщики графики включили в своих драйверах синхронизацию кадров, чтобы смягчить короткие (прерывистые) и пропущенные кадры, мы сочли, что основная цель инструмента удовлетворена, и в значительной степени отказались от нее в пользу тестирования большего количества игр, настроек качества и разрешений в том же количестве. время. Сегодня мы в основном полагаемся на PresentMon (и наш собственный пользовательский интерфейс) для тестирования в DirectX 11, DirectX 12 и Vulkan.

    Бенчмаркинг VR: появляется претендент

    К сожалению, ни один из типичных инструментов тестирования не подходит для оценки производительности графики в виртуальной реальности через HTC Vive или Oculus Rift; они могут измерять кадры, генерируемые игровым движком, но пропускают все, что происходит впоследствии в среде выполнения виртуальной реальности, прежде чем эти кадры появятся в HMD. VRMark и VRScore помогают нам в этом с синтетическими измерениями, но обычно нас больше интересует сравнение с реальным миром.

    Введите FCAT VR, который концептуально похож на оригинальную версию. Однако на этот раз есть два способа проведения эталонного тестирования: аппаратное решение для захвата или полностью программный подход. Оба обеспечивают аналогичные результаты (хотя и представлены несколько по-разному). Но программный инструмент, естественно, более доступен.

    На самом деле аппаратная реализация существует как мера проверки — поскольку FCAT исходит от Nvidia, читатели, обозреватели и другие поставщики должны быть уверены в любых результатах тестирования, полученных с его помощью. Несколько средств массовой информации уже получили в свои руки необходимую карту захвата стоимостью более 2000 долларов и сверхмощную подсистему хранения, необходимые для тестирования с помощью анализа видео. Но ожидайте, что большинство редакторов оценят программное обеспечение, если оно окажется заслуживающим доверия со стороны сообщества в целом.

    Что именно мы здесь ищем? Nvidia проделала довольно блестящую работу, описав конвейер VR и где что-то может пойти не так, поэтому мы будем заимствовать документацию компании, редактируя для краткости.

    «Ведущие современные VR-гарнитуры высокого класса, Oculus Rift и HTC Vive, обновляют экран с фиксированным интервалом 90 Гц, что соответствует одному кадру каждые ~11,1 мс. Включена вертикальная синхронизация, чтобы предотвратить разрывы, которые могут вызвать значительный дискомфорт у пользователя.

    Механизм доставки кадров можно разделить на две части: VR-игра и VR-среда выполнения. При удовлетворении требований по времени и корректной работе процесса соблюдается следующая последовательность:

    Виртуальная игра использует датчик текущего положения гарнитуры и обновляет положение камеры, чтобы правильно отслеживать положение головы пользователя.
    Затем игра создает графический кадр, а графический процессор преобразует новый кадр в текстуру (а не в окончательное изображение).
    Среда выполнения VR считывает новую текстуру, изменяет ее и создает окончательное изображение, которое отображается на дисплее гарнитуры. Две интересные модификации включают коррекцию цвета и коррекцию объектива, но работа, выполняемая средой выполнения VR, может быть гораздо более сложной.

    На следующем рисунке показано, как это выглядит на временной диаграмме.

    Работа среды выполнения значительно усложняется, если время генерации кадра превышает интервал обновления. В этом случае общее истекшее время для комбинированной игры VR и времени выполнения VR слишком велико, и кадр не будет готов к отображению в начале следующего сканирования.

    В этом случае HMD обычно повторно отображает ранее отрендеренный кадр из среды выполнения, но для виртуальной реальности это неприемлемо, поскольку повторение старого кадра на дисплее гарнитуры игнорирует движение головы и приводит к плохому взаимодействию с пользователем.

    Среды выполнения используют различные методы для улучшения этого, в том числе алгоритмы, которые синтезируют новый кадр, а не повторяют старый. Большинство методов основаны на идее повторного проецирования, при котором используются самые последние данные о местоположении датчика головы для настройки старого кадра в соответствии с текущим положением головы. Это не улучшает анимацию, встроенную в кадр (которая будет страдать от более низкой частоты кадров и дрожания), но улучшает плавность движений головы.

    FCAT VR фиксирует четыре ключевых показателя производительности для Rift и Vive:

    Пропущенные кадры (пропуск приложения/падение приложения)
    Деформация промахивается
    В программной версии FCAT данные о времени кадра
    Кадры, синтезированные асинхронным космическим искажением

    Всякий раз, когда кадр, визуализируемый игрой VR, появляется слишком поздно для отображения в текущем интервале обновления, происходит пропуск кадров, что приводит к заиканию игры. Понимание этих падений и их измерение дает представление о производительности VR.

    Промахи деформации являются более серьезной проблемой для опыта виртуальной реальности. Промах деформации возникает всякий раз, когда среде выполнения не удается создать новый кадр (или повторно спроецированный кадр) в текущем интервале обновления. На предыдущем рисунке графический процессор повторно показывает предыдущий деформированный кадр. Пользователь воспринимает это застывшее время как сильное заикание».

    Поскольку у нас есть доступ к аппаратной и программной версиям FCAT VR, мы представим их обе и сравним их результаты. Затем, если программный инструмент Nvidia окажется столь же сопоставимым с аппаратным обеспечением, как утверждается, мы начнем сравнивать видеокарты друг с другом, используя утилиту Nvidia в качестве основного источника для получения результатов тестов.

    0 0 голоса
    Rating post
    Подписаться
    Уведомить о
    guest
    0 comments
    Межтекстовые Отзывы
    Посмотреть все комментарии
    0
    Оставьте комментарий! Напишите, что думаете по поводу статьи.x