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

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