Domanda

Ho una pagina con 6 grafici dojox.charting.Chart2d che funziona bene in tutti i browser tranne IE.In IE8, i grafici richiedono più di un minuto da caricare.

La profilazione mostra che per gran lunga la maggior parte del tempo viene consumata da dojo._getMarginBox: 57 chiamate richiede tra 48 e 66 secondi.

    .
  1. ha chiunque altro abbia esperienza con questo?
  2. ha chiunque altro ha ricevuto suggerimenti (oltre a sbarazzarsi di cioè, che purtroppo non è un'opzione)?
È stato utile?

Soluzione

Va bene, lo scacciamo.Il problema era che Dojo._getMarginBox è stato malvagio lento, circa 850 ms / chiamata.Mentre ero la profilatura e cerca i suggerimenti, qualcun altro è andato il codice HTML (ammessolmente crufty), e lo ha ripulito, compresa la chiusura di alcuni blocchi non chiarati e simili.

Prestazioni immediatamente migliorate di un fattore di circa 5.

L'ipotesi di lavoro ora è che IE8 è un mucchio di immondizia inefficiente nel trovare la casella racchiudente se deve affrontare alberi Dom non canonici.

Ciò ha anche migliorato le prestazioni in Chrome e Firefox, almeno su Linux.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top