Niveles de representación de gráficos

Un nivel de representación define el nivel de funcionalidad y rendimiento de hardware gráfico de un dispositivo que ejecuta una aplicación de WPF.

Hardware gráfico

Las características del hardware gráfico que más afectan a los niveles de representación son:

  • RAM de vídeo La cantidad de memoria de vídeo en el hardware gráfico determina el tamaño y el número de búferes que puede utilizarse para la composición de gráficos.

  • Sombreador de píxeles Un sombreador de píxeles es una función de procesamiento de gráficos que calcula los efectos píxel por píxel. Según la resolución de los gráficos mostrados, puede haber varios millones de píxeles que deban procesarse en cada fotograma mostrado.

  • Sombreador de vértices Un sombreador de vértices es una función de procesamiento de gráficos que realiza operaciones matemáticas en los datos de vértice del objeto.

  • Compatibilidad con texturas múltiples La compatibilidad con texturas múltiples hace referencia a la capacidad de aplicar dos o más texturas distintas durante una operación de combinación en un objeto gráfico 3D. El grado de compatibilidad con texturas múltiples queda determinado por el número de unidades de múltiples texturas en el hardware gráfico.

Definiciones de niveles de representación

Las características del hardware gráfico determinan la capacidad de representación de una aplicación de WPF. El sistema de WPF define tres niveles de representación:

  • Nivel de representación 0 Sin aceleración de hardware gráfico. Todas las características de gráficos utilizan la aceleración de software. El nivel de versión de DirectX es inferior a la versión 9.0.

  • Nivel de representación 1 Algunas características de gráficos utilizan la aceleración de hardware gráfico. El nivel de versión de DirectX es mayor o igual que la versión 9.0.

  • Nivel de representación 2 La mayoría de las características de gráficos utiliza la aceleración de hardware gráfico. El nivel de versión de DirectX es mayor o igual que la versión 9.0.

La propiedad RenderCapability.Tier permite recuperar el nivel de representación en el tiempo de ejecución de la aplicación. El nivel de representación se utiliza para determinar si el dispositivo admite ciertas características de aceleración de gráficos mediante hardware. La aplicación puede emprender diferentes rutas de código en tiempo de ejecución según el nivel de representación que admita el dispositivo.

Nivel de representación 0

Un valor de nivel de representación de 0 significa que no hay ninguna aceleración de gráficos mediante hardware disponible para la aplicación en el dispositivo. En este nivel del sistema, debe suponer que todos los gráficos se representarán mediante software sin aceleración de hardware. La funcionalidad de este nivel corresponde a una versión de DirectX inferior a 9.0.

Nivel de representación 1 y nivel de representación 2

Nota

A partir de .NET Framework 4, el nivel de representación 1 se ha redefinido para incluir solo hardware gráfico que admita DirectX 9.0 o posterior. Ahora, el hardware gráfico que admite DirectX 7 u 8 se define con un nivel de representación 0.

Un valor de nivel de representación de 1 o 2 significa que la mayoría de las características gráficas de WPF utilizará la aceleración de hardware si los recursos necesarios del sistema están disponibles y no se han agotado. Esto corresponde a una versión de DirectX mayor o igual que 9.0.

En la tabla siguiente se muestran las diferencias en cuanto a requisitos de hardware gráfico de los niveles de representación 1 y 2:

Característica Nivel 1 Nivel 2
Versión de DirectX Debe ser mayor o igual que 9.0. Debe ser mayor o igual que 9.0.
RAM de vídeo Debe ser mayor o igual que 60 MB. Debe ser mayor o igual que 120 MB.
Sombreador de píxeles El nivel de versión debe ser mayor o igual que 2.0. El nivel de versión debe ser mayor o igual que 2.0.
Sombreador de vértices Sin requisito. El nivel de versión debe ser mayor o igual que 2.0.
Unidades multitextura Sin requisito. El número de unidades debe ser mayor o igual que 4.

Las siguientes características y funcionalidades se aceleran mediante hardware para el nivel de representación 1 y el nivel de representación 2:

Característica Notas
Representación 2D Se admite la mayoría de la representación 2D.
Rasterización 3D Se admite la mayoría de la rasterización 3D.
Filtrado anisotrópico 3D WPF intenta utilizar el filtrado anisotrópico al representar contenido 3D. El filtrado anisotrópico se refiere a la mejora de la calidad de imagen de las texturas en superficies que están lejos y significativamente en ángulo con respecto a la cámara.
Asignación MIP para 3D WPF intenta utilizar la asignación MIP al representar contenido 3D. La asignación MIP mejora la calidad de representación de las texturas cuando una textura ocupa un campo de vista más pequeño en un elemento Viewport3D.
Degradados radiales Si bien se admiten, evite usar RadialGradientBrush en objetos grandes.
Cálculos de iluminación 3D WPF realiza la iluminación por vértices, lo que significa que debe calcularse una intensidad de luz en cada vértice para cada material aplicado a una malla.
Representación de texto La representación de fuentes por debajo del nivel de píxel utiliza sombreadores de píxeles disponibles en el hardware gráfico.

Las siguientes características y funcionalidades se aceleran mediante hardware para el nivel de representación 2 únicamente:

Característica Notas
Suavizado de contorno 3D El suavizado de contorno 3D solo se admite en sistemas operativos que admiten Windows Display Driver Model (WDDM), como Windows Vista y Windows 7.

Las siguientes características y funcionalidades no se aceleran mediante hardware :

Característica Notas
Contenido impreso Todo el contenido impreso se representa utilizando la canalización de software de WPF.
Contenido rasterizado que usa RenderTargetBitmap Cualquier contenido representado mediante el método Render de RenderTargetBitmap.
Contenido en mosaico que usa TileBrush Cualquier contenido en mosaico en el que la propiedad TileMode de TileBrush esté establecida en Tile.
Superficies que superan el tamaño máximo de textura del hardware gráfico Para la mayoría del hardware gráfico, las superficies grandes tienen un tamaño de 2048 × 2048 o 4096 × 4096 píxeles.
Cualquier operación cuyos requisitos de RAM de vídeo superen la memoria del hardware gráfico Puede supervisar el uso de RAM de vídeo de las aplicaciones mediante la herramienta Perforator que se incluye en WPF Performance Suite en el SDK de Windows.
Ventanas superpuestas Las ventanas superpuestas permiten que las aplicaciones de WPF representen contenido en la pantalla en una ventana no rectangular. En los sistemas operativos que admiten Windows Display Driver Model (WDDM), como Windows Vista y Windows 7, las ventanas superpuestas se aceleran mediante hardware. En otros sistemas, como Windows XP, las ventanas superpuestas se representan con software, sin aceleración de hardware.

Puede habilitar las ventanas superpuestas en WPF estableciendo las siguientes propiedades Window:

- WindowStyle = None
- AllowsTransparency = true
- Background = Transparent

Otros recursos

Los siguientes recursos pueden ayudarle a analizar las características de rendimiento de la aplicación de WPF.

Configuración del Registro en la representación de gráficos

WPF proporciona cuatro parámetros de configuración del Registro para controlar la representación de WPF:

Configuración Descripción
Opción de deshabilitación de aceleración de hardware Especifica si se debe habilitar la aceleración de hardware.
Valor máximo de muestreo múltiple Especifica el grado de muestreo múltiple para el suavizado de contorno del contenido 3D.
Configuración obligatoria de fecha del controlador de vídeo Especifica si el sistema deshabilita la aceleración de hardware para los controladores publicados antes de noviembre de 2004.
Opción de uso del rasterizador de referencia Especifica si WPF debe utilizar el rasterizador de referencia.

Es posible acceder a estos parámetros mediante una utilidad de configuración externa que pueda hacer referencia a la configuración del Registro de WPF. Estos valores de configuración también se pueden crear o modificar accediendo directamente a los valores a través del Editor del Registro de Windows. Para obtener más información, consulte Configuración del Registro en la representación de gráficos.

Herramientas de generación de perfiles de rendimiento para WPF

WPF ofrece un conjunto de herramientas de generación de perfiles de rendimiento que le permiten analizar el comportamiento en tiempo de ejecución de la aplicación y determinar los tipos de optimizaciones de rendimiento que puede aplicar. En la tabla siguiente se muestran las herramientas de generación de perfiles de rendimiento que se incluyen en la herramienta de Windows SDK, WPF Performance Suite:

Herramienta Descripción
Perforator Se utiliza para analizar el comportamiento de representación.
Visual Profiler Se utiliza para la generación de perfiles de uso de los servicios de WPF, tales como el diseño y el control de eventos, mediante elementos del árbol visual.

WPF Performance Suite proporciona una vista gráfica enriquecida de los datos de rendimiento. Para obtener más información acerca de las herramientas de rendimiento de WPF, consulte WPF Performance Suite.

Herramienta de diagnóstico de DirectX

La herramienta de diagnóstico de DirectX, Dxdiag.exe, está diseñada para facilitar la solución de problemas relacionados con DirectX. La carpeta de instalación predeterminada de la herramienta de diagnóstico de DirectX es:

~\Windows\System32

Al ejecutar la herramienta de diagnóstico de DirectX, la ventana principal contiene un conjunto de pestañas que permiten mostrar y diagnosticar información relacionada con DirectX. Por ejemplo, la pestaña Sistema proporciona información del sistema acerca del equipo y especifica la versión de DirectX que está instalada en el equipo.

Captura de pantalla: Herramienta de diagnóstico de DirectX
Ventana principal de la Herramienta de diagnóstico de DirectX

Vea también