1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 17:28:11 +00:00
serenity/Userland
Nico Weber 27e369cd19 LibGfx/ICC: Add a one-element cache for CLUT conversions
Our current CLUT code is pretty slow. A one-element cache can make
it quite a bit faster for images that have long runs of a single
color, such as illustrations.

It also seems to help with photos some (in `0000711.pdf` page 1) --
I suppose even them have enough repeating pixels for it to be worth
it.

Some numbers, with `pdf --render-bench`:

`0000711.pdf --page 1` (high-res photo)
before: 2.9s
after: 2.43s

`0000277.pdf --page 19` (my nemesis PDF, large-ish illustration)
before: 2.17s
after: 0.58s (!)

`0000502.pdf --page 2` (wat hoe dat)
before: 0.66s
after: 0.27s

`0000521.pdf --page 10 ` (japanese)
before: 0.52s
after: 0.29s

`0000364.pdf --page 1` (4 min test case)
before: 0.48s
after: 0.19s

Thanks to that last one, reduces the time for
`time Meta/test_pdf.py ~/Downloads/0000` from 4m22s to 1m28s.

Helps quite a bit with #23157 (but high-res photos are still too
slow).
2024-02-19 07:16:05 +00:00
..
Applets ClipboardHistory: Be more careful about the history limit 2024-02-08 13:46:12 +00:00
Applications Userland: Use MUST() to unwrap String values 2024-02-14 17:46:06 -05:00
BuggieBox checksum: Add support for BLAKE2b 2023-09-17 16:49:35 +03:30
Demos Userland: Propagate errors with TRY() where possible 2024-02-14 17:46:06 -05:00
DevTools Userland: Propagate errors with TRY() where possible 2024-02-14 17:46:06 -05:00
DynamicLoader LibC: Separate arch dependent fenv functions 2024-01-22 20:06:09 -07:00
Games FlappyBug: Allow shortcuts for quitting and help 2024-02-19 00:09:34 +01:00
Libraries LibGfx/ICC: Add a one-element cache for CLUT conversions 2024-02-19 07:16:05 +00:00
Services LibWeb+WebContent: Remove "Painting" prefix from command executor names 2024-02-18 18:45:25 +01:00
Shell Shell: Don't escape display/trailing texts when completing via programs 2024-02-07 00:43:11 +01:00
Utilities pdf: Add a --render-bench option 2024-02-19 07:16:05 +00:00
CMakeLists.txt Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00