JavaFX8路径绘图性能

时间:2015-11-25 17:34:16

标签: performance opengl javafx stroke

我正在寻找一种在JavaFx8中快速绘制大量路径的方法,我想要为路径设置动画。 我尝试了标准路径,折线,我也尝试在图形上下文/画布中绘图。但一切都太慢了。

在一个测试中,我正在旋转200个宽1px宽的矩形,这是完美的,如果我查看pulselogger输出,我看到一切都在16ms内渲染。相比之下,如果我用路径节点绘制200条直线(与1px矩形相同的视觉输出)并为此设置动画,我的结果非常糟糕,并且pulselogger中的绘制任务显示为200ms。

我想问题是路径不是通过OpenGl绘制的,而是回退到SW渲染。

我在想要渲染的路径中使用了很多lineTo(),所以一种非常不优雅的方法是仅使用Path节点绘制圆形的东西,并在我通常使用lineTo()的部分上放置一个矩形。我想这会加速很多事情,但这是非常不灵活和黑客的。

我还能做些什么来让路径快速渲染? 我已经使用了setSmooth(false),因为路径变得动画化,所以不能选择缓存。

最终的平台应该是Linux现在在Mac上开发

感谢Robi

1 个答案:

答案 0 :(得分:0)

目前,JavaFX在软件中进行所有路径渲染,而不是在硬件中进行渲染。如果缓存不是您的选择,那么您无法做很多事情。我看到的唯一可能是看看3D的东西。也许您可以使用三角网格作为您的目的。这是我一直想尝试但从未有时间做的事情: - )