Graphics2D最快的渲染方法是什么?

时间:2014-04-08 22:10:11

标签: java awt graphics2d

我正在创建一个程序,需要渲染和操作大量的粒子。

到目前为止,我考虑过使用......

  • g2.drawLine(x, y, x, y);
  • g2.fillOval(x-3, y-3, 6, 6);
  • BufferedImage
  • ImageIcon

渲染大量粒子的最快方法是什么?图像比使用drawLine()fillOval()等方法更快?

1 个答案:

答案 0 :(得分:0)

根据我的经验,所有渲染方法在渲染时间都是非常线性的,使用drawPoly似乎没有比使用多个drawLine更快。对于drawOvaldrawRectdrawImage,只需改变多少像素即可。所以我不担心重构你的渲染使用更快'方法当它们变得越来越慢时,更改的像素就会变得越来越多 - 你应该尝试不要过多地画任何东西。

大多数渲染方法的所有参数都可以使用setRenderingHint方法随时调整,你可以改变用于图像缩放,抗锯齿质量,alpha混合的插值器......使用这个以及不覆盖像素将提供最佳性能。 例如,对于粒子,如果它们不使用alpha - 将其关闭,如果它们全部对齐到90度角 - 关闭抗锯齿,您还可以根据图像设置颜色渲染质量。