Renderer: Implement new render scheduling (#10936)

Implements a new render scheduling method, where we triple buffer when necessary.

Enabled by default, improves FPS on underpowered devices.

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
This commit is contained in:
Vaxry 2025-07-08 12:41:10 +02:00 committed by GitHub
parent 9856563f89
commit 8f948827a6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 209 additions and 84 deletions

View file

@ -51,7 +51,7 @@ class CHyprRenderer {
CHyprRenderer();
~CHyprRenderer();
void renderMonitor(PHLMONITOR pMonitor);
void renderMonitor(PHLMONITOR pMonitor, bool commit = true);
void arrangeLayersForMonitor(const MONITORID&);
void damageSurface(SP<CWLSurfaceResource>, double, double, double scale = 1.0);
void damageWindow(PHLWINDOW, bool forceFull = false);
@ -156,6 +156,7 @@ class CHyprRenderer {
friend class CInputManager;
friend class CPointerManager;
friend class CMonitor;
friend class CMonitorFrameScheduler;
};
inline UP<CHyprRenderer> g_pHyprRenderer;