2011-06-09 8 views
5

Cuándo deberíamos usar imágenes (jpg, png) y cuándo deberíamos usar XAML en una aplicación.WPF Imágenes contra XAML

imagen

+ "easy" for the designer to create what he wants 
+ are displayed the same on every computer 
- fixed resolution 

XAML

+ vector format (resolution independent, resize able, ...) 
+ can be animated 
+/- rendered by the client 
- not as many effects available as for images or are really complex to create 
- complex visual tree 

no pude encontrar cualquier fuente, que compara el uso de recursos (CPU, RAM) entre las imágenes y XAML.

Personalmente creo que todo debe ser XAML, pero no quiero tener una aplicación que sea lenta como el infierno. ¿Hay alguna buena guía de rendimiento para usar dibujos XAML?


investigando este He leído que usted debe tener todo en XAML y luego usar para crear imágenes estáticas en la demanda, pero de acuerdo con esta article que hará que la ventana para ser interpretado sin aceleración de hardware. Entonces me pregunto si realmente es una mejora para el rendimiento. Ignorando el hecho de que es mucho más trabajo para el codificador.

+0

Si tiene un hardware moderno, no me preocupe. XAML podría ser aún más rápido porque tiene menos disco IO –

+0

No veo cómo una imagen podría reemplazar a XAML. Las imágenes son estáticas y no interactivas ... –

+0

Supongo que hablaba de iconos, botones, específicamente en el caso en que no son interactivos. La carga de recursos de CPU/RAM depende de un contexto específico. Y como especificó antes, ambos tienen ventajas y desventajas ... Si solo está centrado en el consumo de recursos, estoy de acuerdo con Wouter Simons :) – metalcam

Respuesta

5

Desde su comentario: -

sólo estoy hablando de los casos en los que la imagen y xaml es intercambiable

Utilice un PNG, y punto. Solo use imágenes basadas en Xaml cuando realmente necesite las ventajas que proporciona. Puede haber excepciones de mayúsculas y minúsculas, por ejemplo, una imagen grande que se puede componer a partir de un par de sencillos caminos en Xaml. Sin embargo, también debería tener una buena razón para creer que cualquier diferencia de rendimiento es apreciable y merece la pena eliminarla. En última instancia, favorecer la simplicidad sobre la complejidad cuando los mismos resultados se pueden lograr de ambos.

+1

Podría haber eliminado su respuesta completa, guardar la última oración, y todavía sería +1. –

0

Si su artista/diseñador puede crear gráficos vectoriales y no hay degradados complejos, entonces preferiría los gráficos vectoriales. Obtienes todas las ventajas y no hay desventajas.

Y si le preocupan los árboles visuales complejos, WPF ofrece el caché de mapa de bits específicamente para este tipo de casos.

+0

En una nota lateral, Expression Blend puede importar archivos de Adobe Illustrator, lo que significa que su diseñador de gráficos puede crear gráficos vectoriales en un programa familiar que luego se procesa utilizando XAML Paths. También se encarga de importar los degradados para los pinceles. –

Cuestiones relacionadas