summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authormread <qt-info@nokia.com>2010-04-30 13:27:08 (GMT)
committermread <qt-info@nokia.com>2010-04-30 13:47:47 (GMT)
commitaccde4c624fc0fc7a3942925922fc981888c4ac4 (patch)
tree3de376acbb25507ce0f163741381c3165b573f40 /src/gui
parent25ed3acf3daa1141e7ae5ac65f6456b9af9b451a (diff)
downloadQt-accde4c624fc0fc7a3942925922fc981888c4ac4.zip
Qt-accde4c624fc0fc7a3942925922fc981888c4ac4.tar.gz
Qt-accde4c624fc0fc7a3942925922fc981888c4ac4.tar.bz2
Event dispatcher slow down using delays rather than thread priority
The Symbian event dispatcher has a mechanism to slow down the Qt app to prevent viewsrv crashes and keep the device responsive. This was implemented using a thread priority drop. But that has some bad side effects, such as app and system performance instability. This new implementation of a slow down mechanism uses a separate low priority thread to test when the system is getting too busy. Adaptive millisecond waits are used to slow the app down just enough to let the low prioirity thread to run. In practice this avoids the performance instability of the previous method, and results in much better system stability where the system stays more responsive with fewer viewsrv panics when heavy Qt apps are running. The slow down code kicks in after 2 seconds of busy time. The delays grow 1ms at a time to a maximum of 1/4 of average event run time. This updated version of the fix used an RSemaphore rather than RFastlock, which should not have been used for cross-thread signalling. Task-number: QTBUG-9489 Reviewed-by: Shane Kearns
Diffstat (limited to 'src/gui')
0 files changed, 0 insertions, 0 deletions