mirror of
https://github.com/SerenityOS/serenity
synced 2024-07-21 18:15:58 +00:00
![]() Previously, every time a page switched fonts, we'd completely re-parse the font. Now, we cache fonts in Renderer, effectively caching them per page. It'd be nice to have an LRU cache across pages too, but that's a bigger change, and this already helps a lot. Font size is part of the cache key, which means we re-parse the same font at different font sizes. That could be better too, but again, it's a big help as-is already. Takes rendering the 1310 pages of the PDF 1.7 reference with Build/lagom/bin/pdf --debugging-stats \ ~/Downloads/pdf_reference_1-7.pdf from 71 s to 11s :^) Going through pages especially in the index is noticeably snappier. (On the PDF 2.0 spec, ISO_32000-2-2020_sponsored.pdf, it's less dramatic: From 19s to 16s.) |
||
---|---|---|
.. | ||
Applets | ||
Applications | ||
BuggieBox | ||
Demos | ||
DevTools | ||
DynamicLoader | ||
Games | ||
Libraries | ||
Services | ||
Shell | ||
Utilities | ||
CMakeLists.txt |