JavaFX必然不能硬件加速。它的界面其实就是个绘图引擎,在操作系统看来JavaFX程序没有控件的概念,那操作系统就不能提供硬件渲染支持,这是第一。如果JavaFX的普通渲染引擎是CPU的,动画渲染引擎一定也是CPU,因为实现起来方便。虽然加入硬件渲染不是不可能的任务,但是JavaFX是个很年轻的产品,要求不要太高嘛。IE发展了十几二十年才加入了硬件加速渲染,photoshop也不知道几十年了直到CS4才有。所以要么你自己用OpenGl实现界面渲染引擎,要么就要求强悍CPU,要么就放弃动画吧。。

解决方案 »

  1.   

    我没有找到英文资料,但是在一些中文资料上,有例如“JavaFX   2.0中的图形渲染引擎Prism可以借助底层操作系统上的DirectX和OpenGL提供的硬件加速支持,因此性能优于传统的使用Java 2D进行软件渲染的做法。”这样的说法。javaone大会上还有个3D项目例子。如果不能使用硬件加速,java不可能加入3D功能。
      

  2.   

    3D和JavaFX的控件不一样吧。不知道哪里能选择渲染引擎?而且像transision这种东西也不一定是由硬件支持,可能对于某些操作才有。具体我不知道,瞎猜的
      

  3.   

    3D和JavaFX的控件不一样吧。不知道哪里能选择渲染引擎?而且像transision这种东西也不一定是由硬件支持,可能对于某些操作才有。具体我不知道,瞎猜的可能是我的显卡驱动的问题。
      

  4.   

    不太像。既然能打游戏,应该就没问题。OpenGL支持也是标准了。倒是可以看看怎样选择使用Prism引擎,或者看一下FadeTransition的源码
      

  5.   

    貌似只有3D的东西才是OpenGL?其余的都是Java 2D
      

  6.   

    显卡驱动不够新导致的,我原来故意用的较低版本的驱动。驱动需要跟上directX的版本。