HTML layout caching
Text HTML, výkon, rozvržení stránek
Popis
Metody měření a kreslení HTML automaticky sdílejí ohraničené uložené plány rozvržení na každém kresliči
První požadavek parsuje zdroj, rozliší CSS, vypočítá geometrii řádků, Flexbox, Grid, tabulek a poznámek pod čarou a zaznamená výsledné operace textu, obrázků, ohraničení, pozadí a odkazů, aniž by zapsal do obsahového proudu stránky
Shodný kreslicí požadavek přehraje tyto operace na požadované pozici místo nového parsování nebo měření HTML
Ovlivněné metody
GetHTMLTextHeightGetHTMLTextWidthGetHTMLTextLineCountDrawHTMLTextDrawHTMLTextBoxDrawHTMLTextMatrixDrawHTMLTextBoxMatrix
Identita cache
Plány se porovnávají podle kompletního HTML zdroje, dostupné šířky, volitelné pokračovací výšky, sady fontů, rozestupu textu, pravidel ekvivalentních značek, vázaných identit a rozměrů obrázků a režimu kerningu
Kreslicí pozice je záměrně vyloučena, takže jeden změřený plán lze přehrát na více místech, aniž by se měnily zlomy řádek
Změna HTML fontu, vazby obrázku nebo pravidla ekvivalentních značek vymaže plány, které by mohly držet zastaralé odkazy na objekty
Meze a vyřazování
Každý kreslič si uchovává nejvýše osm nedávno použitých plánů a normálně omezuje jejich odhadovanou paměť na 32 MiB
Jediný plán větší než cíl paměti zůstává k dispozici pro své bezprostřední vykreslení a je nahrazen pozdější aktivitou, čímž se zabrání neomezené cache napříč dokumentem
Bezpečnost měření
Měření zaznamenává stylovaná pozadí, ohraničení tabulek, obrázky a odkazy jako odložené operace a nepřidává je k vybrané stránce
Pokračovací výsledky z DrawHTMLTextBox se ukládají se stejným plánem omezeným na výšku, který se přehrává