RFR: 8293836: Rendering performance degradation at bottom of TableView with many rows
Andy Goryachev
angorya at openjdk.org
Fri May 26 20:24:00 UTC 2023
On Wed, 19 Apr 2023 12:14:45 GMT, Johan Vos <jvos at openjdk.org> wrote:
> Only update the VirtualFlow parameters in case the size of a cell has changed.
>
> The fixes for JDK-8298728 and JDK-8277785 introduced an unconditional recalculation in case the size of a cell is set. This recalculation is only needed in case the size of that specific cell has changed.
> Fix for JDK-8293836
I've tested this change on Windows 11 at 225% scale (just in case).
TableView performance is much better (I think there is still a bit of difference between looking at the top of the table vs. the bottom, but it's hardly noticeable).
Question: is this fix supposed to affect performance of TreeTableView? I've tested with the MonkeyTester
https://github.com/andy-goryachev-oracle/MonkeyTest
and at 10,000,000 rows the TreeTableView grinds to a halt.
Perhaps there is another bug for TTV?
modules/javafx.controls/src/main/java/javafx/scene/control/skin/VirtualFlow.java line 3092:
> 3090: }
> 3091: recalculateAndImproveEstimatedSize(0, currentIndex, oldOffset);
> 3092:
minor: extra newline
-------------
PR Review: https://git.openjdk.org/jfx/pull/1098#pullrequestreview-1446900896
PR Review Comment: https://git.openjdk.org/jfx/pull/1098#discussion_r1207298342
More information about the openjfx-dev
mailing list