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

