Closed
Bug 502270
Opened 16 years ago
Closed 15 years ago
image redecoding should be progressive
Categories
(Core :: Graphics: ImageLib, enhancement)
Core
Graphics: ImageLib
Tracking
()
RESOLVED
FIXED
People
(Reporter: joe, Assigned: bholley)
References
Details
Before we land bug 435296 (decode-on-draw), we should be able to progressively redecode images (displaying the decoded image as we go instead of locking up the main thread while we decode the image).
Bobby, I made this as a separate bug because I think it should be a separate patch (probably with layout changes, etc), though I think we definitely want to land both of these at once.
Assignee | ||
Comment 1•16 years ago
|
||
So I've been looking into this a bit more and I'm not convinced it's worth making a separate patch (underneath bug 435296) to make post-discard redecoding progressive.
Things in imgContainer.cpp look quite a bit different under bug 435296. Among other things, containers now own the decoders and manage decoding (lots of new code), and they carry a reference to observers for re-decoding. This makes progressive redecoding significantly simpler and cleaner, and I don't think it's worth spending time fighting with the old setup and writing code that will be replaced moments later when we land bug 435296 (and then there's the difficulty of rebasing as well). I have a strategy for progressive (re)-decoding, but it sits on the middle of all the re-hydration code so doing things for the old setup first would more or less mean doing it twice.
Nevertheless, there is some more independent work that needs to happen outside imgContainer to prevent the chain of imgIDecoderObservers from being confused by multiple rounds of decoding (at the very least, imgRequest needs to stop asserting on multiple onStopDecode notifications). This is all about making layout more tolerant, so it should stand on its own. I've looked over the standard path for image loading (with nsImageFrame et al), and it shouldn't require too much modification, but I haven't looked at all the other weird and wonderful places where we deal with decoder notifications.
So what I propose is this: I keep working on top of bug 435296 in a separate patch. When I have progressive (re)decoding working, we can decide if the involved layout changes should be landed together or in a separate patch.
Reporter | ||
Comment 2•16 years ago
|
||
Bobby, I totally always meant for this to be built on top of bug 435296. So your plan is fine :)
Reporter | ||
Comment 3•15 years ago
|
||
It is progressive now!
Assignee: nobody → bobbyholley+bmo
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•