Closed Bug 474689 Opened 16 years ago Closed 15 years ago

slashdot load time involves 25seconds worth of drawWindow calls

Categories

(Firefox for Android Graveyard :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

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

References

Details

Attachments

(1 file, 3 obsolete files)

      No description provided.
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.
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.
knocking out rectangles seems to be ~20% win
Depends on: 468869
Attached patch limit paints to visible area (obsolete) — Splinter Review
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
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
Attached patch cleaned up patch (obsolete) — Splinter Review
the code got simplified/optimized thanks to wsRect usage
Attachment #359155 - Attachment is obsolete: true
Attachment #359640 - Flags: review?(pavlov)
Attachment #359640 - Attachment is obsolete: true
Attachment #359652 - Flags: review?(pavlov)
Attachment #359640 - Flags: review?(pavlov)
Attached patch fixSplinter Review
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 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?
yes
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Assignee: nobody → tglek
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: