Closed
Bug 41134
Opened 25 years ago
Closed 24 years ago
Entire image redraws each time new rows are rendered
Categories
(Core :: Layout, defect, P3)
Core
Layout
Tracking
()
VERIFIED
FIXED
mozilla0.9
People
(Reporter: sfraser_bugs, Assigned: kmcclusk)
References
Details
(Keywords: perf, Whiteboard: [nsbeta3-])
Attachments
(2 files)
When loading large images with double buffering turned off (in the view manager),
notice that each time a new part of the image is drawn as the image streams in,
we refresh the entire image.
This seems to be a regression in nsFrameImageLoader::DamageRepairFrames(), which
now ignores the aDamageRect in the case where we have a frame. This regressed
when fixing a bug with tiled images.
Note that I previously posted a couple of patches for nsImageFrame and Mac GFX
code in bug 1248 which may also need to be checked in to have this progressive
image rendering finally work in an efficient way.
Reporter | ||
Comment 2•25 years ago
|
||
This diff seems to fix the problem:
Index: nsFrameImageLoader.cpp
===================================================================
RCS file: /cvsroot/mozilla/layout/base/src/nsFrameImageLoader.cpp,v
retrieving revision 1.55
diff -w -c -1 -r1.55 nsFrameImageLoader.cpp
*** nsFrameImageLoader.cpp 2000/05/13 01:38:39 1.55
--- nsFrameImageLoader.cpp 2000/05/31 22:36:49
***************
*** 581,582 ****
--- 581,585 ----
bounds.x = bounds.y = 0;
+
+ if (aDamageRect)
+ bounds.IntersectRect(*aDamageRect, bounds);
}
It reduces rendering time for a large image from about 19 secs to 14 secs.
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Target Milestone: --- → M17
Assignee | ||
Comment 3•25 years ago
|
||
Nominating for nsbeta3.
Keywords: nsbeta3
Summary: Entire image redraws each time new rows are rendered → [FIX]Entire image redraws each time new rows are rendered
Assignee | ||
Updated•25 years ago
|
Summary: [FIX]Entire image redraws each time new rows are rendered → [HAVEFIX]Entire image redraws each time new rows are rendered
Whiteboard: nsbeta3+ will apply patch and re-evaluate if patch does not work
Assignee | ||
Comment 4•25 years ago
|
||
Marking nsbeta3+
Whiteboard: nsbeta3+ will apply patch and re-evaluate if patch does not work → [nsbeta3+] will apply patch and re-evaluate if patch does not work
Assignee | ||
Comment 5•25 years ago
|
||
Checking in this patch will undo the fix that was put in for bug 36811.
There is a detailed description of what needs to be done to fix both this
performance issue and keep tiled background images working in bug 36811.
Making nsbeta3-, Marking it future, Removing [HAVEPATCH], Reassigning to dcone
Cleared: "will apply patch and re-evaluate if patch does not work" from status
Assignee: kmcclusk → dcone
Status: ASSIGNED → NEW
Summary: [HAVEFIX]Entire image redraws each time new rows are rendered → Entire image redraws each time new rows are rendered
Whiteboard: [nsbeta3+] will apply patch and re-evaluate if patch does not work → [nsbeta3-]
Target Milestone: M17 → Future
Updated•25 years ago
|
Status: NEW → ASSIGNED
Comment 7•24 years ago
|
||
Some nice examples can be found on http://www.freeciv.org/screenshots/1.11.4/
Click on the thumbnails on the big pics. While the big pic loads CPU load goes
skyhigh. Your mouse pointer also starts jumping if you move it around while the
pic loads.
Testing on Mozilla/5.0 (Windows; U; WinNT4.0; en-US; m18) Gecko/20001206
Assignee | ||
Comment 10•24 years ago
|
||
Taking this bug from Don.
Assignee: dcone → kmcclusk
Status: ASSIGNED → NEW
Assignee | ||
Updated•24 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 11•24 years ago
|
||
Assignee | ||
Comment 12•24 years ago
|
||
Changing OS to ALL.
CC'ing waterson, and attinasi.
This bug is a major performance issue on pages with images.
OS: Mac System 8.5 → All
Comment 14•24 years ago
|
||
cc'ing pav & saari, who are working on this kind of stuff now...
Comment 15•24 years ago
|
||
You need to check for NS_STYLE_BG_PROPAGATED_TO_PARENT in addition to
NS_STYLE_BG_IMAGE_NONE (for the BODY->HTML background propogation we set that
flag on the BODY to indicate that it has no image but that it has sent it up to
its parent). Also, please comment the damageRect inflation due to
twips-rounding-error change, and sr=attinasi
Assignee | ||
Comment 16•24 years ago
|
||
Comment 17•24 years ago
|
||
looks good r=rods
Assignee | ||
Comment 18•24 years ago
|
||
Patch checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•