WPF: Rendimiento vs BitmapEffects

Si llevais algún tiempo experimentando con Windows Presentation Foundation, habréis descubierto los BitmapEffects, que no son más que efectos prediseñados que podemos aplicar a los elementos de nuestra interfaz para mejorar el aspecto visual de nuestras aplicaciones.

Pero no todo son buenas noticias, como todo en el desarrollo software, los BitmapEffects tienen una implicación en el uso abusibo dentro de la interfaz, y esta implicación es de rendimiento.

Los BitmapEffects producen un decrecimento en el rendimiento general de nuestra aplicación cuando no se controla su uso, ya que estos fuerzan el renderizado software de los controles que hacen uso de ellos y de todos los elemntos que estén contenidos en su jerarquía de objetos.

El procesado de pixeles para los BitmapEffects ha sido llevado a cabo en código no gestionado y para unirlo al resto de características de .NET 3.0 se hace uso de un pequeño Wrapper. Podéis ver algo más de este tema en este enlace así com descubrir cómo realizar nuestros propios BitmapEffects.

sshot-4

Otra de las implicaciones a tener en cuenta en los BitmapEffects es que no pueden usarse en una aplicación que se ejecute sobre confiabilidad parcial (Partial Trust), por lo que no podremos hacer uso de ellos en nuestras aplicaciones XBAP.

El equipo de producto está buscando introducir cambios en la siguiente versión de WPF para que se pueda hacer uso de BitmapEffects y de la aceleración Hardware desde una aplicación ejecutada en confiabilidad parcial. Estas dos opciones han sido de las más demandadas por la comunidad.

Comparte este post: