RFR: 8359599: Calling refresh() for all virtualized controls recreates all cells instead of refreshing the cells [v2]

John Hendrikx jhendrikx at openjdk.org
Sat Oct 4 04:31:27 UTC 2025


On Fri, 3 Oct 2025 14:49:10 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

> > I think the changes look good. I'm a bit confused in the performance table with what is meant with the `50 ms -> 0 ms` in the "after" cases though?
> 
> Every `refresh()` will trigger 2 layouts for some reason, where the second one does nothing as nothing is dirty, so basically a noop. I can have a look into that (maybe as a follow up?) but I remember that this happens sometimes in general for the `VirtualFlow` and we should check that generally at one point.

No need to address that in this PR,  I was just confused what the numbers meant (shouldn't the `before` column than not also have `X ms -> 0 ms`?).  So it seems like quite a good performance improvement.

As a side note, even 30-40 ms seems incredibly slow, that's bound to create noticeable input lag or frame skips :/  How many cells were visible?  1000 or 100x1000?  If the latter, than 30-40 ms seems okayish.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1830#issuecomment-3367883240


More information about the openjfx-dev mailing list