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

В Unreal Engine есть несколько функций, которые могут повысить производительность приложений для смешанной реальности.Unreal Engine has several features that can increase an apps performance, all based on the discussion outlined in performance recommendations for mixed reality. Прежде чем продолжать, рекомендуется прочесть о факторах, ограничивающих производительность приложения, анализе и профилировании приложений смешанной реальности, а также общих настройках, повышающих производительность.You're encouraged to read up on application bottlenecks, analyzing and profiling mixed reality apps, and general performance fixes before continuing.

Каждый из параметров, о которых идет речь ниже, можно найти в разделе Edit > Project Settings (Правка > Параметры проекта).You can find each of the following settings in Edit > Project Settings.

  1. При использовании мобильного отрисовщика виртуальной реальности:Using the mobile VR renderer:
    • Прокрутите до раздела Project (Проект), выберите Target Hardware (Целевое оборудование) и выберите целевую платформу Mobile/Tablet (Мобильное устройство или планшет).Scroll to the Project section, select Target Hardware, and set the target platform to Mobile/Tablet

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

  1. При использовании стандартного отрисовщика (forward renderer):Using the Forward Renderer:
    • Стандартный отрисовщик гораздо лучше подходит для смешанной реальности, чем конвейер отложенной отрисовки по умолчанию, благодаря тому, что ряд функций можно отключить по отдельности.Forward Renderer is much better for Mixed Reality than the default Deferred rendering pipeline because of the number of features that can be individually turned off.
    • Дополнительные сведения см. в документации по Unreal.You can find more information in Unreal's documentation.

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

  1. Использование нескольких представлений для мобильных устройств:Using mobile multi-view:
    • Прокрутите до раздела Engine (Подсистема), выберите пункт Rendering (Отрисовка), разверните раздел VR (Виртуальная реальность) и установите флажки Instanced Stereo (Параллельное стерео) и Mobile Multi-View (Мобильная мультиотрисовка).Scroll to the Engine section, select Rendering, expand the VR section, and enable both Instanced Stereo and Mobile Multi-View. Необходимо снять флажок Mobile HDR (HDR для мобильных устройств).Mobile HDR should be unchecked.

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

  1. [Только для OpenXR] Убедитесь, что выбрано значение Default (По умолчанию) или D3D12 для параметра Default RHI (RHI по умолчанию):[OpenXR only] Ensure Default or D3D12 is the selected Default RHI:
    • Вариант D3D11 приведет к ухудшению производительности, так как платформе придется выполнять дополнительный проход отрисовки.Selecting D3D11 will have a negative performance impact due to the platform performing an additional render pass. D3D12 улучшает производительность отрисовки (и не требует дополнительного прохода).D3D12 should provide rendering performance improvements besides avoiding the additional render pass.

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

  1. Отключение затуманивания вершин (vertex fogging):Disabling Vertex Fogging:
    • Затуманивание вершин применяет расчеты тумана к каждой вершине в многоугольнике, а затем интерполирует результаты на поверхность многоугольника.Vertex fogging applies fog calculations at each vertex in a polygon and then interpolates the results across the face of the polygon. Если в игре не используется туман, рекомендуется отключить затуманивание вершин, чтобы повысить производительность шейдеров.If your game does not use fog, we recommend disabling Vertex Fogging to increase shading performance.

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

  1. Отключение отбрасывания загораживаемых объектов:Disabling occlusion culling:
    • Прокрутите до раздела Engine (Подсистема), выберите Rendering (Отрисовка), разверните раздел Culling (Отбрасывание объектов) и снимите флажок Occlusion Culling (Отбрасывание загораживаемых объектов).Scroll to the Engine section, select Rendering, expand the Culling section, and uncheck Occlusion Culling.
      • Если вам требуется удаление скрытых объектов для подробной отрисовки сцены, рекомендуется установить флажок Support Software Occlusion Culling (Поддержка программного удаления скрытых объектов) в разделе Engine > Rendering (Движок > Отрисовка).If you need occlusion culling for a detailed scene being rendered, it's recommended that you enable Support Software Occlusion Culling in Engine > Rendering. Это позволит Unreal выполнять соответствующую обработку на центральном процессоре, избегая отправки соответствующих запросов к GPU, которые выполняются неэффективно на HoloLens 2.Unreal will do the work on the CPU and avoid GPU occlusion queries, which perform poorly on HoloLens 2.
    • GPU мобильных устройств медленно выполняют отбрасывание загораживаемых объектов.Occlusion culling on the GPU on mobile devices is slow. Как правило, в основном GPU должен выполнять отрисовку.Generally, you want the GPU to be primarily concerned with rendering. Если вы считаете, что такое отбрасывание увеличит производительность, попробуйте включить программное отбрасывание.If you feel that occlusion will help performance, try enabling software occlusion instead.

Примечание

Включение программного удаления скрытых объектов может ухудшить производительность, если ЦП уже обрабатывает большое количество вызовов отрисовки.Enabling software occlusion could make performance worse if you're already CPU bound by a large number of draw-calls.

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

  1. Отключение настраиваемого прохода трафарета глубины:Disabling Custom Depth-Stencil Pass:
    • Отключение этой функции требует дополнительного прохода, то есть оно выполняется медленно.Disabling Custom Depth-Stencil requires an extra pass, meaning it's slow. Применение прозрачности также выполняется медленно в Unreal.Translucency is also slow on Unreal. Дополнительные сведения см. в документации по Unreal.You can find more information in Unreal's documentation.

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

  1. Сокращение числа каскадных карт теней:Reducing Cascaded Shadow Maps:
    • Сокращение числа карт теней улучшит производительность.Reducing the number of shadow maps will improve performance. Как правило, для этого свойства нужно задать значение 1 (если это не приводит к заметному ухудшению качества).Generally, you should set the property to 1 unless there's a visible quality loss.

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

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

Примечание

Следующие параметры могут улучшить производительность, но за счет отключения некоторых функций.The following settings may improve performance, but at the cost of disabling certain features. Используйте их, только если вы уверены, что эти функции вам не потребуются.Only use these settings if you're sure you don't need the features in question.

  1. Сокращение числа преобразований шейдеров на мобильных устройствахMobile Shader Permutation Reduction
    • Если ваши источники света не двигаются независимо от камеры, вы можете задать для этого свойства значение 0.If your lights don't move independently of the camera, then you can safely set the property value to 0. Его основное преимущество — он позволяет Unreal не выполнять некоторые преобразования шейдеров и ускорить их компиляцию.The primary benefit is that it will allow Unreal to cull several shader permutations, speeding up shader compilation.

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

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