RFR: 8252935: Add treeShowing listener only when needed [v4]
John Hendrikx
jhendrikx at openjdk.java.net
Sat Feb 6 18:08:46 UTC 2021
On Fri, 5 Feb 2021 14:46:49 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:
>> John Hendrikx has updated the pull request incrementally with four additional commits since the last revision:
>>
>> - Add missing TreeShowingExpressionTest which also tests SubScene
>> - Also dispose listeners on Window/Showing in dispose
>> - Fix review comments
>> - Update copyrights
>
> Added couple minor comments and a suggestion.
> Rest looks good to me, Observed no failures. It would be a great performance improvement for large scene applications.
> This PR also seems to fix another issue [JDK-8259558](https://bugs.openjdk.java.net/browse/JDK-8259558). Test program is attached to the bug.
>
> Time readings,
> with this fix,
> time to remove 100000 nodes : ~20 ms
> time to add those removed 100000 nodes to a different parent: ~80 ms
>
> without this fix,
> time to remove 100000 nodes : ~1720 ms
> time to add those removed 100000 nodes to a different parent: ~100 ms
This is possible, as for each Node removed two listeners are also removed from the huge listener lists in Scene and Window (O(n) performance). Adding is not affected much as adding a listener to a huge list is not that costly.
-------------
PR: https://git.openjdk.java.net/jfx/pull/185
More information about the openjfx-dev
mailing list