2

我想通过算法指定屏幕(全屏)或窗口上的每个像素以在 Java 应用程序中进行绘制。我想以这种方式制作动画。

因此,对于每个像素,我将运行某种类型的计算来确定它应该是什么颜色。我会为每个像素的每一帧都这样做。

做到这一点的最高性能(每秒能够达到最高帧数)的方法是什么?

我知道显卡是可编程的,但我想坚持只用 Java 编写代码。如果有一种直接的方法可以用 Java 对算法进行编码,以便它们在显卡上运行,那就太好了,但我想要一个不涉及另一种编程语言(我认为 OpenCL 或类似语言)的解决方案。

4

1 回答 1

2

在使用PixelGrabberandMemoryImageSource组合之前,我已经完成了这种类型的动画。这里有一些文档和示例

这就是我所知道的性能最好的技术。您通常在像素数组中工作(进行帧动画转换),然后在结果图像中渲染像素(不需要调用getPixel/setPixel方法来设置单个像素,这在过去是一个很好的优化)。

我自己现在没有任何代码示例,但如果您有兴趣使用它,我可以稍后提供。

作为旁注,Java The Complete Reference一书的旧版本大量使用了这种技术来处理图像处理示例。

于 2012-12-21T18:45:42.403 回答