On Sun, 2011-06-05 at 02:04 +0200, Markus Mohrhard wrote:
> I've been looking a bit further into the performance problem when
> dealing with several sheets and am now at the move
> method.(ScDocument::MoveTab)

        ;-) FWIW - document -load- used to cause way more progress-bar updating
CPU cycles than it took to load the spreadsheet (the once-per-cell
notification did that).

        I -believe- that I had a patch that used gettimeofday in the case that
a visibly different value would be shown in the progress bar - so just
one syscall per cell that sped that up a lot ;-)

        Then I think (for import), someone introduced a thread - that sat in
'usleep' so we could throttle any updates to one every half-second or so
- which AFAIR was rather more efficient, and avoids a load of syscall
related slowness.

        I -though- / hoped / etc. that that could be made more generic, so we
could have a progress-bar class that is ~impossible to use badly; of
course it mostly sucks to have a 'sleep' thread ;-) but ... it is only
one at a time.

        So, I wonder if the UX guys don't mind us never updating a progress bar
more than twice per second (say) [1] we could do this for all progress
bars in one place. Clearly calling a
 FooProgres->update(percent) method a bazillion times is not slow, if we
never re-draw anyway.

        Thoughts ?

                Michael.

[1] - and I don't expect it to be configurable ;+)
-- 
 michael.me...@novell.com  <><, Pseudo Engineer, itinerant idiot


_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to