More good stuff to know about optimal graphics on Macs…
[quote] From: gziemski at apple.com
Subject: LazyDrawing and LazyPixelConversion description
Date: December 24, 2003 2:02:07 PM EST
Cc: java-dev at lists.apple.com
Craig,
Type “java apple.awt.RuntimeOptions” to get a brief description of all
available runtime options.
LazyDrawing (apple.awt.graphics.EnableLazyDrawing) uses a queue to
collect similar graphics primitives (same stroke, transformation,
etc…) before flushing them to surface. This benefits applications that
draw a lot of similar primitives. You can try increasing the size of
the queue (apple.awt.graphics.EnableLazyDrawingQueueSize) if you can
spare memory, but want more speed. This optimization is turned ON by
default.
LazyPixelConversion minimizes the amount of pixel conversions required
when handling those Java image types that can not be handled natively
by CoreGraphics. There are only a few BufferedImages that CoreGraphics
can handle without pixel conversion, ie: TYPE_INT_ARGB_PRE,
TYPE_INT_RGB , TYPE_USHORT_555_RGB and TYPE_BYTE_GRAY. Notice that even
TYPE_INT_ARGB is not supported natively (as destination) - we need to
manually alpha premultiple color bands in this case. If you construct a
BufferedImage by passing your own DataBuffer, or you access the image
data buffer later, we have to turn this optimization off for that
image. It was mostly implemented to boost the performance of all those
apps coming from other platforms, where the image types are hardcoded.
Use createCompatibleImage to create BufferedImages that are guaranteed
to be natively supported on all platforms. This optimization is turned
ON by default.
cheers
[/quote]