为什么我的JavaFX2应用程序的可视帧率如此不可靠?

为什么我的JavaFX2应用程序的可视帧率如此不可靠?,java,windows,animation,javafx-2,frame-rate,Java,Windows,Animation,Javafx 2,Frame Rate,我必须决定JavaFX(2)是否是我们即将构建的游戏平台的正确UI工具包。游戏是简单的2D游戏,没有什么特别的,但是对于用户体验来说,游戏看起来“流畅”是很重要的 目前,我对一个简单的测试应用程序(在ImageView中移动一些精灵)所显示的帧速率有些担心 在主显示器上运行应用程序时,在第二个显示器上使用鼠标进行操作时,应用程序的平滑度会明显下降。这种情况持续几秒钟,然后恢复正常 应用程序在我的第二个显示器上从未达到与在主显示器上相同的平滑度 请注意,这是关于人眼可见的帧速率差异。由于某些原因

我必须决定JavaFX(2)是否是我们即将构建的游戏平台的正确UI工具包。游戏是简单的2D游戏,没有什么特别的,但是对于用户体验来说,游戏看起来“流畅”是很重要的

目前,我对一个简单的测试应用程序(在ImageView中移动一些精灵)所显示的帧速率有些担心

  • 在主显示器上运行应用程序时,在第二个显示器上使用鼠标进行操作时,应用程序的平滑度会明显下降。这种情况持续几秒钟,然后恢复正常
  • 应用程序在我的第二个显示器上从未达到与在主显示器上相同的平滑度
  • 请注意,这是关于人眼可见的帧速率差异。由于某些原因,内部帧速率(如
    PerformanceTracker.getAverageFPS()
    或JavaFX Balls演示应用程序所报告的)不会下降(事实上,报告的帧速率甚至会上升几帧:正常情况下,帧速率约为128fps,当动画看起来像是在口吃时,报告的帧速率约为131)。这是通过
    javafx.animation.fullspeed=true
    实现的
  • 当我在后台打开一个Flash动画时,JavaFX应用程序永远无法实现平滑的动画,即使CPU没有竞争(我的CPU使用率约为30-40%)。虽然在这种情况下报告的帧速率实际上较低,但如果我的CPU没有达到最大值,为什么我的帧速率会受到影响

有人知道这种糟糕的表现是从哪里来的吗?是平台的不成熟还是固有的局限性?JavaFX是一个简单的2D游戏平台的基础吗?除了用OpenGL加速去C++,没有别的解决方案吗?< /P> < P>没有理由说JavaFX会引起你描述的问题。p>
听起来很像你的图形卡不匹配,是这样吗?

我无法重现所描述的行为。我也无法在同事的机器上重现结果。尽管如此,如果有人知道我应该在哪里查找原因,我还是很感兴趣……这看起来像是一个驱动程序问题,不是吗?因为这个问题似乎与机器有关,我建议创建一个简短的、自包含的示例,在您的机器上重现问题,并将问题发布到,并提供完整的环境描述,然后更新此问题以链接到bug tracker问题。JavaFX团队通常非常擅长调查这样的异常情况。您是否全屏运行它?调整窗口大小是否会改变帧率的“感觉”?