Thanks for the info.

I'm assuming your application uses full screen mode, since the d3d pipeline is 
disabled in 6u4 by default in windowed mode.

It's hard to tell why exactly the initialization would fail, but like I said it 
would typically happen when application dies during the d3d pipeline 
initialization phase. We set a flag to 0 in the registry before trying to 
initialize Direct3D device, then we initialize it and perform some tests, and 
if the check is successful we set the registry value to 2.

If vm starts up and detects that the registry value is 0 it assumes that the vm 
which tried to initialize d3d crashed and never had a chance to set it to 2, so 
it doesn't even try to init d3d. This was done to work around some very bad 
driver bugs which would send a system into continuous reboot cycle 
(incidentally, with older ATI video adapters).

Now, there's an obvious problem with this approach - if two applications start 
at the same time and the timing is right it's possible that one of them will 
read value 0 set by another app and won't init d3d. May be that's what's 
happening in your case.

Anyway, there's a flag you can specify which will force the pipeline to re-run 
the test on startup. Use it at your discretion (not a supported flag, could go 
away in the future release, etc). The flag is: 
  -Dsun.java2d.accelReset=true

You can, for example, run a small java app at system startup time with this 
flag to make sure the flag is reset at least once during user's session. Or if 
you're confident that you won't run into issues in your controlled environment 
you can always run your apps with it.

One other thing - I would suggest to try the beta builds of upcoming 6u10 
release (http://jdk6.dev.java.net) to see if you have any issues with it on 
your systems. It has a new d3d pipeline (which may or may not be enabled on 
your hardware).

Thanks,
  Dmitri
Java2D Team
[Message sent by forum member 'trembovetski' (trembovetski)]

http://forums.java.net/jive/thread.jspa?messageID=278103

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to