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
