The problem with fireaPulse is that its semantics are somewhat ill-defined. It doesn't really run a full pulse, rather it just calls the various pulse listeners. So any animation will not be run and no rendering will be done (although any updates to the scene graph would trigger a future full pulse and rendering). Also there are threading issues to consider.

What you describe is an interesting use case, but not one that would be solved by the existing firePulse method.

-- Kevin


Fisher, Robert 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-boun...@openjdk.java.net] On Behalf Of 
Jonathan Giles
Sent: Donnerstag, 24. September 2015 01:49
To: openjfx-dev@openjdk.java.net
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

Reply via email to