我进行了测试,发现其 性能GradientPaint很差。平均渲染时间从1.2秒(400x400像素)到20多秒。
我换了GradientPaint一个LinearGradientPaint,发现渲染时间为约1.3秒而不是。
LinearGradientPaint lgp = new LinearGradientPaint( new Point2D.Float(0, minY), new Point2D.Float(0, maxY), new float[] {0f, 0.5f, 1f}, new Color[] {Color.BLUE, Color.RED, Color.BLUE} );g2d.setPaint(lgp); // Render all your samples, don't reapply or change you paint...抱歉,我的样品不是很令人兴奋……
您可能会发现,最好改为在后台线程中渲染到后台缓冲区,并在完成后将整个图像绘制到屏幕上。这将阻止屏幕“暂停”



