如何在Java2D中进行双缓冲?

5

我正在使用Java2D在屏幕上绘制大量基本图形,但是出现了很多撕裂/闪烁。

如何启用/使用双缓冲区,以便将其绘制到屏幕外,然后显示整个内容?

1个回答

1
  1. 创建一个BufferedImage实例。为了获得最佳性能,您需要确保缓冲图像使用与您正在渲染到的屏幕相同的模型。

请参考此链接了解如何使用传递给任何组件的paint方法的Graphics2D创建BufferedImage(有许多创建缓冲图像的方法,此链接提供了一些...)

[http://www.exampledepot.com/egs/java.awt.image/CreateBuf.html][1]

  • 获取与缓冲图像相关联的 Graphics [getGraphics()],如果需要,将其转换为 Graphics2D,并通过在该图形对象上调用命令来呈现您的基元(也可以将该图形对象传递给组件以在缓冲图像上绘制自己)。

  • 通过覆盖其 paint 方法并在传递给组件的 Graphics2D 参数上调用 drawImage() 的变体,将缓冲图像绘制到组件上。


  • 网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接