Some issues with increasing the value of javafx.animation.pulse

Glavo zjx001202 at gmail.com
Wed Mar 5 16:09:31 UTC 2025


Hi John,

The above feedback is all for Windows, and we have not tested on other
platforms yet.

On Windows I really don't expect that
> setting pulse higher will do much (I posted this a few days ago on this
> list in response to your earlier inquiry)


In fact, setting the pulse higher does have a noticeable effect on
non-HiDPI screens.
On my 1440p at 120hz monitor it works perfectly and I can clearly feel that it
no longer has the same stuttering as it does at 60fps.
But when DPI scaling is used, the 60fps stutter reappears and the frame
rate of the JavaFX application is significantly lower than that of other
windows.

As for the NVIDIA problem; I doubt that setting "javafx.animation.pulse"
> can have any effect on this. You may want to look further as to why this
> problem occurs.


This feedback comes from our users. Specifically, we added the following
code to the application main method:

System.getProperties().putIfAbsent("javafx.animation.pulse", "120");


So users can override the value by adding JVM arguments.

We told the user to try adding the JVM
argument `-Djavafx.animation.pulse=60`, and the user later told us that
this solved his problem.
So we think this is the result of adjusting this property.

Glavo


On Wed, Mar 5, 2025 at 11:09 PM John Hendrikx <john.hendrikx at gmail.com>
wrote:

> Hi Glavo,
>
> On which platform is this?  On Windows I really don't expect that
> setting pulse higher will do much (I posted this a few days ago on this
> list in response to your earlier inquiry).  It may trigger more frames
> to be rendered, but their animation times will not use correct values
> resulting in it just rendering duplicate frames or frames with only
> slight differences (and not the expected 1/120 difference).
>
> On the Windows platform I think we need to do some more work to get
> animations >60 Hz -- specifically, the FX thread needs to be scheduled
> reliably at intervals lower than 15 ms, which is non-trivial on Windows.
>
> As for the NVIDIA problem; I doubt that setting "javafx.animation.pulse"
> can have any effect on this. You may want to look further as to why this
> problem occurs.
>
> --John
>
> On 05/03/2025 07:41, Glavo wrote:
> > We tried setting javafx.animation.pulse to 120 in our JavaFX application.
> > After a few days of collecting feedback, we found the following issues
> >
> > * Animation frame rate does not seem to be improved on HiDPI screens
> > on Windows.
> > * JavaFX applications prevent NVIDIA Advanced Optimus from
> > automatically selecting graphics cards when javafx.animation.pulse is
> set.
> >
> > Glavo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250306/585d926d/attachment.htm>


More information about the openjfx-dev mailing list