我正在开发一个Java程序,它可以在屏幕上绘制复杂的分形图形,并允许用户“缩放”和移动以探索这些形状。这意味着必须进行计算才能显示分形图形,并且必须达到一定的帧率(约为20 fps或更高)。
我有几种方法可以实现这一点,但我想知道哪种方法具有最佳性能。
首先,我考虑使用一个空白的Image(具体来说是BufferedImage)及其Graphics2D上下文在屏幕外绘制分形图形,然后将其传递给UI,由UI将其绘制到屏幕上。这意味着需要创建大量的Image类型,这可能会占用很多内存。
类似的选择是创建两个图像,然后在显示第一个图像的同时在第二个图像上绘制,反之亦然。这种方法会产生更好的性能吗?
我的第三个选择是使用JavaFX的Canvas API,而不是Image,在本质上做相同的事情(离屏绘制)。
哪种方法会给我最好的结果?或者还有其他需要考虑的因素吗?
谢谢
我有几种方法可以实现这一点,但我想知道哪种方法具有最佳性能。
首先,我考虑使用一个空白的Image(具体来说是BufferedImage)及其Graphics2D上下文在屏幕外绘制分形图形,然后将其传递给UI,由UI将其绘制到屏幕上。这意味着需要创建大量的Image类型,这可能会占用很多内存。
类似的选择是创建两个图像,然后在显示第一个图像的同时在第二个图像上绘制,反之亦然。这种方法会产生更好的性能吗?
我的第三个选择是使用JavaFX的Canvas API,而不是Image,在本质上做相同的事情(离屏绘制)。
哪种方法会给我最好的结果?或者还有其他需要考虑的因素吗?
谢谢