I am investigating why long pages display really slowly on OS/2 (this is
mainly bug 258136). I found out that it likely some kind of timer problem,
we seem to be repainting much more often than we should be (and call
into _PR_MD_GET_INTERVAL() even more). If I switch to the low-resolution
timer (high-res is the default) that only gives us granularity of 1ms,
long pages loads 4 to 6 times faster, with a similar reduction in the
number of painting calls.
So, I basically want to know why the timer resolution directly influences
the number of repaints.
A user also remarked that by tweaking some timer values, like
user_pref("content.notify.interval", 750000); (default=120000)
user_pref("content.max.tokenizing.time", 3000000); (default=360000)
user_pref("content.notify.backoffcount", 5); (default=-1)
he gets the same (or better) speed improvement than with the low-res
timer.
Now, loading the page takes about 3min to load with the high-res timer,
so it should repaint about a maximum of 1500 times (180s/120000us) with
the default settings, as repaints should not occur more often than
content.notify.interval. But I'm seeing more than 7000 repaints (looking
at call numbers of nsWindow::OnPaint). Did I understand something wrong
or is that a bug?
Also, I see that the above backoffcount setting stops the repaints
before the page is loaded completely. But this works on some "plain"
pages (like the test page attached to bug 258136) but not on complex
ones like http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox
Why does backoffcount=5 not stop repainting of while loading that page?
Thanks in advance for any ideas,
Peter.
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout