[OpenJDK 2D-Dev] XOR rendering slow with D3D enabled [6635462]

Dmitri Trembovetski Dmitri.Trembovetski at Sun.COM
Thu Jan 15 17:52:04 UTC 2009

David Gilbert wrote:
> Clemens Eisserer wrote:
>>>  It hasn't. The default mode is not outline AFAIK. So if you enabled
>>>  outline, it's all your fault!
>> I disagree here, Swing does provide the outline mode as a public API,
>> it worked great in the past and now its broken.
>> Its not deprecated, not even mentioned in the documentation that it
>> should better not be used.
>> Even the Swing team has not removed all uses of Xor, so I guess this
>> can't be expected from an average external developer.
>> Thanks, Clemens
> I've had this problem drawn to my attention.  I use XOR in JFreeChart 
> for drawing the zoom rectangle on a ChartPanel, so that it can be 
> updated without redrawing the underlying chart (which might take too 
> long if it is a complex chart).  So this is causing a problem for all

   IMO if it takes too long to draw a chart it needs to be cached in
   an image (VolatileImage, for example).

> the people using JFreeChart in Swing applications (there's quite a few 
> out there).  I'm testing a workaround for the next release where, if the 
> ChartPanel is using a buffer for the chart, XOR won't be used.
> I agree with Clemens that this worked fine in the past, hasn't been 
> deprecated, and doesn't work too well now.  If it can't be fixed, I 
> suggest deprecating the method, or updating the documentation to note 
> that some implementations won't be able to handle the method efficiently.

   As I mentioned, I was joking. Of course it's a regression that needs to
   be addressed. I don't think it's worth deprecating the method because
   one pipeline can't handle it efficiently.

   However, so far I have seen very few examples where the use of Xor
   paint mode is required.


> Best regards,
> Dave Gilbert
> JFreeChart Project Leader

More information about the 2d-dev mailing list