ladybird/UI/AppKit/Interface
Luke Wilde 0e958ca8d5 LibWebView+UI/AppKit: Present IOSurfaces directly
Instead of copying the Bitmap that wraps the IOSurface, we can just
present the IOSurface directly. This significantly reduces CPU usage in
the UI process, particularly at high refresh rates such as 120Hz where
it would saturate a full CPU core.

This is done by using CAMetalLayer and blitting the IOSurface to the
next drawable buffer, which handles triple buffering, locking the
IOSurface and vsync automatically. This also allows the Metal HUD to
work, but the only accurate stat is the frame intervals/FPS because
it's in the UI layer, not WebContent. However, that's still useful
to detect frame drops.
2026-02-16 14:57:17 +00:00
..
Autocomplete.h UI/AppKit: Implement an autocomplete view for the location bar 2025-04-02 08:52:45 -04:00
Autocomplete.mm UI/AppKit: Prevent autocomplete popover from stealing focus 2025-11-24 11:49:24 +01:00
Event.h Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
Event.mm LibWeb+UI: Support triple clicking and dragging paragraphs 2026-02-06 14:18:10 +00:00
InfoBar.h Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
InfoBar.mm Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
LadybirdWebView.h UI/AppKit: Request closure instead of always force closing tabs 2026-02-14 23:26:10 +00:00
LadybirdWebView.mm LibWebView+UI/AppKit: Present IOSurfaces directly 2026-02-16 14:57:17 +00:00
LadybirdWebViewBridge.cpp LibWebView+UI/AppKit: Present IOSurfaces directly 2026-02-16 14:57:17 +00:00
LadybirdWebViewBridge.h LibWebView+UI/AppKit: Present IOSurfaces directly 2026-02-16 14:57:17 +00:00
LadybirdWebViewWindow.h Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
LadybirdWebViewWindow.mm Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
Menu.h LibWebView+UI/AppKit: Display icons in the macOS UI on Tahoe 2025-09-17 11:29:01 +01:00
Menu.mm LibWebView+UI: Add a context menu item to download images 2026-02-05 07:27:34 -05:00
Palette.h Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
Palette.mm LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
SearchPanel.h Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
SearchPanel.mm Everywhere: Move the Ladybird folder to UI 2024-11-10 12:50:45 +01:00
Tab.h UI/AppKit: Remove the built-in Inspector widget 2025-03-15 19:09:40 +01:00
Tab.mm LibWebView+UI: Add an Application method to open a URL in a new tab 2025-09-18 07:27:24 -04:00
TabController.h LibWebView+UI: Add an Application method to open a URL in a new tab 2025-09-18 07:27:24 -04:00
TabController.mm UI/AppKit: Request closure instead of always force closing tabs 2026-02-14 23:26:10 +00:00