Usage of Toolkit firePulse

Johan Vos johan.vos at
Thu Sep 24 07:49:18 UTC 2015

I have to admit I use firePulse() occasionally but only when for some
reasons a pulse isn't triggered while I expected it. That is a very bad
usecase for having this as an API, as I would rather have to investigate
why changes to the scenegraph don't result in a pulse.

If firePulse() is a public API, what would be the JavaDoc? What would be a
recommended situation where one should use this? I think the mail that was
referred to previously talks about different update frequencies for
different components. I think that is a very good idea, but it seems to me
this won't be solved by having a public firePulse API?

- Johan

On Thu, Sep 24, 2015 at 9:31 AM, Fisher, Robert <robert.fisher.ext at
> wrote:

> I think it would be great to have in the public API. It looks like it
> would allow you to spread large UI updates out over several pulses in a
> well-defined way.
> See also this post from a month or so ago:
> > Hi,
> > I want to do some performance tuning of a JavaFX application of mine but
> before
> > I can start with that I have to learn a little bit about the scene graph
> redraw handling.
> > Maybe there is someone on this list who can help me there.
> >
> > What I want to achieve is a super smooth animation (movement) of my
> scene graph.
> > Let's assume the scene graph itself can be redrawn fast enough in less
> than 1/60s.
> > In addition let's assume the scene graph contains a canvas which only
> has to be updated from
> > time to time but an update of the canvas takes substantially longer.
> > Let's say it takes 1s.
> >
> > When an update of the canvas is in progress will this delay the next
> pulse until all internal
> > drawing within the canvas is finished? From my observations I think so.
> >
> > If I submit my drawing calls to the canvas in smaller chunks via
> Platform.runLater calls will
> > these also delay the next pulse or will the execution of these calls be
> delayed in favor of the
> > scene graph update?
> >
> > I hope my goal has become clear. I would like to be able to spread the
> update of the canvas over
> > several scene graph redraw cycles so that an animation of the canvas
> stays smooth although the
> > content builds up more slowly.
> >
> > Michael
> -----Original Message-----
> From: openjfx-dev [mailto:openjfx-dev-bounces at] On Behalf
> Of Jonathan Giles
> Sent: Donnerstag, 24. September 2015 01:49
> To: openjfx-dev at
> Subject: Usage of Toolkit firePulse
> Hi all,
> Today I am keen to get your help on understanding use of the
> Toolkit.getToolkit().firePulse() private API. If you could spare a few
> minutes to grep your source directory for any usage of 'firePulse', and
> email me your findings, that would be really interesting.
> As a gentle motivational tool I'll conclude by saying that, surprisingly,
> this private API is barely used inside the openjfx production code. If you
> look at the openjfx unit tests, it is used massively. The question is - how
> much is this being used by other community members. If the answer is 'not
> much' or less, then this private API may not be made public in JDK 9. Your
> feedback therefore is critical!
> Thanks,
> -- Jonathan

More information about the openjfx-dev mailing list