2011-06-14 10 views
15

personas¿Es excesivamente costoso anidar excesivamente los paneles de diseño de WPF (por ejemplo, cuadrícula)?

He oído de un compañero de trabajo que yo, como diseñador que usa Microsoft Expression Blend, debería evitar el uso de anidamiento excesivo de elementos del panel, ya que son computacionalmente costosos.

Por ejemplo, tiendo a crear la ventana principal con encabezado y barra de estado personalizada con cuadrícula, y luego tomo el panel superior y pongo una grilla dentro de él, y si tengo un mensaje dentro de un rectángulo en el panel superior ya cuadriculado crear otra grilla, etc.

Como un disigner orientado a la distribución (que quiere usar cada pantalla más eficientemente sean cuales sean las dimensiones de la pantalla) sé que esta es la mejor manera de hacerlo considerando el control absoluto y la flexibilidad, que evitar que la ventana cambie el tamaño de forma "impredecible"; oP

PERO ... ... este amigo mío dijo que, si tiene, por ejemplo, cinco cuadrículas anidadas dentro En otro caso, si pasas el mouse sobre ellos, generas cinco eventos de mouse, lo cual es costoso.

Además, si tiene demasiados cálculos debido a la cantidad de contenedores que solicitan tamaños de niños antes de la representación real, también puede ser costoso.

Tenía experiencia previa con PyGtk, y debo decir que utilicé MUCHOS paneles de diseño para todos mis scripts, e incluso el cambio de tamaño de las ventanas nunca me pareció especialmente costoso, excepto cuando tenía un lienzo complejo el dibujo debe ser recalculado.

¿Alguien tiene alguna experiencia o sabe algo al respecto?

Muchas gracias por leer

Respuesta

7

No hay una respuesta directa a esta, pero obviamente los más elementos que han de participar en el diseño, el más largo the measure and arrange phases va a tomar por la ventana. Dependiendo de las características de los tipos de paneles que use, podría ser más o menos costoso, pero con seguridad, cuanto más use, más gastos generales habrá durante los cálculos de disposición. Puede obtener más información sobre cómo funciona el sistema de disposición en reading that entire MSDN article.

Al final esto es algo que, a menos que te hayas vuelto loco, a menudo no será un problema. Para saber si está causando problemas a su aplicación, sugiero usar the WPF Performance Suite para realizar algunas pruebas de rendimiento.

4

no me preocuparía por eso que gran parte, por mi parte, no tuvieron problemas con él hasta el momento. Aplica algo de sentido común, ¿qué paneles son necesarios? ¿En qué caso? ¿Realmente necesita otro panel para lograr su objetivo o no?

El artículo de MSDN sobre este tema podría ser de interés ya que explica algunas cosas que no son sencillos: Optimizing Performance: Layout and Design

+0

Aprecié mucho su enlace. Al final, no creo que las operaciones de diseño sean limitantes, especialmente considerando otro procesamiento que realizará el programa. ¡Gracias! – heltonbiker

Cuestiones relacionadas