Main-loop / idle handler bits ...
Jennifer Liebel
jliebel94 at gmail.com
Mon Oct 20 01:04:03 PDT 2014
Hi Michael,
we have a new wiki page. Can you check it, if we have the proper
information?
https://wiki.documentfoundation.org/Development/LHM_LiMux/Main_Loop
We acquired a scheduling concept:
Scheduling with priorities: Every Timer gets a default priority. To avoid
starvation, the priority increases after every cycle (dynamic priorities).
When it was executed, it gets the default priority again.
Do you agree?
Kind regards
2014-10-18 21:57 GMT+02:00 Michael Meeks <michael.meeks at collabora.com>:
> Hi guys,
>
> Just wondering how this is going =) I could really use an UNO
> method
> that essentially processes all 'idle' handlers synchronously to finish
> up all pending work - to help with some profiling tasks - but (of
> course) to do that, we need some genuine 'idle' vs. 'timeout'
> distinction.
>
> How is that coming along? I see lots of nice things in the wiki
> page
> here:
>
>
> https://wiki.documentfoundation.org/Development/LHM_LiMux#Priority_Main_Loop
>
> On Wed, 2014-10-01 at 17:04 +0100, Michael Meeks wrote:
> > Yep - a very helpful table there. I've asked to have that sorted by
> > timeout not source-location; and to have all the UI related timeouts
> > split to their own section.
>
> So - I did some thinking and mapped the timeouts to some sort of
> descriptive priority names - something like this:
>
> enum IdlePriority {
> VCL_IDLE_PRIORITY_HIGHEST, // -> 0ms
> VCL_IDLE_PRIORITY_HIGH, // -> 1ms
> VCL_IDLE_PRIORITY_REPAINT // -> 30ms
> VCL_IDLE_PRIORITY_RESIZE // -> 50ms
> VCL_IDLE_PRIORITY_MEDIUM // -> 50ms
> VCL_IDLE_PRIORITY_LOW // -> 100ms
> VCL_IDLE_PRIORITY_LOWER // -> 200ms
> VCL_IDLE_PRIORITY_LOWEST // -> 400ms
> };
>
> we can rip/replace the 'ms' comments later of course. Then we would
> need a patch something like the attached. Of course, worked through all
> of the instances of idle handlers =) Patch is un-tested to avoid having
> to trigger a rather slow re-build here; please do hack it about into
> whatever form you like.
>
> Is it possible to extend that suitably ? when we have the code
> changed
> around the place, and the problem isolated; we can start to prioritize
> and avoid having these silly timeouts at all (I hope).
>
> Having said that, when we get to 400ms - I imagine this is a UI
> interaction timeout - which prolly should stay at 400ms ;-) - it'd be
> good to review those to see if they are UI / behaviour related - it'd
> suck to suddenly have the double-click time be ~instant ;-)
>
> All the best,
>
> Michael.
>
> --
> michael.meeks at collabora.com <><, Pseudo Engineer, itinerant idiot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20141020/c99b79c2/attachment.html>
More information about the LibreOffice
mailing list