Anyone know of resources that discuss the time it takes to render different types of images?
For example (in a case study in Java 1.5 on my Mac 10.4 laptop with 480x360 images):
When I ask the default Toolkit for an Image, the returned object is not a BufferedImage. If I use the MediaTracker to load that image and then paint it to the screen: that took about 39 milliseconds. If I convert it to a BufferedImage (with an ImageConsumer of my own) and render that BufferedImage to the screen: that took about 21 milliseconds.
So that led me to believe avoiding the MediaTracker and making my own BufferedImages was the thing to do.
However, I later noticed:
Once the image was loaded (either via the MediaTracker or by converting it to a BufferedImage):
The generic java.awt.Image could render 100 times to the screen in 2 milliseconds. The BufferedImage took at least 50 milliseconds to render the to screen 100 times.
If I increased the test to 1,000 or 10,000 the BufferedImage render time seemed to grow predictably: the java.awt.Image time grew sporadically.
So that led me to believe there’s some acceleration somewhere in the underworkings for Mac images. This surprised me; despite the existence of the VolatileImage and other Java classes relating to acceleration: somehow I had the impression Macs didn’t really tap into accelerated images.
So what I’m looking for is a resource that can talk more about this subject. The Java API talks abstractly about what a graphics device may do, but I’d like to see what different JVMs on different platforms are really capable of. Any thoughts?