So I was profiling the testcase for bug 352367 on the reflow branch, and about 5% of total time is spent in in (not under!) nsRuleNode::GetStyleData. Another 4.5% of the time is spent in (not under) nsStyleContext::GetStyleData. The total time spent under nsStyleContext::GetStyleData is about 10%, of course.

About half the calls to nsStyleContext::GetStyleData come from nsFrame::IntrinsicWidthOffsets, called by nsTableCellFrame::IntrinsicWidthOffsets and nsLayoutUtils::IntrinsicForContainer. Ultimately, this gets back to GetWidthInfo() (under which about 20% of the total load time is spent).

I have to wonder whether we could do anything to reduce this. Especially given that we're fetching the same structs in GetMinWidth and GetPrefWidth... It basically looks like we're calling nsFrame::IntrinsicWidthOffsets at least 3 times for each table cell...

-Boris
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to