Blocking calls when setting brightness causing input events to queue.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Unity System Compositor |
Triaged
|
Undecided
|
Unassigned |
Bug Description
The call to powerd which changes the brightness is synchronous, which is blocking the input events. This results in input events to wait in the queue until the call is completed.
Test case:
Brightness slider in the indicator lags behind while swiping around a lot.
Result: (from MIR_CLIENT_
http://
Trial Resolution:
=== modified file 'src/powerd_
--- src/powerd_
+++ src/powerd_
@@ -195,7 +195,7 @@
normal_
if (backlight_state != BacklightState:
- powerd_
+ powerd_
}
I'm not sure about implications of changing to async calls though.
tags: | added: pm-fail |
USC receives requests to change brightness through the Unity.Screen dbus interface. It then forwards the requests to powerd through dbus again.
If an application or system component doesn't care to wait for the "set brightness" request to complete, then it would be cleaner for that component to issue an async call to Unity.Screen. setBrightness, instead of forcing asynchronous behavior on everyone by changing USC.