Tengo una ventana WPF que contiene una imagen elegante con aproximadamente 200 controles (derivados de botones), todos usan una de mis 5 plantillas (rutas, efectos de sombra, etc.) De acuerdo, es una ventana difícil de dibujar. Puedo vivir con ello.Problema de rendimiento WPF al cambiar el tamaño de la ventana con muchos controles
Mi problema proviene del cambio de tamaño de la ventana. Maximizar/restaurar toma aproximadamente 1-2 segundos, pero al arrastrar manualmente la esquina inferior izquierda, el sistema se cuelga durante aproximadamente 5-10 segundos. En ese retraso, la ventana es negra & contiene restos parciales hasta que se muestre el resultado final. Parece amateur y que, no puedo vivir.
Conexión remota: usando una cuenta remota, encontré que el tamaño de la ventana siempre toma 1-2 segundos, pero no dibuja las etapas "intermedias" mientras estoy arrastrando los bordes de la ventana. El resultado es tan rápido como podría esperar.
Mi conclusión es esta: es el redraws durante el cambio de tamaño que son los cuellos de botella.
La pregunta inevitable es esta: ¿cómo puedo evitar volver a dibujar la ventana hasta que el cambio de tamaño haya finalizado?
Gracias de antemano por cualquier idea ...
1 Para una buena pregunta a pesar de tener 200 controles que no es bueno. :) –
Gracias;) Parece un mal diseño, pero en realidad es una interfaz muy compleja. Ciencia de cohetes, por así decirlo. – Seb
"La pregunta inevitable es: ¿cómo puedo evitar volver a dibujar la ventana hasta que termine el cambio de tamaño?" escritorio -remote ;-) – Firoso