Closed Bug 352851 Opened 18 years ago Closed 18 years ago

[FIX]Reflow count painting got removed in bug 317375

Categories

(Core :: Web Painting, defect, P1)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla1.9alpha1

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

(Keywords: regression)

Attachments

(1 file)

Bug 317375 removed the DO_GLOBAL_REFLOW_COUNT_DSP and DO_GLOBAL_REFLOW_COUNT_DSP_J macros from nsPresContext.h.  Unfortunately, those were the way that the "Reflow Counts" layout debugger option worked...  These are really useful for evaluating performance issues where "too much reflow" is suspected or known (e.g. bug 320378).

What would it take to restore equivalent functionality in the new world?
Instrument BuildDisplayList I guess. I don't really know how that stuff worked.
Looks like we only painted reflow counts for some frames...  So I added those back in.
Assignee: roc → bzbarsky
Status: NEW → ASSIGNED
Attachment #238975 - Flags: superreview?(roc)
Attachment #238975 - Flags: review?(roc)
Priority: -- → P1
Summary: Reflow count painting got removed in bug 317375 → [FIX]Reflow count painting got removed in bug 317375
Target Milestone: --- → mozilla1.9alpha
Now I see what's going on, sorry.

Why not do this in one place by modifying nsFrame::BuildDisplayListForChild and parsing the frame name out of the result of GetFrameName? yeah, it's ugly but it's ugly in one place.
> Why not do this in one place by modifying nsFrame::BuildDisplayListForChild

Well...  First of all, the existing code didn't paint reflow counts for all frames.  I suppose I could hardcode such a list in nsFrame::BuildDisplayListForChild...

> and parsing the frame name out of the result of GetFrameName?

I'd have to change the output of GetFrameName for some of these frames (list control frames, at the very least output "ListControl" for GetFrameName and want nsListControlFrame for this code).  But I could probably do that...  Want me to?
(In reply to comment #4)
> > Why not do this in one place by modifying nsFrame::BuildDisplayListForChild
> 
> Well...  First of all, the existing code didn't paint reflow counts for all
> frames.  I suppose I could hardcode such a list in
> nsFrame::BuildDisplayListForChild...

Is there a reason to not do it for all frames?

> > and parsing the frame name out of the result of GetFrameName?
> 
> I'd have to change the output of GetFrameName for some of these frames (list
> control frames, at the very least output "ListControl" for GetFrameName and
> want nsListControlFrame for this code).  But I could probably do that...  Want
> me to?

Sure, if we're going to go this way. But there's no point in my suggestion if we have to hard-code a list of frame types somewhere.
> Is there a reason to not do it for all frames?

I think it would be pretty unreadable, esp. since frames often have exactly coinciding origins...

Attachment #238975 - Flags: superreview?(roc)
Attachment #238975 - Flags: superreview+
Attachment #238975 - Flags: review?(roc)
Attachment #238975 - Flags: review+
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: