<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">I noticed that when `javafx.animation.pulse` is set, `AbstractPrimaryTimer` always prints a message to `System.err`:</div><div dir="ltr"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Setting PULSE_DURATION to xxx hz</blockquote><div><br></div><div>This debug message looked annoying, and I thought it should only be printed when javafx.verbose is true, so I created a PR: <a href="https://github.com/openjdk/jfx/pull/1726">https://github.com/openjdk/jfx/pull/1726</a> </div><div><br></div><div>Can anyone take a look at it?</div><div><br></div><div>Glavo</div></div></div></div></div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Feb 27, 2025 at 2:17 AM Johan Vos <<a href="mailto:johan.vos@gluonhq.com">johan.vos@gluonhq.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Glavo,<div><br></div><div>I believe setting the javafx.animation.pulse is indeed the best way to increase the render frequency (or to minimize the time between 2 pulses). It is independent of the hardware/pipeline being used. </div><div>Of course, you may see a higher load in the JavaFX Application Thread and in the Quantum Renderer, but I guess you're aware of that -- but even at 10 fps those threads can be under pressure (same for the GPU cache).</div><div><br></div><div>- Johan</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 26, 2025 at 7:01 PM Glavo <<a href="mailto:zjx001202@gmail.com" target="_blank">zjx001202@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">I found that setting `javafx.animation.pulse` to a higher value worked for me.</div><div dir="ltr">I considered setting `javafx.animation.pulse` to 120 for all users to get smooth animation.</div><div dir="ltr">Is this the most recommended approach at this time?</div><div dir="ltr"><br></div><div>Glavo</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 26, 2025 at 3:55 AM Glavo <<a href="mailto:zjx001202@gmail.com" target="_blank">zjx001202@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,</div><div dir="ltr"><br></div><div dir="ltr">Recently I was investigating how to improve the user experience of our JavaFX applications.</div><div dir="ltr">I noticed that JavaFX applications seem to be limited to 60fps by default, </div><div dir="ltr">which makes JavaFX applications appear to animate less smoothly than many other applications</div><div dir="ltr">when users are using high refresh rate monitors.</div><div dir="ltr">In particular, we used a self-drawn title bar, which caused users to drag our app more slowly than dragging other applications.</div><div dir="ltr"><br></div><div dir="ltr">I learned that there is an undocumented property `javafx.animation.fullspeed` </div><div dir="ltr">and that setting it to true would significantly improve the user experience of our application.</div><div dir="ltr">While it works fine on my computer, it seems to have a lot of potential problems,</div><div dir="ltr">such as conflicts with vsync, may have significantly higher CPU/GPU utilization, and has been less tested,</div><div dir="ltr">so I dare not push it to users.</div><div dir="ltr">There is also a property `javafx.animation.framerate` which seems to be safer, but it didn't work for me.</div><div dir="ltr"><br></div><div dir="ltr">So, what is the best way to get a high frame rate for a JavaFX application?</div><div dir="ltr">Can we get more than 60fps in a JavaFX application with vsync enabled?</div><div dir="ltr">Is it possible to make JavaFX applications adapt to the monitor's refresh rate without us setting it to a fixed value?</div><div dir="ltr"><br></div><div>Glavo</div><div dir="ltr"><br></div><div dir="ltr"><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>