2012-01-28 13 views
5

Estoy tratando de cargar un archivo HTML de aproximadamente 2MB (1927KB por razones de precisión) en un JEditorPane, y toma alrededor de 65 segundos, parece ser un error del JTextPane/JEditorPane , he leído también varios artículos en la web como this one, pero no pude encontrar una solución ...JEditorPane setText 2MB HTML ---> Terrible Performance !!! (65 segundos)

Aquí está el código que yo uso:

final String htmlContent = //Load a 2MB String 
previewPane.setContentType("text/html; charset=UTF-8");  
previewPane.setText(htmlContent); 

el método setText toma alrededor de 65 segundos para conseguir completamente ejecutado como se puede ver en el registro de mi aplicación:

Set the html content(1927KB) of the Preview pane, loading time=68230ms 
Set the html content(1927KB) of the Preview pane, loading time=62693ms 
Set the html content(1927KB) of the Preview pane, loading time=66583ms 

¿Hay alguna manera de resolver este problema?

unos 65 segundos para cargar 2 MB de texto es una terrible actuación en un 2,93 GHz Intel Core 2 Duo con 8 GB de memoria RAM DDR 3 ...

+0

'// Cargar una cadena de 2MB (leer los próximos 3 tiempos de vida)' ¿Qué caso de uso justifica la carga de casi 2MB de HTML? –

+0

Es un contenido de un informe que quiero mostrar en un Panel de Vista Previa, el archivo de 2MB no es tan grande ... – aleroot

+0

Esa es una gran cantidad de HTML. Recuerde que debe ser procesado. Entonces, incluso si 2MB no parece mucho, después de procesar y crear todos los componentes de la GUI, la huella de memoria puede ser bastante grande. Intente abrir su HTML de 2MB con un navegador u otro editor HTML y compare el rendimiento ... –

Respuesta

3

pueden ser algunos de los trucos ayudan http://java-sl.com/JEditorPanePerformance.html

+0

Ya he intentado con estos trucos pero mejoran solo la fase de renderizado pero no la fase de carga (seText) ... En mi Pregunta he especificado que ya he probado esos trucos ... – aleroot

+0

What sucede si carga solo Documento? ¿Cuánto tiempo necesitas para cargar el documento recién creado puro? ¿Cuánto tiempo necesita para procesar el documento llamando a textPane.setDocument (docInstance)? – StanislavL

+0

Establezca el contenido html (1927 KB) en el panel Vista previa, cargando el tiempo = 109051 ms Es peor. – aleroot