La aplicación WPF se cuelga cuando se usan fuentes de más de 100 ptos de tamaño

Este artículo le ayuda a resolver el problema en el que la aplicación deja de responder y se cuelga indefinidamente.

Se aplica a:   .NET Framework 3.5 Service Pack 1
Número KB original:   2712383

Síntoma

Tiene una aplicación de Microsoft .NET 3.5 Window Presentation Framework (WPF), que usa caracteres grandes o fuentes. La aplicación deja de responder y se cuelga indefinidamente.

Causa

El subproceso de interfaz de usuario de Windows Presentation Framework ha entrado en una sección crítica denominada bloqueo de composición. Mientras el subproceso de interfaz de usuario mantiene este bloqueo, debe sincronizar la comunicación con el subproceso de representación de Windows Presentation Framework. El subproceso de representación está procesando un carácter grande cuando necesita entrar en el bloqueo de composición. Dado que el subproceso de interfaz de usuario tiene el bloqueo de composición, el subproceso de representación lo espera y los subprocesos se interbloquea.

Hemos confirmado que se trata de un error en Microsoft .NET 3.5 Framework.

Solución

Este error se ha corregido en Microsoft .NET 4.0 Framework. Para evitar este error, evite usar caracteres o fuentes de gran tamaño o actualice la aplicación para que se deba a Microsoft .NET 4.0 Framework.

Más información

En el síntoma anterior, definimos grande para significar un carácter con un tamaño efectivo de 100 ptos o superior, siendo 100 ptos el umbral de error. Efectivo hace referencia a multiplicar el tamaño de fuente por cualquier transformación. El umbral tiene en cuenta las transformaciones que pueden estar en vigor y el efecto de la configuración de PPP del equipo. Por ejemplo, si usa una fuente Arial de 60 puntos dentro del ámbito de una RenderTransform que escala hacia arriba en un factor de 2, el tamaño efectivo es de 120 ptos, que supera el límite de umbral de 100 ptos.