如何在JavaFx8中创建100fps动画

use*_*433 4 frame-rate javafx-8

我需要创建一个100fps动画,从包含每秒100帧的文件显示3d数据.但javaFx中的AnimationTimer只允许我获得60fps.如何克服它.

非常感谢.

jew*_*sea 6

删除JavaFX帧速率上限

您可以通过设置系统属性来删除60fps JavaFX帧速率上限,例如,

java -Djavafx.animation.fullspeed=true MyApp
Run Code Online (Sandbox Code Playgroud)

这是一个未记录且不受支持的设置.

删除JavaFX帧速率上限可能会使您的应用程序在资源使用方面效率大大降低(例如,没有帧速率上限的JavaFX应用程序将比具有帧速率上限的应用程序消耗更多的CPU).

配置JavaFX帧速率上限

此外,您可以尝试另一个未记录的系统属性:

javafx.animation.framerate
Run Code Online (Sandbox Code Playgroud)

我没试过.

调试JavaFX帧(脉冲)

还有其他设置,如-Djavafx.pulseLogger=true您可以使帮你调试的JavaFX架构和验证您的应用程序在你所期望的帧率实际运行.

JavaFX 8有一个Pulse Logger(-Djavafx.pulseLogger=true系统属性),可以"打印出很多关于JavaFX引擎执行的废话"(以一种很好的方式).在每个脉冲的基础上提供了许多信息,包括脉冲数(自动递增的整数),脉冲持续时间和自上一次脉冲以来的时间.该信息还包括线程详细信息和事件详细信息.该数据允许开发人员查看大部分时间的内容.

警告

正如JavaFX团队的Richard Bair指出的那样,使用未记录的功能的正常警告适用:

需要注意的是,如果我们没有记录命令行开关,那么在后续版本中删除/修改它们是公平的游戏:-)