HTML layout caching
Texto HTML, rendimiento, diseño de página
Descripción
Los métodos de medición y dibujo HTML comparten automáticamente planes de composición almacenados en caché y acotados en cada pintor
Una primera solicitud analiza la fuente, resuelve CSS, calcula la geometría de líneas, Flexbox, Grid, tablas y notas al pie, y registra las operaciones resultantes de texto, imagen, borde, fondo y enlace sin escribir en el flujo de contenido de la página
Una solicitud de dibujo coincidente reproduce esas operaciones en la posición solicitada en vez de volver a analizar o medir el HTML
Métodos afectados
GetHTMLTextHeightGetHTMLTextWidthGetHTMLTextLineCountDrawHTMLTextDrawHTMLTextBoxDrawHTMLTextMatrixDrawHTMLTextBoxMatrix
Identidad de caché
Los planes se comparan por el código fuente HTML completo, el ancho disponible, la altura de continuación opcional, el conjunto de fuentes, el espaciado de texto, las reglas de etiquetas equivalentes, las identidades y dimensiones de imágenes vinculadas y el modo de kerning
La posición de dibujo se excluye deliberadamente, por lo que un plan medido se puede reproducir en varias ubicaciones sin cambiar los saltos de línea
Cambiar una fuente HTML, una vinculación de imagen o una regla de etiqueta equivalente borra los planes que podrían conservar referencias de objeto obsoletas
Límites y desalojo
Cada pintor conserva como máximo ocho planes usados recientemente y normalmente limita su memoria estimada a 32 MiB
Un único plan mayor que el objetivo de memoria permanece disponible para su dibujo inmediato y se reemplaza con actividad posterior, evitando una caché no limitada para todo el documento
Seguridad de las mediciones
La medición registra fondos con estilo, bordes de tabla, imágenes y vínculos como operaciones diferidas y no los agrega a la página seleccionada
Los resultados de continuación de DrawHTMLTextBox se almacenan con el mismo plan restringido por altura que se reproduce