On Wed, 14 Apr 2021 12:33:23 GMT, dannygonzalez <github.com+6702882+dannygonza...@openjdk.org> wrote:
>> https://bugs.openjdk.java.net/browse/JDK-8185886 >> >> Optimisation to ExpressionHelper.Generic class to use Sets rather than >> Arrays to improve listener removal speed. >> >> This was due to the removal of listeners in TableView taking up to 50% of >> CPU time on the JavaFX Application thread when scrolling/adding rows to >> TableViews. >> >> This may alleviate some of the issues seen here: >> >> TableView has a horrific performance with many columns #409 >> https://github.com/javafxports/openjdk-jfx/issues/409#event-2206515033 >> >> JDK-8088394 : Huge memory consumption in TableView with too many columns >> JDK-8166956: JavaFX TreeTableView slow scroll performance >> JDK-8185887: TableRowSkinBase fails to correctly virtualise cells in >> horizontal direction >> >> OpenJFX mailing list thread: TableView slow vertical scrolling with 300+ >> columns >> https://mail.openjdk.java.net/pipermail/openjfx-dev/2020-January/024780.html > > dannygonzalez has updated the pull request incrementally. Your points regarding unnecessary default listeners are valid. The question now is should the work done on this PR be abandoned. It addresses a current performance limitation taking complexity from O(n log n) to O(1). It appears to be well isolated with low risk to backwards compatibility. The reason work was stopped was a concern that the tests should go first in a separate PR. ------------- PR: https://git.openjdk.java.net/jfx/pull/108