Open
Description
Profiling shows that the majority of the time spent in WR (on real pages) is in producing text runs (dealing with the glyph cache primarily).
It's also often the case that when WR receives a new DL, the majority of the text runs are actually the same as in the previous DL.
If we could identify text runs that are the same across DLs (e.g. hash the string, font options, etc) and cache these in FBOs, I think we could drastically reduce the CPU time both when scrolling, and also when receiving new display lists.
If the calling code was able to provide a unique identifier for a text run (perhaps it already has such information or can easily generate it?) that was consistent across display lists, this could be even faster.