This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
Справочник API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Настройка SteamVR на Linux для наилучшего взаимодействия

В этой статье содержатся рекомендации по настройке SteamVR на Linux для повышения производительности приложений виртуальной реальности на базе UNIGINE.

Проверка настроек по умолчанию#

  1. Запустите SteamVR.

  2. Включите Advanced Settings.

  3. Откройте настройки SteamVR и убедитесь, что к разрешению не применяется масштабирование:

    Settings -> General -> Render Resolution -> Resolution Per Eye = 100%

  4. Запустите приложение, разработанное на платформе UNIGINE, в виртуальной реальности.

  5. Откройте настройки приложения в SteamVR и убедитесь, что к разрешению не применяется масштабирование и режим Legacy Reprojection отключен:

    Settings -> Video -> PER-APPLICATION VIDEO SETTINGS

Включение асинхронной репроекции#

Асинхронная репроекция помогает стабилизировать частоту кадров. Даже если в приложении движок выдает только 45 кадров в секунду, в гарнитуре за счет репроекции все равно будет 90 кадров в секунду. Однако, если в приложении частота упадет до 30 кадров в секунду, то в гарнитуре будет всего 60 кадров в секунду.

На Linux асинхронная репроекция может не работать, даже если режим Legacy Reprojection отключен (Use Legacy Reprojection Mode = Off). Чтобы включить асинхронную репроекцию, добавьте в файл steamvr.vrsettings параметр "enableLinuxVulkanAsync" : true в два блока:

1. В блок steamvr:
  1. Закройте приложение SteamVR.
  2. Откройте файл steamvr.vrsettings. Относительный путь к файлу: ~/.steam/steam/config/steamvr.vrsettings.
  3. В этом файле найдите блок steamvr и добавьте следующее:

    Исходный код (XML)
    "steamvr" : {
    		...
    		"enableLinuxVulkanAsync" : true,
    		...
    	}
  4. Сохраните steamvr.vrsettings.
2. В блок приложения на UNIGINE:
  1. Запустите приложение SteamVR.
  2. Включите Advanced Settings.
  3. Запустите приложение на базе UNIGINE в виртуальной реальности.
  4. Откройте настройки приложения (Settings -> Video -> PER-APPLICATION VIDEO SETTINGS).
  5. Измените какую-либо настройку приложения. Например, можно подвинуть настройку Custom Resolution Multiplier. Это действие автоматически создаст в файле steamvr.vrsettings блок под приложение.

    Примечание
    После перезапуска приложения на UNIGINE не забудьте сбросить вернуть исходные настройки.
  6. Закройте приложение SteamVR.
  7. Откройте файл steamvr.vrsettings.
  8. В этом файле найдите блок с названием вашего приложения и добавьте следующую строку:

    Исходный код (XML)
    "system.generated.APP_NAME.exe" : {
    		...
    		"enableLinuxVulkanAsync" : true,
    		...
    	}
  9. Сохраните steamvr.vrsettings.

Отслеживание состояния повторного проецирования#

Вы можете убедиться, что репроекция работает, используя встроенные в SteamVR инструменты синхронизации кадров: Settings -> Developer -> Advanced Frame Timing. Появится график, показывающий тайминги кадров.

Посмотрите на график GPU (нижняя часть): если вы видите красные скачки или красную линию, это означает, что репроекция работает:

Отсутствие красной линии означает, что репроекция не работает:

Вы также можете проверить содержимое файла ~/.steam/steam/logs/vrcompositor.txt, которое должно выглядеть примерно так:

Результат
Tue May 13 2025 12:12:52.530 [Info] - Lost pipe connection from vr219_x64 (16216)
Tue May 13 2025 12:12:52.530 [Info] - ######################################################################
Tue May 13 2025 12:12:52.530 [Info] - Cumulative stats for pid: 16216
Tue May 13 2025 12:12:52.530 [Info] - Total..................241834 presents.  258 dropped. 57287 reprojected
Tue May 13 2025 12:12:52.530 [Info] - Startup................    73 presents.    0 dropped.   45 reprojected
Tue May 13 2025 12:12:52.530 [Info] - Loading...  0 total....     0 presents.    0 dropped.    0 reprojected
Tue May 13 2025 12:12:52.530 [Info] - Timed out.  0 total.... 26259 presents.   30 dropped. 3811 reprojected
Tue May 13 2025 12:12:52.530 [Info] - Compositor Time........CPU: 0.193ms / GPU: 0.560ms
Tue May 13 2025 12:12:52.530 [Info] - Game Info..............FPS Average Target 90  ApplicationTime CPU: 6.475ms / GPU: 10.412ms
Примечание
К сожалению, в некоторых дистрибутивах Linux (например, Astra 1.8) в SteamVR есть ошибка, из-за которой он не регистрирует количество репроецированных кадров, хотя график Advanced Frame Timing ясно показывает, что репроекция работает.

Информация, представленная на данной странице, актуальна для версии UNIGINE 2.20 SDK.

Последнее обновление: 19.05.2025
Build: ()