油漆graphics2D屏外?然后参与其中并在屏幕上显示

时间:2011-10-28 00:48:30

标签: java graphics2d

我想在屏幕上绘制一个graphics2D组件然后参与其中并在屏幕上显示实时更新图像,因此缓冲图像需要很长时间。

2 个答案:

答案 0 :(得分:1)

查看BufferCapabilities(及相关课程),以及MultipleBuffering的图形概念。

此外,它可能不是缓慢的BufferedImage,它是渲染管道利用(或不利用)可用硬件加速的方式。

如果您正在构建游戏,或者其他需要利用Java中的硬件加速进行高速渲染的应用程序,那么您最好先从一个处理这些问题的库开始您的详细信息,例如Slick2D

关于Slick2D的另一个非常好的事情是,它是跨平台的,并为您处理渲染性能细节,因为实际渲染管道在平台,JVM版本和硬件之间发生变化(取决于可用的功能,接触Java),这只是你想要自己弄清楚的很多细节和试验/错误。大时间下沉。

LWGJL(启用Slick2D图形性能的库)基本上完全回避了Java2D,以实现这一目标。如果你想深入挖掘,那里有一些有趣的阅读。

答案 1 :(得分:1)

在JPanel中使用setDoubleBuffered( true );。 这让它在屏幕外痛苦,当它在屏幕外完成时,它将在JPanel上显示。 使用它时,您将不再获得黑色/未上漆的帧。