JDK-6389876 : Java2D hw acceleration should be better integrated with future windows platforms
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: x86
  • Submitted: 2006-02-23
  • Updated: 2010-10-14
  • Resolved: 2007-08-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b01Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Java2D should integrate better with hardware acceleration strategy
on future Windows platforms like Windows Vista.

This includes switching from using an outdated and usupported version 
of DirectX (v 7) which is currently used by Java2D for 
doing hardware accelerated rendering, to the latest available DirectX
version (9 at this point).

EVALUATION This change removes the old DirectDraw and Direct3D 7-based accelerated pipelines on Windows and replaces them with a more modern pipeline based on Direct3D 9. The new D3D9 pipeline is *enabled* by default on Windows platforms (i586/x64), assuming DirectX 9 and adequate graphics hardware support is available. However, the D3D9 pipeline is currently *disabled* by default on configurations with one or more Nvidia GPUs; this is a temporary measure due to some Nvidia-specific bugs (e.g. 6588384, 6587863) that will be fixed in an upcoming build. To find out whether the D3D9 pipeline is enabled for a particular configuration, set J2D_TRACE_LEVEL=4 (environment variable) prior to launching any graphical application. If the D3D9 pipeline is being disabled automatically for some reason (e.g. on Nvidia hardware, as described above) but you would still like to test the new pipeline, you can force enable the pipeline via the -Dsun.java2d.d3d=[T,t]rue system property. If any problems are encountered with the new D3D9 pipeline, it can be disabled via the -Dsun.java2d.d3d=false system property (the old -Dsun.java2d.noddraw=true property will continue to do the same trick as well). In case new issues are found, please file bugs against java/java/classes_2d and be sure to include the output from having set J2D_TRACE_LEVEL=4 prior to startup (as described above).

EVALUATION Currently Java2D uses DirectX 7 for accelerating offscreen rendering on windows platform. DirectX 7 is very old and is no longer supported, and there are issues with the way we use DirectX and GDI, causing problems on Widnows Vista.