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
GetHTMLTextHeightGetHTMLTextWidthGetHTMLTextLineCountDrawHTMLTextDrawHTMLTextBoxDrawHTMLTextMatrixDrawHTMLTextBoxMatrix
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