On Tue, 28 Oct 2025 17:12:50 GMT, Johan Vos <[email protected]> wrote:

> > It's not a bad idea to just run layout again if after running layout the 
> > root is still dirty.
> 
> There must be historical reasons why this is not the case. @kevinrushforth 
> might have more background info. I would guess that the original design goal 
> was to keep a pulse as short as possible, and the `requestNextPulse` inside a 
> pulse would be useless with this approach. I think the `requestNextPulse` was 
> created for this reason: don't stop the world for too long, render what we 
> have, and try to render again as soon as possible (in the next pulse). This 
> prevents the pulse runnable from lock the JavaFX Application Thread for too 
> long -- as said above, there are other users for this Thread.

>From what I can remember, that was indeed the main reason.  Most of the layout 
>stabilizes pretty quickly (1-3 passes), but as Johan points out, there can be 
>cases where ~ 10 are needed. It is better for responsiveness to do run event 
>handlers, app Runnables (via runLater), and allow animation to proceed after 
>each layout + CSS pass than iterate until stable.

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

PR Comment: https://git.openjdk.org/jfx/pull/1945#issuecomment-3457742036

Reply via email to