HTML layout caching

Texte HTML, performances, disposition des pages

Description

Les méthodes de mesure et de tracé HTML partagent automatiquement des plans de mise en page bornés et mis en cache sur chaque moteur de tracé

Une première requête analyse la source, résout le CSS, calcule la géométrie des lignes, Flexbox, Grid, tables et notes de bas de page, puis enregistre les opérations de texte, d’image, de bordure, d’arrière-plan et de lien obtenues sans écrire dans le flux de contenu de la page

Une demande de dessin correspondante rejoue ces opérations à la position demandée au lieu d'analyser ou de mesurer à nouveau le HTML

Méthodes concernées

Identité du cache

Les plans correspondent selon le HTML complet, la largeur disponible, la hauteur de continuation, les polices, l'espacement, les règles de balises, les images liées et le mode de crénage

La position de dessin est délibérément exclue, afin qu'un plan mesuré puisse être rejoué à plusieurs endroits sans modifier les sauts de ligne

La modification d'une police HTML, d'une liaison d'image ou d'une règle de balise équivalente efface les plans susceptibles de conserver des références d'objet obsolètes

Limites et éviction

Chaque moteur de tracé conserve au maximum huit plans récemment utilisés et limite normalement leur mémoire estimée à 32 Mio

Un plan unique dépassant la cible mémoire reste disponible pour son dessin immédiat puis est remplacé par l'activité suivante, évitant un cache documentaire illimité

Sécurité des mesures

La mesure enregistre les arrière-plans stylés, bordures de tableau, images et liens comme opérations différées et ne les ajoute pas à la page sélectionnée

Les résultats de continuation de DrawHTMLTextBox sont enregistrés avec le même plan contraint en hauteur qui est rejoué