I was looking at a "large table" page profile, and it seems that we call 
nsTableFrame::SetGeometryDirty on any append to a row or row group (which 
happens all the time as we're building up the table).  As a result, even when 
the column balance doesn't change due to the appends we reflow all the rows...

It would seem to me that appending to a row should not dirty the geometry if:

1) The row is the last row in its rowgroup.
2) The cell in the row immediately prior to the append is not a zero colspan

I'm not sure condition 2 is even needed...  And I assume that such an append 
doesn't truncate existing zero rowspans.

Similarly, appending to a rowgroup should not dirty the geometry... at all, I
think.

Am I missing something?

In this particular case (bug 352367) I think we're spending at least 10-15% of 
our time on the extraneous row reflows... possibly more. A little hard to tell 
which reflows are really extraneous from the profile.

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

Reply via email to