On Feb 6, 2009, at 5:46 AM, jav...@javadesktop.org wrote:
Hi,
I'm trying to get straight in my head exactly which graphics
rendering surfaces can get hardware accelerated in Java. There seems
to be a lot of confusing/half specified information around.
Firstly let me state I'm using Java 6u12 on a Windows XP machine.
I'm interested in rendering TO surfaces, not copying from, so I'm
not too bothered about managed images.
As far as I can tell the setup goes like this:
1) Live screen graphics, i.e. Component.getGraphics() : HW
accelerated via Direct3D
For now I'll just say "yes", but Dmitri could explain the caveats of
this when he gets back from vacation.
2) Swing backbuffer, i.e. VolatileImages/BufferStrategies: Also HW
accelerated via Direct3D
Yes.
3) BufferedImages: Always software rendering via GDI
Not quite. Yes, it's always software rendering, but it's using our
own software loops, not GDI.
If Direct3D is disabled via sun.java2d.d3d=false, then cases 1) and
2) switch back to a DirectDraw accelerated pipeline, as in Java 1.5.
No, the DirectDraw pipeline no longer exists as of JDK 6u10. If the
D3D pipeline is disabled (or can't be enabled due to driver/hardware
problems) we switch back to using GDI for onscreen rendering, and
VolatileImages/BufferStrategy then become backed by system memory
surfaces (analogous to BufferedImages, which implies software
rendering).
So my questions are:
1) Is the above information correct, and if not what do I have wrong?
You were pretty close :)
2) 6u10 added native font rendering to Java. When is this enabled?
Is it always used in all pipelines or just in the D3D rendering?
I'll leave this one for Phil or Igor.
Thanks,
Chris
===========================================================================
To unsubscribe, send email to lists...@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
lists...@java.sun.com and include in the body of the message "help".