kwin/src/core
David Edmundson 10ed34bc9d Avoid painting unchanged scene layers
Currently when we move the mouse the one render loop triggers a repaint.
When the cursor layer needs a new update we end up in the compositor
repainting the main content.

Even though painting should mostly no-op it still goes through all
existing items and effects to collect damage, still potentially making
the GL context current which could stall. A waste when we know we
haven't got anything to do. It's enough to cause noticable mouse lag on
some hardware.

Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
2023-08-28 11:38:18 +00:00
..
colorlut.cpp
colorlut.h
colorpipelinestage.cpp
colorpipelinestage.h
colortransformation.cpp
colortransformation.h
gbmgraphicsbufferallocator.cpp core: Move dmaBufAttributesForBo() to gbmgraphicsbufferallocator.cpp 2023-08-23 17:13:07 +03:00
gbmgraphicsbufferallocator.h core: Hide GraphicsBuffer implementations 2023-07-05 11:14:12 +03:00
graphicsbuffer.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
graphicsbuffer.h backends/drm: don't commit buffers that are still being rendered to 2023-08-07 18:51:04 +00:00
graphicsbufferallocator.cpp
graphicsbufferallocator.h core: Add GraphicsBufferOptions::software 2023-06-19 16:47:26 +03:00
graphicsbufferview.cpp core/graphicsbuffer: correct stride handling with buffer mappings 2023-07-04 17:33:38 +02:00
graphicsbufferview.h backends/drm: Port to GraphicsBuffer 2023-06-19 22:42:58 +03:00
inputbackend.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
inputbackend.h
inputdevice.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
inputdevice.h
output.cpp move cursor rendering from the backends to the compositor 2023-08-28 11:10:41 +00:00
output.h move cursor rendering from the backends to the compositor 2023-08-28 11:10:41 +00:00
outputbackend.cpp core: Drop dmabuf texture creation api in OutputBackend 2023-08-23 17:13:07 +03:00
outputbackend.h core: Drop dmabuf texture creation api in OutputBackend 2023-08-23 17:13:07 +03:00
outputconfiguration.cpp
outputconfiguration.h core: Move Output::Transform enum to KWin namespace 2023-07-25 12:09:01 +03:00
outputlayer.cpp move cursor rendering from the backends to the compositor 2023-08-28 11:10:41 +00:00
outputlayer.h move cursor rendering from the backends to the compositor 2023-08-28 11:10:41 +00:00
overlaywindow.cpp
overlaywindow.h
renderbackend.cpp qpa: Port OpenGL code path to GraphicsBuffer 2023-08-07 13:17:18 +00:00
renderbackend.h qpa: Port OpenGL code path to GraphicsBuffer 2023-08-07 13:17:18 +00:00
renderjournal.cpp backends: record GPU render time 2023-08-23 10:51:19 +00:00
renderjournal.h backends: record GPU render time 2023-08-23 10:51:19 +00:00
renderlayer.cpp Avoid painting unchanged scene layers 2023-08-28 11:38:18 +00:00
renderlayer.h Avoid painting unchanged scene layers 2023-08-28 11:38:18 +00:00
renderlayerdelegate.cpp Avoid painting unchanged scene layers 2023-08-28 11:38:18 +00:00
renderlayerdelegate.h Avoid painting unchanged scene layers 2023-08-28 11:38:18 +00:00
renderloop.cpp Avoid painting unchanged scene layers 2023-08-28 11:38:18 +00:00
renderloop.h Avoid painting unchanged scene layers 2023-08-28 11:38:18 +00:00
renderloop_p.h backends: record GPU render time 2023-08-23 10:51:19 +00:00
session.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
session.h
session_consolekit.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
session_consolekit.h
session_logind.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
session_logind.h
session_noop.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
session_noop.h
shmgraphicsbufferallocator.cpp plugins/qpa: handle modifiers more correctly 2023-08-18 13:17:38 +00:00
shmgraphicsbufferallocator.h core: Hide GraphicsBuffer implementations 2023-07-05 11:14:12 +03:00