放大具有数千种形状的javafx窗格的详细信息

时间:2018-03-30 08:45:21

标签: java javafx-8 javafx-2

我的javafx窗格包含大约50000个形状。当我使用CacheHint.Speed缓存窗格时,可以进行缩放和平移。但变焦时它太模糊了。如果设置为CacheHint.Quality则变得如此迟钝。 我正在尝试使用CacheHint但无法在桌面上捕获OnScrollFinished事件的解决方案。剪切窗格并没有帮助。 我正在考虑选择要渲染的视图而不是渲染所有形状但是检查大约50000个形状的有效方法是什么?

有些人可以帮我一些选择。

谢谢

1 个答案:

答案 0 :(得分:0)

我要做的第一件事是分析哪些原始类型对性能有重大影响,然后开始优化。

JavaFX中的路径非常慢(例如,与行和矩形相比)。

  • 替换仅代表简单的直线和矩形的SVGPath 如果可以的话,JavaFX计数器部分。
  • 如果可以的话,简化路径。
  • 从场景图中删除当前不可见的所有几何图形。
  • 使用三角形网格显示几何图形。如果做得好,这会给你带来真正的性能提升,但这是很多工作(我已经做到了: - )

使用大量微小图像也可能非常慢。如果这是瓶颈,它可能有助于从您的图像创建纹理图集并使用三角形网格来显示它们。