¿Qué estás buscando?
Engine & platform

Familiarícese con la configuración de HDRP para un mejor rendimiento

MATHIEU MULLER / UNITYSenior Manager, Product Management
Oct 22, 2021|13 minutos
Familiarícese con la configuración de HDRP para un mejor rendimiento
Esta página se ha traducido automáticamente. Para ver la versión original para comprobar su exactitud y como fuente confiable

Aprenda a aprovechar la configuración del canal de renderizado de alta definición (HDRP) para maximizar el rendimiento y lograr gráficos potentes a la vez.

Con el lanzamiento de la versión 10 de HDRP para Unity 2020 LTS y posteriores, el paquete HDRP siguió priorizando su interfaz fácil de usar, funciones flexibles, estabilidad y rendimiento general. Pero para configurar HDRP para un uso óptimo, es fundamental comprender todas las configuraciones principales, cómo funcionan y qué hacen. Es por eso que estamos viendo cómo funciona HDRP desde la perspectiva de las capturas del generador de perfiles de CPU/GPU, la vista de depuración del canal de renderizadoy el marco de sombreado de HDRP.

Desde la depuración de gráficos hasta la creación de perfiles y la optimización, este blog ofrece sugerencias para ayudarlo a personalizar HDRP para su proyecto utilizando la API Custom Passu otra parte local del paquete.

La estructura de HDRP UX

Antes de comenzar a analizar fotogramas, es importante conocer las características HDRP en cuestión. Le recomendamos ver nuestra presentación Unite Now, Cómo lograr gráficos de alta fidelidad para juegos con HDRP, el seminario web Ray tracing con el canal de renderizado de alta definición de Unity y la charla Nubes volumétricas, destellos de lente y anclaje de luz , que son excelentes guías para HDRP.

Los usuarios que pasan del canal de renderizado integrado a HDRP a menudo descubren que la migración requiere cierto tiempo de adaptación. Esto se debe a que:

  • HDRP tiene un marco de renderizado unificado y basado en la física, lo que significa que sus atributos utilizan unidades del mundo real: El valor de exposición se utiliza para la sensibilidad a la luz de la cámara, mientras que Candela se utiliza para la intensidad de la luz. Nuestracharla Unite Now revela cómo pensar de manera física para obtener resultados consistentes al iluminar una escena.
  • Hay muchos parámetros que puedes controlar en un proyecto HDRP y estos parámetros existen en muchos lugares. Esto se debe en parte a que HDRP tiene más funciones integradas, así como capacidades de personalización más profundas para que tanto los artistas como los ingenieros puedan afinar y optimizar su trabajo.

Para familiarizarnos con estas capacidades de HDRP, comenzaremos mirando su configuración global.

Configuración global

Para el canal de renderizado integrado, las configuraciones de gráficos cubren la mayoría de las configuraciones de gráficos por proyecto. También hay configuraciones de jugador , que contienen algunas configuraciones de gráficos generales en el contexto de una plataforma de destino particular, como Windows, Linux, Mac o Xbox.

Imagen de dónde se puede encontrar la configuración de gráficos en los proyectos HDRP

Los proyectos HDRP también utilizan configuraciones de gráficos y reproductor, con el agregado de tres conjuntos más de configuraciones que brindan acceso a configuraciones predeterminadas avanzadas del flujo de renderizado.

  • En la configuración de gráficos, por ejemplo, la configuración de Scriptable Render Pipeline (SRP) hace referencia a un recurso de HD Render Pipelinepredeterminado. Este recurso de canalización de renderizado HD contiene configuraciones que se pueden anular en cada nivel de calidad.
  • La pestaña Configuración predeterminada de HDRP configura:
  • Configuración de marco predeterminada, con propiedades predeterminadas que se pueden anular para cada cámara (incluidas las cámaras utilizadas para reflexiones planas o sondas de reflexión). Aquí puedes decidir si las cámaras renderizarán objetos transparentes de forma predeterminada.
  • Componentes de volumen predeterminados, que contienen propiedades que se pueden anular para cada “posición de la cámara en la escena”. Por ejemplo, puedes definir intensidades de efectos de posprocesamiento predeterminadas, que se pueden anular y convertir en “fuertes en exteriores pero débiles en interiores” utilizando volúmenes específicos para tus escenas.
  • La propiedad Activos del perfil de difusión predeterminado, que puede ser reemplazada por un componente Anulación del perfil de difusión en la sección Componentes de volumen de la pestaña Configuración predeterminada de HDRP. Esto, a su vez, se puede anular mediante la “posición de la cámara en la escena”. Actualmente también hay una “capa de anulación redundante” para el sistema de perfil de difusión, pero como buscamos constantemente mejorar la experiencia de usuario en HDRP, ya estamos trabajando en una solución para este problema.
  • Otras propiedades, que son “configuraciones globales puras”, no se pueden anular.
  • Por último, algunas configuraciones de bajo nivel que tienen menos probabilidades de requerir configuración se especifican en el paquete de configuración HDRP. Estas configuraciones también son “configuraciones globales puras”. Para cambiarlos es necesario volver a compilar el ensamblaje C# y el marco del sombreador HDRP. Por eso están colocados en un lugar diferente.

Niveles de calidad

Con el canal de renderizado integrado, puedes definir una serie de niveles de calidad en la pestaña Configuración de calidad . Para cada nivel de calidad, se pueden especificar algunas configuraciones gráficas, como el uso de textura anisotrópica, para que se utilicen menos recursos de hardware en plataformas de gama baja.

Para los proyectos HDRP, específicamente, se puede seleccionar un recurso de canalización de renderizado HD de anulación para cada nivel de calidad. Esto ofrece más capacidad de configuración en comparación con el canal de renderizado integrado, ya que el activo del canal de renderizado HD almacena varios parámetros, como la cantidad máxima de luces direccionales, puntualesy de área en pantalla, el tamaño de la LUT de gradación de colory el tamaño del atlas de cookies de luz, entre otros.

Algunas propiedades de la pestaña Configuración de calidad de un proyecto de canalización de renderizado integrado solo se aplican a la canalización de renderizado integrado. En un proyecto HDRP, estas configuraciones pueden desaparecer de sus ubicaciones originales y reaparecer en otro lugar como “configuraciones de reemplazo”.

En un proyecto de canalización de renderizado integrado, por ejemplo, la pestaña Configuración de calidad controla la propiedad Resolución de sombra . Sin embargo, en un proyecto HDRP, la sección Iluminación > Sombras de un recurso de canalización de renderizado HD controla la resolución de los mapas de sombras.

Captura de pantalla de las propiedades en la configuración de calidad dentro de un proyecto de canalización de renderizado integrado en comparación con un proyecto HDRP
Muchas propiedades en la configuración de calidad se trasladan al recurso de canalización de renderizado HD

Configuración de cámara y marco

Para renderizar tu escena en HDRP, necesitas agregar cámaras tal como en el pipeline de renderizado integrado. HDRP también utiliza un componente adicional de datos de cámara HD adicionales (adjunto al mismo objeto de juego) para almacenar parámetros adicionales por cámara.

De hecho, HDRP ofrece muchos más parámetros de personalización por cámara. Hay varias configuraciones de cámara física y, si marca la propiedad Configuración de marco personalizado de una cámara, puede decidir cómo la cámara dibuja el marco a través del sistema Configuración de marco .

El sistema de configuración de marco es una pila de anulaciones de propiedades de la cámara. Puede especificar valores predeterminados para la configuración de marco en la pestaña Configuración predeterminada de HDRP. Además, cada cámara puede anular la configuración de marco predeterminada.

Los paneles de cámara de laventana de depuración del pipeline de renderizado ayudan a visualizar la pila de anulación de configuraciones de cuadro.

Uso del panel de la cámara

El siguiente ejemplo demuestra cómo funciona el panel Cámara de la ventana Depuración de Render Pipeline:

Hay una cámara llamada Cámara Principal en la Escena. La cámara principal solo dibuja objetos estáticos. La pestaña Configuración predeterminada de HDRP permite dibujar vectores de movimiento, mientras que la anulación de Configuración de cuadro de la Cámara principal deshabilita esta función para mejorar el rendimiento general.

La pila de anulación de vectores de movimiento muestra el estado de la configuración de OverriddenFrame a la izquierda de la configuración de DefaultFrame. Ver Figura 4, Resaltado A:

La configuración del marco anula la pila que se muestra en la ventana de depuración de la canalización de renderizado

Además, la ventana Depuración de canalización de renderizado muestra el estado de la configuración de SanitizedFrame a la izquierda de la configuración de OverriddenFrame. La desinfección garantiza que las configuraciones del marco anulado permanezcan consistentes. Observando el mismo ejemplo, el movimiento de objetos opacos y el movimiento de objetos transparentes no se han deshabilitado explícitamente en la anulación de la configuración de marco de la cámara principal. Pero como Motion Vector está deshabilitado, estas funciones dependientes también quedan desactivadas por el sistema de desinfección, como se muestra en la Figura 4, Resaltado B.

Sistema de volumen

Como discutimos en nuestracharla deUnite Now, HDRP admite un sistema de volumen. De manera similar a la pila de posprocesamiento en el canal de renderizado integrado, el sistema de volumen HDRP controla el posprocesamiento. Pero aún más, determina la forma en que se representa el cielo, la intensidad de la luz indirectay algunos ajustes de sombras, entre otras características.

En pocas palabras, el sistema de volumen HDRP es un marco abstracto que se puede utilizar para alterar la configuración de renderizado a medida que la cámara se mueve por la escena. Hay un valor predeterminado codificado para cada propiedad de volumen. Para ver estos valores, utilice el panel Volumen en la ventana Depuración del pipeline de renderizado. Vea la columna más a la derecha en la Figura 5, donde la intensidad predeterminada de la distorsión de la lente es 0.

Pila de anulación de volumen mostrada en la ventana de depuración de Render Pipeline

Estas propiedades predeterminadas codificadas se pueden anular mediante anulaciones de propiedades en la sección Componentes de volumen de la pestaña Configuración predeterminada de HDRP. Tenga en cuenta que estas anulaciones de propiedades también pueden ser anuladas por volúmenes en la escena.

Por el contrario, la cámara capta una combinación de valores de propiedad de los volúmenes de la escena. Si no hay ninguno, toma los valores de propiedad de la pestaña Configuración predeterminada de HDRP. De lo contrario, retoma los valores de propiedad predeterminados codificados.

Como se muestra en la Figura 5, el panel Volumen de la ventana Depuración de Render Pipeline es útil para visualizar la pila de anulación de propiedades de Volumen actual. Es especialmente eficaz durante la depuración, ya que muestra las propiedades de volumen actualmente en uso.

Mallas y superficies

Al igual que en el canal de renderizado integrado, las geometrías que se renderizarán generalmente se especifican mediante renderizadores de malla o renderizadores de malla modificados en la escena. Los datos específicos de HDRP se almacenan predominantemente en los materialespara que puedan usar los renderizadores o gráficos de sombreadoadecuados.

Iluminación

Al igual que en el canal de renderizado integrado, los proyectos HDRP tienen luces con almacenamiento de datos específico para HDRP para cada luz. Los componentes de datos de luz adicionales HD se conectan junto con los componentes de luz normales.

Tenga en cuenta que hay muchas configuraciones de iluminación que se derivan de lugares distintos a los objetos de juego con componentes de luz. A continuación se muestran algunos ejemplos:

Componente de volumen del controlador de iluminación indirecta
Buscando propiedades

Ahora que hemos hecho un recorrido por la experiencia de usuario (UX) de HDRP, pasemos a algunas propiedades gráficas menos familiares para su próximo proyecto HDRP. La figura 7 ilustra un posible enfoque, comenzando con configuraciones generales en la parte superior y configuraciones de anulación en la parte inferior. Como puedes ver, el alcance se amplía a medida que avanzamos de arriba a abajo.

Una posible rutina para buscar propiedades gráficas en su proyecto HDRP
Dimensiones de la configuración de gráficos

La configuración de gráficos de HDRP debe adaptarse a lo siguiente:

  • El nivel de calidad del programa, como la plataforma en la que se ejecuta el programa.
  • La cámara activa actual
  • Ubicación de la cámara en la escena
  • Los materiales de las geometrías renderizadas
  • Las luces que afectan las geometrías renderizadas

Tenga en cuenta que la configuración de HDRP se adapta especialmente a las dimensiones de la configuración.

Conflictos entre las dimensiones de la configuración

A menudo surgen conflictos entre las dimensiones de las siguientes configuraciones:

  • El nivel de calidad y la cámara activa actual podrían intentar controlar el mismo parámetro gráfico. Por ejemplo, si desea reducir el recuento de muestreo de dispersión de subsuperficie en dispositivos de gama baja, es posible que también desee reducir el recuento de muestreo de dispersión de subsuperficie para cámaras que renderizan en texturas de renderizado para efectos de imagen en imagen.
  • El nivel de calidad y la ubicación de la cámara en la escena podrían intentar controlar el mismo parámetro gráfico. Entonces, si desea reducir la calidad de los efectos de posprocesamiento en plataformas con potencia de GPU limitada, debe tener en cuenta el hecho de que algunas ubicaciones de escena ya utilizan un tiempo de GPU significativo para una iluminación compleja. Como tal, debe esforzarse por reducir la calidad de los efectos de posprocesamiento en estas ubicaciones para recuperar algo de presupuesto de rendimiento.
  • El nivel de calidad y las luces de la escena podrían intentar controlar el mismo parámetro gráfico. Entonces, si desea reducir la resolución del mapa de sombras en plataformas con RAM limitada, debe tener en cuenta que es probable que haya muchos pequeños focos que proyectan sombras en la escena que requieren mapas de sombras con menor resolución.

Para solucionar estos conflictos, HD Render Pipeline Asset admite configuraciones por niveles. En lugar de indicar solo un valor para una propiedad, se pueden atribuir varios valores a varios niveles: Bajo, Medio, Alto y, en algunos casos, un nivel Ultra.

valor especificado para cada nivel
valor especificado para cada nivel
valor especificado para cada nivel

Para las cámaras que reproducen el efecto de imagen en imagen, puede especificar un nivel tanto para los volúmenes que controlan los efectos de posprocesamiento como para los focos que solicitan los mapas de sombras:

Especifique niveles en lugar de valores.
Especifique niveles en lugar de valores.
Especifique niveles en lugar de valores.

Luego, HDRP puede buscar la propiedad desde el nivel apropiado en el recurso de canalización de renderizado HD activo. Esta es la propiedad que se utilizará.

Por supuesto, también es posible que las cámaras, los volúmenes y las luces ignoren el sistema de configuración escalonada y determinen directamente sus comportamientos deseados.

Dimensiones de tres configuraciones superpuestas

Veamos otro ejemplo donde las dimensiones de las configuraciones se superponen.

Imagine que hay algunos renderizadores de malla en la escena que utilizan un gráfico de sombreado con animaciones de vértices complejas. Podría resultar demasiado costoso realizar animaciones de vértices en dispositivos de gama baja. También hay que tener en cuenta la renderización de cámara adicional para la textura de renderizado cuando se trata de efectos de imagen en imagen, por lo que no necesitas esa cámara adicional para renderizar con ninguna animación de vértices.

En este caso, hay tres dimensiones de configuración superpuestas:

  • Materiales de geometrías en la Escena
  • Nivel de calidad del programa
  • Cámaras en la escena

Para abordar casos como este, hay una palabra clave especial de Calidad de Material disponible en Shader Graph:

La palabra clave Calidad del material en Shader Graph

A diferencia de las palabras clave regulares de Shader Graph, que son controladas por los usuarios por material, esta es una palabra clave global, configurada internamente por HDRP. En el recurso de canalización de renderizado HD, puede controlar los niveles de calidad del material disponibles, así como el nivel de calidad del material predeterminado.

Los niveles de calidad de material disponibles y el nivel de calidad de material predeterminado

Para cada cámara, puede anular la configuración de marco predeterminada y especificar un nivel de calidad de material, anulando así el activo del canal de renderizado HD.

Especificación del nivel de calidad del material desde la anulación de la configuración del marco de una cámara

El HDRP tiene un enfoque sistemático para el manejo de las configuraciones de los artistas. Después de todo, mantener una excelente UX para los artistas es la clave para inspirar contenido de alta calidad.

Optimización de la configuración de HDRP

Al iniciar un proyecto HDRP con una configuración simple, el proyecto puede costar una cantidad sorprendente de rendimiento. Esto se debe a que HDRP determina muchas de las funciones utilizadas de forma predeterminada. La mejor práctica es controlar la configuración de HDRP para pagar solo por lo que desea usar.

Para representar una carga de trabajo de renderizado minimalista, creemos una escena de 225 cubos usando el material predeterminado, iluminado por un foco, una luz puntual, una luz direccional y una iluminación ambiental.

Ejemplo de escena de 225 cubos

¿Cómo funciona esta sencilla configuración? Construyamos un reproductor independiente con una resolución de 2880x1620, en el backend de scripting IL2CPP , con VSync desactivado. Al ejecutar el reproductor en una máquina Windows con GPU Intel i9-10980HK y GPU NVIDIA RTX2080, el Profiler muestra que el tiempo de cuadro promedio es de 4,6 ms.

Al observar la vista de la línea de tiempo del generador de perfiles, se gasta una cantidad significativa de tiempo en el marcador DXGI.WaitOnSwapChain, lo que indica que está limitado por la GPU.

Tanto la canalización de renderizado incorporada como las pruebas HDRP están limitadas por la GPU.

Al tomar una captura de GPU con Nsight Graphics se muestra que esto ocurre porque el HDRP tiene varias funciones activas de forma predeterminada:

  • Hay muchos efectos visuales adicionales activos, como SSAO, Dispersión del subsuelo, Exposición dinámica, Desenfoque de movimiento y Bloom.
  • Hay varios pases de pirámide de color y un pase transparente de baja resolución de aumento de muestra en acción, todos los cuales admiten una representación transparente compleja.
HDRP tiene muchos efectos y pases activados de forma predeterminada.

Como puede ver aquí, puede controlar el activo HDRP, anular la configuración del marcode la cámara y agregar anulaciones de volumen, de modo que solo se habiliten las funciones mínimas absolutas. En otras palabras:

  • Las calcomanías, la transparencia de baja resolución, la cara posterior transparente, el prepaso de profundidad, el pospaso de profundidad, SSAO, SSR, las sombras de contacto, la volumetría, la dispersión del subsuelo y las distorsiones están deshabilitadas en el activo HDRP.
  • Las opciones Refracción, Posprocesamiento, Después del posprocesamiento, Transmisión, Sonda de reflexión, Sonda de reflexión planar y Prepaso de mosaico grande están todas deshabilitadas en la configuración de Marco de la Cámara.
  • El volumen anula el modo de exposición a exposición fija.

Después de la modificación, el resultado tiene un tiempo de cuadro medio de solo 2,45 ms, lo que es significativo en comparación con la renderización de la misma escena en un canal de renderizado integrado.

En la práctica, no es necesario desactivar tantas funciones de la cámara principal en un juego real, aunque algunas cámaras adicionales sí requieren este tratamiento.

Si está interesado en cámaras aún más económicas, el paquete HDRP UI Camera Stacking en 2021.2 le permite apilar múltiples interfaces de usuario de renderizado de cámaras a solo una fracción del costo de una cámara estándar.

Este ejemplo no solo resalta el alcance del control que tiene sobre las características de rendimiento de HDRP, sino también la importancia de ajustar la configuración de su proyecto HDRP.

¿Que viene después?
Imagen de bola trazada por rayos con la marca Unity

Comienza con luz: La guía definitiva para el flujo de trabajo de renderizado de alta definición

HDRP en Unity 2020 LTS te trae herramientas mejoradas para crear iluminación evocadora y de alta gama en tus juegos. Obtenga esta nueva guía detallada para aprender cómo aprovechar el poder de la iluminación basada en la física en HDRP.

Obtén la guía