我想在算法上指定屏幕上的每个像素(全屏)或窗口以在Java应用程序中绘制。我想以这种方式做动画。
因此,对于每个像素,我将运行某种类型的计算来确定它应该是什么颜色。我会为每个像素的每一帧都这样做。
最高性能(能够达到每秒最高帧数)的方法是什么?
我知道显卡是可编程的,但我想坚持使用Java编写代码。如果有一种直接的方法来编写Java中的算法,使它们在图形卡上运行,那就太好了,但我想要一个不涉及其他编程语言的解决方案(我认为OpenCL或其他方式)。
答案 0 :(得分:2)
在使用PixelGrabber
和MemoryImageSource
组合之前,我已完成此类动画。这里有一些文档和samples。
这种技术具有我所知道的最佳性能。您通常使用像素数组(进行帧动画转换),然后渲染结果图像中的像素(不需要使用invoque getPixel/setPixel
方法来设置单个像素,这在过去很常见,很棒优化)。
现在没有我自己的代码示例,但如果您对使用此代码感兴趣,我可以稍后提供。
作为旁注,本书Java The Complete Reference的旧版本充分利用了这种技术用于图像处理示例。