Pregunta

Tengo una página con 6 gráficos dojox.charting.Chart2d que funciona bien en todos los navegadores excepto IE.En IE8, las tablas tardan más de un minuto para cargar.

El perfil muestra que, con mucho, la mayoría de los tiempos se consume por dojo._getMarginBox: 57 llamadas llevan entre 48 y 66 segundos.

  1. ¿Alguien más tiene experiencia con esto?
  2. ¿Alguien más tiene alguna sugerencia (además de deshacerse de IE, que tristemente no es una opción)?
¿Fue útil?

Solución

Está bien, lo excavamos.El problema fue que Dojo._GetMarginBox fue lento, aproximadamente 850 ms / llamada.Mientras estaba perfilado y buscaba sugerencias, alguien más fue el código HTML (ciertamente CRUFTY), y lo limpió, incluido el cierre de algunos bloques no cerrados y similares.

El rendimiento mejoró instantáneamente por un factor de aproximadamente 5.

La hipótesis de trabajo ahora es que IE8 es una pila de basura ineficiente en encontrar la casilla de encierro si tiene que lidiar con los árboles DOM no canónicos.

Esto también mejoró el rendimiento en Chrome y Firefox, al menos en Linux.

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