Closed Bug 142631 Opened 22 years ago Closed 15 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: 15 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.