Pregunta

Estoy desarrollando una aplicación usando WPF.La aplicación se ejecuta en pantalla completa y necesito que cambie su tamaño sin importar la resolución del monitor.El diseñador gráfico ha diseñado hermosas imágenes para los botones, fondos, etc. de la interfaz de usuario.Utilizando un complemento de Illustrator, todas las imágenes se han convertido a archivos xaml.Agregué todas estas imágenes a la aplicación y se ven geniales.También estoy usando mucho Grid diseños para que la pantalla pueda cambiar de tamaño manteniendo el diseño.Todo esto se muestra como se desea, nada parece estirado cuando se ejecuta a una resolución diferente.Sin embargo, las transiciones de pantalla y la interacción con la interfaz de usuario son lentas.

Me pregunto: ¿esto se debe al uso intensivo de gráficos?¿Estoy usando demasiados? Grid diseños?Pero necesito el Grids para que pueda tener independencia de resolución.

La aplicación funciona bien en mi máquina de desarrollo, pero es notablemente más lenta en una máquina con menores capacidades de rendimiento.Sí, esto es de esperarse, pero no en la medida que estoy viendo.Mi empleador insiste en que la aplicación se ejecuta sin problemas en estas máquinas de menor rendimiento.

He creado algunos perfiles de la aplicación y parece que lo que lleva más tiempo es la visualización (aunque no estoy seguro de entender completamente cómo usar un generador de perfiles de manera efectiva).

Si es WPF el que está provocando la desaceleración, ¿qué puedo hacer para mejorarlo?

Otros consejos

  1. Convierta sus imágenes vectoriales XAML de botones en imágenes PNG transparentes.La ruta y las formas son muy difíciles de renderizar, calcular y cambiar de tamaño.Principalmente después de la implementación, las imágenes nunca cambian; es mejor tenerlas como rasterizadas y luego como vectoriales, a menos que desee realizar una animación fluida con cambios de forma, tamaño u otros atributos.

  2. Las cuadrículas son administradores de diseño muy costosos en comparación con Canvas y DockPanel.Ciertamente, a veces puedes pensar en reemplazar ciertas rejillas con DockPanel, pero sí, no es una solución fácil y requiere mucha lluvia de ideas.

  3. Evite el panel con un solo niño.Intente reducir la jerarquía visual.

  4. Utilice más tamaños fijos para botones y elementos tan pequeños; si especifica tamaños fijos de elementos secundarios, será más fácil para los paneles realizar el procesamiento de diseño.

WPF rendimiento depende en gran medida de la calidad de la tarjeta de vídeo en la máquina más que el procesador / memoria. tarjeta de video mala = mal desempeño de WPF.

Bueno, esto es un tiro largo : cuando he instalado VSTS 2010 (y utiliza WPF) era muy lento en un servidor Windows 2008 con suficiente CPU / memoria , y muy rápido en un cuaderno más modesto. Hemos conseguido desactivar la aceleración de hardware y se convirtió rápidamente en particular esa máquina.

Tal vez usted quiere probar esta configuración, ya que es muy sencillo: Visual Studio 2010 Beta 2 rendimiento editor de corrección que se ejecuta en una máquina virtual

En general, WPF se perfoming mucho peor en el rendimiento del dibujo de las formas de Windows, y GDI nativo o DirectX.

Sí, WPF es de gran alcance en el sentido de que puede hacer un poco de cosas muy buenas que no es compatible con GDI, pero es más lento.

Si tiene mucho que ver el dibujo, y quiere apoyarlo en hardware lento, y luego WPF no es una buena opción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top