Some problems using hardware acceleration APIs are unforseeable during implementation of the java2d library. For example, some video cards or drivers can cause the application or system to crash (see bug 4713003 for a great
example of this). Some of these problems could be worked-around in java2d
(such as the fix to 4713003), but some have no known fix other than updating
In any case, since we cannot test on every possible OS/motherboard/videocard/
driver version prior to release, we should have some scheme in place to
automatically detect and workaround problems. We should run a test
at startup that tries various simple things, record the results in some
persistent way, and refer to those results in future runs of java2d.
For example, if Java crashes when loading ddraw.dll (see bug 4838939), we should detect that the first time and in future runs simply avoid loading that dll.
For now, this problem is primarily on Windows. There may be similar issues
on other platforms eventually, but for now we just need to solve this for Windows.