On Sun, 12 Oct 2025 17:43:32 GMT, Johan Vos <[email protected]> wrote:

> This is something that worries me. One of the main issues I see with e.g. 
> VirtualFlow, is that some methods can be invoked both during a rendering 
> pulse as well as (indirectly) via explicit invocations, most often by code 
> invoked with Platform.runLater(). Depending on whether code is called during 
> a pulse or not, the behavior can be very different. A major problematic 
> consequence of a method that used to be called outside the pulse, and that is 
> now for some reason (e.g. due to concurrency, as it depends whether the 
> Runnable submitted to Platform.runLater() is executed before or after the 
> pulse) called during a pulse, is that this can lead to flickering. If 
> `requestNextPulse` is called during the layout phase, it is very well 
> possible that a "wrong" layout is rendered briefly before the correct layout 
> is shown.

I'm also not happy with the current situation. There are also some cases where 
cells request a layout while they are layouted. There is quite some room to 
optimize several scenarios here.
I would like to check this out and optimize at one point, but really afraid 
that there might be regressions. So this will probably take a while, but I have 
a far better understanding of the `VirtualFlow` and surrounding classes than 
e.g. a year ago + we have far more tests as well!

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

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

Reply via email to