HTML layout caching

HTML-text, Prestanda, Sidlayout

Beskrivning

HTML-mätning och ritning delar automatiskt avgränsade cachade layoutplaner per renderare

En första begäran tolkar källan, löser CSS, beräknar geometrin för rader, Flexbox, Grid, tabeller och fotnoter och registrerar de resulterande text-, bild-, ram-, bakgrunds- och länkoperationerna utan att skriva till sidans innehållsström

En första förfrågan parsar källan, löser CSS, beräknar rad-, Flexbox-, Grid-, tabell- och fotnotsgeometri samt spelar in de resulterande text-, bild-, ram-, bakgrunds- och länkoperationerna utan att skriva till sidans innehållsströmEn matchande ritbegäran spelar upp de operationerna på den begärda positionen i stället för att parsa eller mäta HTML:en igen

Berörda metoder

Cacheidentitet

Planer matchas via den fullständiga HTML-källan, tillgänglig bredd, valfri fortsättningshöjd, typsnittsuppsättning, textmellanrum, likvärdiga-tagg-regler, bundna bildidentiteter och dimensioner samt kerning-lägetRitpositionen medvetet utesluts, så en uppmätt plan kan spelas upp på flera platser utan att radbrytningar ändras

Att ändra ett HTML-typsnitt, en bildbindning eller en likvärdig-tagg-regel rensar planer som kunde behålla inaktuella objektreferenserGränser och borttagningVarje renderare behåller högst nyligen använda planer och begränsar normalt deras uppskattade minne till 32 MiB

En enskild plan som är större än minnesmålet hålls kvar för sitt nästkommande ritande och ersätts av senare aktivitet, vilket undviker ett obegränsat dokumentövergripande cache

Mätsäkerhet

Mätning spelar in formaterade bakgrunder, tabellramar, bilder och länkar som uppskjutna operationer och lägger dem inte till den valda sidan

En enskild plan som är större än minnesmålet finns kvar för sitt omedelbara uppritande och ersätts av senare aktivitet, vilket undviker en obegränsad dokumentomfattande cache

Säkerhet vid mätning

Mätningen registrerar formaterade bakgrunder, tabellramar, bilder och länkar som uppskjutna operationer och fogar dem inte till den valda sidan

Fortsättningsresultat från DrawHTMLTextBox lagras med samma höjdbegränsade plan som spelas upp