Рекомендации по производительности для Unreal

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

Каждый из параметров, о которых идет речь ниже, можно найти в разделе Edit > Project Settings (Правка > Параметры проекта).

  1. При использовании мобильного отрисовщика виртуальной реальности:
    • Прокрутите до раздела Project (Проект), выберите Target Hardware (Целевое оборудование) и выберите целевую платформу Mobile/Tablet (Мобильное устройство или планшет).

Выбор мобильного устройства в качестве целевого

  1. При использовании стандартного отрисовщика (forward renderer):
    • Стандартный отрисовщик гораздо лучше подходит для смешанной реальности, чем конвейер отложенной отрисовки по умолчанию, благодаря тому, что ряд функций можно отключить по отдельности.
    • Дополнительные сведения см. в документации по Unreal.

Стандартная отрисовка (forward rendering)

  1. Использование нескольких представлений для мобильных устройств:
    • Прокрутите до раздела Engine (Подсистема), выберите пункт Rendering (Отрисовка), разверните раздел VR (Виртуальная реальность) и установите флажки Instanced Stereo (Параллельное стерео) и Mobile Multi-View (Мобильная мультиотрисовка). Необходимо снять флажок Mobile HDR (HDR для мобильных устройств).

Параметры отрисовки виртуальной реальности

  1. [Только для OpenXR] Убедитесь, что выбрано значение Default (По умолчанию) или D3D12 для параметра Default RHI (RHI по умолчанию):
    • Вариант D3D11 приведет к ухудшению производительности, так как платформе придется выполнять дополнительный проход отрисовки. D3D12 улучшает производительность отрисовки (и не требует дополнительного прохода).

RHI по умолчанию

  1. Отключение затуманивания вершин (vertex fogging):
    • Затуманивание вершин применяет расчеты тумана к каждой вершине в многоугольнике, а затем интерполирует результаты на поверхность многоугольника. Если в игре не используется туман, рекомендуется отключить затуманивание вершин, чтобы повысить производительность шейдеров.

Параметры затуманивания вершин

  1. Отключение отбрасывания загораживаемых объектов:
    • Прокрутите до раздела Engine (Подсистема), выберите Rendering (Отрисовка), разверните раздел Culling (Отбрасывание объектов) и снимите флажок Occlusion Culling (Отбрасывание загораживаемых объектов).
      • Если вам требуется удаление скрытых объектов для подробной отрисовки сцены, рекомендуется установить флажок Support Software Occlusion Culling (Поддержка программного удаления скрытых объектов) в разделе Engine > Rendering (Движок > Отрисовка). Это позволит Unreal выполнять соответствующую обработку на центральном процессоре, избегая отправки соответствующих запросов к GPU, которые выполняются неэффективно на HoloLens 2.
    • GPU мобильных устройств медленно выполняют отбрасывание загораживаемых объектов. Как правило, в основном GPU должен выполнять отрисовку. Если вы считаете, что такое отбрасывание увеличит производительность, попробуйте включить программное отбрасывание.

Примечание

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

Отключение отбрасывания загораживаемых объектов

  1. Отключение настраиваемого прохода трафарета глубины:
    • Отключение этой функции требует дополнительного прохода, то есть оно выполняется медленно. Применение прозрачности также выполняется медленно в Unreal. Дополнительные сведения см. в документации по Unreal.

Трафарет глубины

  1. Сокращение числа каскадных карт теней:
    • Сокращение числа карт теней улучшит производительность. Как правило, для этого свойства нужно задать значение 1 (если это не приводит к заметному ухудшению качества).

Каскадные карты теней

Необязательные параметры

Примечание

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

  1. Сокращение числа преобразований шейдеров на мобильных устройствах
    • Если ваши источники света не двигаются независимо от камеры, вы можете задать для этого свойства значение 0. Его основное преимущество — он позволяет Unreal не выполнять некоторые преобразования шейдеров и ускорить их компиляцию.

Сокращение числа преобразований шейдеров на мобильных устройствах

См. также раздел