slashdot load time involves 25seconds worth of drawWindow calls

RESOLVED FIXED

Status

RESOLVED FIXED
10 years ago
8 years ago

People

(Reporter: taras.mozilla, Assigned: taras.mozilla)

Tracking

(Blocks: 1 bug)

Trunk
x86
Linux
Dependency tree / graph

Details

Attachments

(1 attachment, 3 obsolete attachments)

Comment hidden (empty)
(Assignee)

Comment 1

10 years ago
Progress report.
The slowdown is because large things are painted(ie larger than the screen)..To make matters worse they are painted repeatedly and too frequently(ie the whole page may need to be redrawn a few times a second...while the draws each take a second or a more).

So first thing I did is restrict the the painting to the visible area only which got me down to 10seconds.
Second thing was to put all of the paints into a queue and have things painted in the zoomToPage 2second interval where the queue gets cleared if a zoom occurs. This got rid of a bunch of paints and got me down to 7seconds.
Next thing to do is to knock out draws out of the queue when a new draw makes some of the old ones redundant.

After that I'll add some calculations to be able to flush the rest of the page before panning  and pageload.
(Assignee)

Comment 2

10 years ago
in fact, I don't think i ever need to worry about rectangles off screen..should just paint the rest of the page before panning/pageload.
(Assignee)

Comment 3

10 years ago
knocking out rectangles seems to be ~20% win
(Assignee)

Updated

10 years ago
Depends on: 468869
(Assignee)

Comment 4

10 years ago
Created attachment 359155 [details] [diff] [review]
limit paints to visible area

This abducts the resize timer and uses it as a paint timer. Resize polling is now less frequent(as it depends on painting outside of the visible area).

Draws are restricted to the visible part of the screen(and are queued up) during page load. Once the page loads, the rest of the page is drawn

Comment 5

10 years ago
it would help clean up this patch to switch all the rectangles to using wsRect and add functionality there as needed.  we'll want to play around with when things get repainted, but definitely looks like we're heading in the right direction
(Assignee)

Comment 6

10 years ago
Created attachment 359640 [details] [diff] [review]
cleaned up patch

the code got simplified/optimized thanks to wsRect usage
Attachment #359155 - Attachment is obsolete: true
Attachment #359640 - Flags: review?(pavlov)
(Assignee)

Comment 7

10 years ago
Created attachment 359652 [details] [diff] [review]
now with more ';'s and prepanning flushing
Attachment #359640 - Attachment is obsolete: true
Attachment #359652 - Flags: review?(pavlov)
Attachment #359640 - Flags: review?(pavlov)
(Assignee)

Comment 8

10 years ago
Created attachment 359671 [details] [diff] [review]
fix

k, this should do panning right by switching off clipped painting mode when the user pans
Attachment #359652 - Attachment is obsolete: true
Attachment #359671 - Flags: review?(pavlov)
Attachment #359652 - Flags: review?(pavlov)

Comment 9

10 years ago
Comment on attachment 359671 [details] [diff] [review]
fix

lets get this in and keep optimizing
Attachment #359671 - Flags: review?(pavlov) → review+
Taras did you land this and can this be closed out?
(Assignee)

Comment 11

10 years ago
yes
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
Assignee: nobody → tglek
You need to log in before you can comment on or make changes to this bug.