ladybird/Userland
Jelle Raaijmakers 634d1e0197 LibGUI+WindowServer: Improve window resizing performance
The old `GUI::Window` resizing behavior created a new backing store for
each resize event (i.e. every visible window size). This caused a lot of
trashing and on my machine, caused up to 25% of CPU time spent in
creating new backing stores.

The new behavior is a bit more sensible:

  * If the window size is shrinking, the backing store is already large
    enough to contain the entire window - so we don't create a new one.

  * If the window size is growing, as soon as the backing store can no
    longer contain the window, it is inflated with a large margin (of an
    arbitrary chosen 64 pixels) in both directions to accommodate some
    leeway in resizing before an even larger backing store is required.

  * When the user stops resizing the window, the backing store is
    resized to the exact dimensions of the window.

For me, this brings the CPU time for creating backing stores down to 0%.
2023-01-17 18:16:02 +01:00
..
Applets ClipboardHistory: Add a Clear history action 2023-01-15 19:19:06 +01:00
Applications PixelPaint: Preserve layer location when copying layers 2023-01-17 00:36:01 +01:00
BuggieBox Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00
Demos WidgetGallery: Use the non-deprecated API of LibFileSystemAccessClient 2023-01-15 16:39:12 +00:00
DevTools AK: Add support for "debug only" formatters 2023-01-13 21:09:26 +00:00
DynamicLoader Everywhere: Remove "LibC/" includes, add lint-rule against it 2023-01-07 10:01:37 -07:00
Games Spider: Confirm ending the current game in more situations 2023-01-15 11:59:59 -05:00
Libraries LibGUI+WindowServer: Improve window resizing performance 2023-01-17 18:16:02 +01:00
Services LibGUI+WindowServer: Improve window resizing performance 2023-01-17 18:16:02 +01:00
Shell Shell: Use AllocatingMemoryStream to search for the IFS 2023-01-14 00:33:35 +03:30
Utilities ls: Add an option to print the human readable sizes in powers of 10 2023-01-15 19:12:19 +01:00
CMakeLists.txt Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00