Closed Bug 142631 Opened 23 years ago Closed 16 years ago

eliminate second-pass line reflow when flowing unconstrained

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla1.9

People

(Reporter: waterson, Assigned: dbaron)

References

Details

(Keywords: perf, Whiteboard: [reflow-refactor])

I've got some #ifdef DEBUG_waterson stuff in nsBlockFrame::ReflowLine that printf's messages whenever we do an unconstrained reflow _twice_. Recall that when BRS_COMPUTEMAXWIDTH is set, the block frame will flow its lines at an unconstrained width, and then reflow its lines again at the old width. Ironically, many times the `old width' is unconstrained, too. (Presumably when flowing nested tables.) Anyway, I see my printf's fire all the time, e.g., on pages from amazon.com. If we can eliminate that second reflow, we may shave off a bit of time.
Keywords: perf
How do you plan to do this? Refactor into GetPrefSize (which I think we need to do, but it's a big job)?
I don't propose to remove two-pass reflow _altogether_. I'm just proposing we ought to avoid flowing the line twice at an unconstrained width; i.e., when BRS_COMPUTEMAXWIDTH and BRS_UNCONSTRAINEDWIDTH are both already set on entry to nsBlockFrame::ReflowLine.
Summary: eliminate two-pass line reflow when flowing unconstrained → eliminate second-pass line reflow when flowing unconstrained
Changing priority to P2.
Priority: -- → P2
Status: NEW → ASSIGNED
Priority: P2 → P4
Target Milestone: --- → Future
Reassigning to other@layout.bugs for now until someone willing to take.
Assignee: waterson → other
Status: ASSIGNED → NEW
Priority: P4 → --
Target Milestone: Future → ---
Priority: -- → P3
Target Milestone: --- → Future
dbaron, is this covered by your arch rewrite - or is the impact of this not worth the effort?
Whiteboard: [reflow-refactor]
Blocks: 71668
Is suspect this bug is now no more, with reflow branch landed.
Depends on: reflow-refactor
Yeah, fixed by reflow branch landing.
Assignee: layout → dbaron
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Target Milestone: Future → mozilla1.9
You need to log in before you can comment on or make changes to this bug.