gpt4 book ai didi

java - 在 JavaFX 中为大量图形元素设置动画的最快方法

转载 作者:搜寻专家 更新时间:2023-11-01 02:23:40 27 4
gpt4 key购买 nike

我正在迈出 JavaFX 的第一步。我想用 javafx 为很多图形元素(椭圆、贝塞尔曲线,而不是图像)制作动画。这些元素被组织成大约 10 个元素的组,这些元素必须一起移动。我正在尝试达到 60 fps,并且我想移动数千个这样的元素。

至少有四种方法可以做到这一点:

  • 使用单个 Canvas 及其图形上下文直接在每一帧绘制。
  • 使用组和节点。每个元素都是一个节点。我喜欢这种方式,因为有很多类可以用来轻松绘制我需要的东西,节点和组的逻辑结构正是我需要的。
  • 每个小组都是一 block Canvas 。使用 Canvas 图形上下文在其构造函数中绘制其元素,然后在每一帧移动所有 Canvas 。
  • 用必须粘在一起的元素创建图像,然后移动这些图像。我还没有找到如何做到这一点,但我想这并不难。这些元素可能会不时发生变化,因此我需要重新创建一些图像,但只是偶尔一次。

我的问题是,这些(或其他)方法中的哪一种是最快的方法?特别是,使用大量节点和组是否会对高性能产生影响?

最佳答案

我将从选项二开始,因为这在逻辑上似乎最符合您的需求。这也是使用 JavaFX 执行此操作的最直接和最干净的方法。如果后来发现性能不够好,您可以尝试通过结合使用缓存和适当的缓存提示来改进它。例如,您可以通过这种方式优化代码的速度或质量。这甚至可以动态工作,因为您可以根据应用程序的状态在这些缓存提示之间切换。如果您为一个组打开缓存,这基本上与将其绘制到 Canvas 或图像中具有相同的效果。

关于java - 在 JavaFX 中为大量图形元素设置动画的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31677971/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com