Cuando trabajamos con WPF y aplicamos toda la potencia grafica que tiene, tenemos que tener cuidado con los equipos donde se va a distribuir la aplicación, porque una buena aplicación puede quedar en nada si el equipo donde se instala no es capaz de “moverla” adecuadamente, aparte de tener un buen procesador y memoria uno de los elementos mas importantes es la tarjeta grafica del equipo.
WPF categoriza en tres tipos las tarjetas graficas para decidir como va a renderizar la aplicación, para ello tiene en cuenta factores como:
- Cantidad de RAM de la tarjeta grafica
- Si soporta pixel shaders
- Si soporta vertex shaders
- ….
Basado en estos factores establece la clasificación de la tarjeta grafica en:
Rendering Tier 0: La tarjeta grafica no provee ninguna aceleración hardware, esto corresponde a a una versión menor a DirectX 7.0 y renderizara la aplicación por software perdiendo bastante rendimiento
Rendering Tier 1:La tarjeta grafica nos provee de aceleración hardware parcial. Corresponde a una versión de DirectX mayor que 7 pero menor que 9.
Rendering Tier 2:La tarjeta grafica nos provee de aceleración hardware. Corresponde a una versión de DirectX igual o superior a 9. Vamos a tener el mejor rendimiento para nuestra aplicación WPF
Podemos averiguar por código a que grupo pertenece la tarjeta grafica del PC que esta ejecutando nuestra aplicación y tomar medidas como sacar mensajes de advertencia, cambiar los estilos por unos mas sencillos…
Para ello utilizamos la clase System.Windows.Media.RenderCapability y podemos coger a que clase pertenece nuestra tarjeta
1: int renderingTier = (RenderCapability.Tier >> 16);
2: if (renderingTier == 0)
3: { ... }
4: else if (renderingTier == 1)
5: { ... }
Para mas información podéis consultar este enlace de MSDN http://msdn2.microsoft.com/en-gb/library/ms742196.aspx
Cuando trabajamos con WPF y aplicamos toda la potencia grafica que tiene, tenemos que tener cuidado con