davidedmundson created this revision. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY In a log from someone talking about high CPU we can see get multiple X events for the same window as multiple events, but directly next to each other. This causes the TaskManager to process changes multiple times instead of just once which is a waste. I can see this switching tabs in Firefox it gives me the icon updating twice. Ideally we only want to have one change go through the model. This class sits between KWindowSystem and XWindowTasksModel transparently buffering the changes. I'm not super attached to the idea of adding hacks like this, so this is as much a RFC as anything. (it's not the root cause of the issue in the bug report) Also the delay could probably be 0, because that will at least mean we read all the pending window system events before proceeding which is all I really want. CCBUG: 378010 TEST PLAN I wrote this in April and can't remember why I didn't push it. I'm worried that I might have had a really important reason that I've since forgotten...or maybe I just got distracted and forgot. REPOSITORY R120 Plasma Workspace BRANCH pending_queue REVISION DETAIL https://phabricator.kde.org/D7481 AFFECTED FILES libtaskmanager/CMakeLists.txt libtaskmanager/xwindowsystemeventbatcher.cpp libtaskmanager/xwindowsystemeventbatcher.h libtaskmanager/xwindowtasksmodel.cpp To: davidedmundson, #plasma Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas