Open Bug 208990 Opened 22 years ago Updated 3 years ago

nsImageLoader::RedrawDirtyFrame() invalidates too much

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect)

defect

Tracking

()

People

(Reporter: smontagu, Unassigned)

References

()

Details

(Keywords: perf, testcase)

Attachments

(1 file)

nsImageLoader::RedrawDirtyFrame() has logic to only invalidate the entire frame if the frame has a tiled background image, but it is #if 0'd with this comment: // XXX this should be ok, but there is some crappy ass bug causing it not to work Nobody can tell me what the crappy ass bug was, and I have been running without the #if 0 as dogfood for a few weeks without seeing any problems. I suggest we take it out.
Attached patch PatchSplinter Review
I also had to change the GetStyleContext() call to make it compile in the new world (changes from bug 114713 and bug 197205 obviously didn't make it into the #if 0)
Attachment #125358 - Flags: review?(pavlov)
Comment on attachment 125358 [details] [diff] [review] Patch This code is wrong.... The image position inside the frame depends on the background-position. Note that the body fixup rule is long gone, which is why the code may even sorta work as long as you don't have background-position set.
Attachment #125358 - Flags: review?(pavlov) → review-
roc, is it actually reasonably to try and optimize it? My gut feeling is no....
You mean, is it worth it? I can imagine pages where it's worth it, especially if you've got an animated image where only part of the image is changing.
OK. Then we need to somehow factor out the nsCSSRendering code that figures out image painting anchors and tiling and use it here....
I would call this very low priority, since we don't actually have a testcase that we're sure would benefit.
Sorry, I filed this while working on bug 124150 but didn't mark dependency or cross-refer to any test cases. Attachment 111651 [details] is a minimized test case based on http://access4less.net/, and comment 4 is right on the button: there's a massive background image with a relatively tiny animated area.
Blocks: 100%CPU-bg
Mass reassign my image bugs to nobody@mozilla.org
Assignee: smontagu → nobody
Keywords: perf, testcase
QA Contact: tpreston → layout.images
Product: Core → Core Graveyard
Product: Core Graveyard → Core
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: