HTML layout caching

HTML 文本、性能、页面布局

描述

HTML 测量和绘制方法会在每个绘制器上自动共享有界缓存布局计划

首次请求会解析源内容、解析 CSS、计算行、Flexbox、Grid、表格和脚注几何信息,并记录生成的文本、图像、边框、背景和链接操作,而不写入页面内容流

匹配的绘制请求会在请求位置重放这些操作,而不是再次解析或测量 HTML

受影响的方法

缓存标识

计划会按完整 HTML 源、可用宽度、可选延续高度、字体集、文本间距、等效标签规则、绑定图像标识和尺寸以及字距调整模式匹配

绘制位置被有意排除,因此同一个测量计划可在多个位置重放而不会改变换行

更改 HTML 字体、图像绑定或等效标签规则会清除可能保留过时对象引用的计划

边界和逐出

每个绘制器最多保留八个最近使用的计划,且通常将其估计内存限制为 32 MiB

超过内存目标的单个计划仍可立即用于绘制,并会由后续活动替换,避免形成无界的全局文档缓存

测量安全性

测量会将带样式背景、表格边框、图像和链接记录为延迟操作,并且不会将它们附加到选定页面

DrawHTMLTextBox 的续页结果会与同一高度受限布局方案一同保存,以供重放