Skip to main content

Grey box on minimize browser with some ATI drivers

31 replies [Last post]
bumpert
Offline
Joined: 2004-10-14

Hi,
i'm using j3d 1.3.2 and java 1.5.0_03. I have an applet that i run into firefox, but i got a problem. Don't have this problem with Nvidia driver, only with some ATI drivers. I tested it with 6.14.10.6360 without any problem, but have some with newer drivers like 6.14.10.6525 or the lastest avalaible 6.14.10.6546. So when i minimize the browser i lost my graphics, i only have a grey box and it's impossible to have it back. I tested it with the beta 3 of j3d 1.4 and with the lastest (06-06-05) daily build i had. I made the test with the gearbox applet and i lost the image (but not a grey box) but i had to scroll the page to get back the image, so it's seems to be something with my application. Here is the code for my canvas3d:

GraphicsDevice screenDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
GraphicsConfiguration config = screenDevice.getBestConfiguration(template);
Canvas3D canvas3D = new Canvas3D(config);

any idea? thx for help

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
aces
Offline
Joined: 2003-07-17

I think Java3D is above D3D or OpenGL.
There is a Direct 3D renderer for Java3D *just* to offer better support for vcards which doesnot runs OpenGL under Windows as it should. ATI is a very good example of vcards with better support for D3D than OpenGL.

Bumpert,
can you point me out what problems do you have using D3D ?
Email me pics and details to alessandroborges(at)yahoo.com.br

bumpert
Offline
Joined: 2004-10-14

Is Direct3D multi-platform? If not i cannot use it. I'll try to send you screenshots of the problem as soon as i can, but my priority is to fix my problem, and D3D don't seems to be suitable for me, cause as far as i know, i can't run it under linux. But i'll really want to help fix others bugs :) .

thx for help

aces
Offline
Joined: 2003-07-17

Don't worry about D3D. Your Java3D application is above D3D or OpenGL thing. If your application is correctly writen, it can run anywhere, doesnot matter if it use OpenGL or D3D as underlying 3D API.
And D3D is *just* a extra option if you are using Windows.

Just mount a system with Linux (Debian, Red Hat, you choose), install proper 3D drivers and Java3D, and watch your application runs gracefully. But even here we have more or less the same problems we have under Windows : There are mediocre video cards AND first class *Video Cards*, as well bad drivers and first class *Drivers*.
NVidia offers the *best* support under Linux. I guess under Windows too...

bumpert
Offline
Joined: 2004-10-14

Ok my application don't seems to be right writed, hehe, cause i have somes problems with d3d (that i'll send you somes screenshoots today), but in our little company it's hard to have good programmer, i always have to deal with new internship and i'm not the biggest 3d programmer, lol. I'll give a check on this. If using on windows D3D solve my problem, and using OpenGL on linux don't do the same problem i had on windows (i'll test today or tomorrow, we are in a rush of work).

For linux my applet working very well with a nvidia card, now i wanna test with ATI if i have the same problem and give you fedback, but it's sure if i can find a workaround for my problem and continu only using OpenGL, it woulb be nice. Cause like i said before, my rendering problem with D3D could certainly be solve, but the applet is a lot more slower with D3D and not sure could be solve.

thx for help

bumpert
Offline
Joined: 2004-10-14

I made a test under linux with an ATI video card, and i don't have my problem (as i said it's recent drivers of ATI, not the ATI card itself). So i would use D3D to render on windows and OpenGL into linux, now i need to check for the problem i got with D3D, but even before this, i need to know why it's slower... is it normal that Direct3D is slower than OpenGL?

thx for help

p.s.: Aces, I'll send you screenshot tomorrow.

darrinps
Offline
Joined: 2003-06-12

What verion of DirectX do you have installed and what revision is it?

In other words, do you have the developers version or the release version of DirectX, and what version of that (9.0c) are you running?

Note that it could be that the drivers for the card aren't tweaked as well for DirectX as they are for OpenGL.

bumpert
Offline
Joined: 2004-10-14

I have "DirectX 9.0c (4.09.0000.0904)". I'll check for a newer version. you have probably reason with the ATI drivers, the only reason we have an ATI here is for testing purpose cause some of our customers have ATI card.

thx for help

bumpert
Offline
Joined: 2004-10-14

It seems to be the last version avalaible from Microsoft. Is it supose to be slower with D3D than with OpenGL, or it's probably the driver or card fault?

bumpert
Offline
Joined: 2004-10-14

I made a test on a pc with nvidia card and i got the sames problems. Now i'll do the screenshots... thx

bumpert
Offline
Joined: 2004-10-14

Ati maded a new driver, version 6.14.10.6542, not better for my first problem.

thx for help

bumpert
Offline
Joined: 2004-10-14

For the purpose of this thread, i wans't able to fix nothing, but, for the information of people that helped me, i found a solution for me. Like i said in the beginning, the trouble was with a couple of lines of code. So, i used this lines only when i use the applet in full screen mode (exclusive mode) and in this mode i don't have this rpoblem. So when i don't need this mode, i'll use the default configuration for the Canvas3D.

thx a lot to everybody
bumpert

bumpert
Offline
Joined: 2004-10-14

A friend of mine said that the problem i had with D3D is with the depth buffer that seems to be ok with OpenGL. The elemets are displayed by the reverse creation order instead of the depth order. I'll make a search on this...

thx for help

bumpert
Offline
Joined: 2004-10-14

Hummm D3D isn't a solution for me anymore, cause if i read this post http://www.javadesktop.org/forums/thread.jspa?forumID=55&threadID=12828&... the J3D properties "j3d.g2ddrawpixel" isn't supported, and we need it. So i'll need to find a OpenGL fix for my initial problem.

Thx for help

aces
Offline
Joined: 2003-07-17

Possible workarounds are:

* set client JRE to use direc3d renderer for applets [b] -Dj3d.rend=d3d [/b], as Pepe sugested.
My Java Control Panel |Java | Java Applet Runtime Settings | Java Runtime Parameters has the following values :
[b]
-Dj3d.rend=d3d -Xms16m -Xmx256m -Dj3d.debug=true
[/b]

* use WebStart.

You can also try our new renderer for DirectX 9.0, as posted below:

http://www.javadesktop.org/forums/thread.jspa?threadID=12806&tstart=0

This renderer is working nicely in all tests up to now.

bumpert
Offline
Joined: 2004-10-14

For the webstart solution, i cannot use webstart, cause my boss really want this on the browser (i already tried to make it change to at least webstart).

For direct3d, i already tested it without any change, but i was using the bad parameter (missing the big D after the -), hehe. So i maked a new test and my problem seems to be solved, but i got two new problem. First it doesn't render my stuffs like it supose to be (very strange problem) and it seems to be a lot slower.

If i can fix these two problem, is this solution suitable for me? Cause i need a simulator that worked under windows and linux (evantually mac, but for now it's not a problem), and it's a microsoft solution, so is it really multi-platform? (i can't test it now).

I'll read the link you gave me, but the questions is the same for directX, i won't be able to use it under linux right?

thx for help

darrinps
Offline
Joined: 2003-06-12

> Cause i need a simulator that worked
> under windows and linux (evantually mac, but for now
> it's not a problem), and it's a microsoft solution,
> so is it really multi-platform? (i can't test it
> now).

Hold on one second. Is the only reason you are worrying about Direct3D support because you need to support Windows?

If that is the case, then don't worry about Direct3D, just use OpenGL.

Just because your Java3D app runs on Windows doesn't mean you are forced to use the Direct3D version of Java3D. I run an applet on Windows XP Home, and Pro as well as Windows 2003 and they all use the OpenGL version (and do so quite well).

I run on old ATI Rage cards, several from NVidia, etc., and have no problems at all.

Of course, if you are forced to support the Direct3D version of Java3D, then that is a different story.

bumpert
Offline
Joined: 2004-10-14

If you readed all the topic, i got a problem with my applet now. The only solution we found is using direct3d, but it's not suitable for me cause i need my applet to un under the two os. I know openGL work well, it's what i'm using now (but i have a little problem i describe before). The problem it's not the ATI card, but the recent ati drivers, so it's why you don't have any problem like mine.

Do you have another solution for my problem?

darrinps
Offline
Joined: 2003-06-12

> If you readed all the topic, i got a problem with my
> applet now.

Yes I read it, and I know switching to Direct3D fixed your original problem, but it sounded to me like your current issue was with Direct3D support, and using Java3D with OpenGL might be a way around it. You might want to try tweaking what you do using OpenGL to see if the original problem is curable if you cannot fix the second problem since you will need OpenGL to give you multi-OS support anyway.

>The only solution we found is using
> direct3d, but it's not suitable for me cause i need
> my applet to un under the two os.

Then why are you worrying about Direct3D if it won't support what you want? Are you planning to set up the deployment to be OS specific?

>I know openGL work
> well, it's what i'm using now (but i have a little
> problem i describe before). The problem it's not the
> ATI card, but the recent ati drivers, so it's why you
> don't have any problem like mine.
>
> Do you have another solution for my problem?

Wish I did, but I will try and test out the latest drivers on my machine at home (I have an ATI 9700 card there, and will download the latest drivers today).

Good luck!

bumpert
Offline
Joined: 2004-10-14

Sorry darrinps, my post seems to be sarcastic or thing like that, but i have problem explain me in english sometimes.

I'm not planning os specific deployment.

thx a lot for help

bumpert
Offline
Joined: 2004-10-14

by the way it's ok with nvidia driver (i tester 2 new version and 1 older without any problem).

so the problem seems only with newer ATI drivers...

thx for help

bumpert
Offline
Joined: 2004-10-14

nobody?

aces
Offline
Joined: 2003-07-17

Do you have a link for your applet ?

bumpert
Offline
Joined: 2004-10-14

Unfortunetly I cannot give you some link, it is always this eternal question of royalty, and the eternal fear of being copied. My boss would kill me, because we are inovator in our field. I hate this, cause that slows down the help i could have, but it's not really a choice i have. I will try to reproduce the problem in an test applet. It's the best i can do for now, sorry and thx a lot for your help.

bumpert
Offline
Joined: 2004-10-14

I put the finger on the exact problem, it's the way i create the Canvas3D:

GraphicsDevice screenDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
GraphicsConfiguration config = screenDevice.getBestConfiguration(template);
Canvas3D c = new Canvas3D(config);

I modified the gearbox applet example and i got the same problem. I'll post a link in a few minute so you can see what really happen, but this could help you help me :0

thx for help

bumpert
Offline
Joined: 2004-10-14

here it is: http://www.edonix.com/public/j3d/gearbox/

It don't give me a gray box, but a white one, but the principe is the same.

thx for help

pepe
Offline
Joined: 2003-06-10

Same for me. once i get back the minimized frame, the applet is white.
Radeon Omega Drivers 2.6.25a (Catalyst 5.4)
i think that the BG color might be the one of the html, thus not meaningful for debugging.

bumpert
Offline
Joined: 2004-10-14

I change the color for an king of yellow and the applet is still white.

thx for help

pepe
Offline
Joined: 2003-06-10

i was thinking about the navitagor's default bg color. mine is set to white, and it is often set to grey on some others. (or the opposite)
I changed the color in my preferences to a bright red. The bg color of the applet didn't change so you're right.

I don't know if it's related or not to a problem i actually have.
Can you please try to run OffscreenTest app in the J3D examples and tell me if it runs?

Also, can you modify the applet so that ir runs using direct3d renderer? (by setting "j3d.rend" property to "d3d")

bumpert
Offline
Joined: 2004-10-14

For the j3d.rend, it's change nothing for me, still have the problem but correct me if i'm wrong, i added this parameter to my jre param like the memory maximum heap and things like that.

For the offsreen test it seems ok, i'll continu to test a bit, but i don't have any problem with those applets.

thx for help

bumpert
Offline
Joined: 2004-10-14

If that could help, with my applet i only have to minimize to cause the problem. With the OffScreenTest.html i can reproduce my bug if i minimize and maximize rapidly the browser a couple of times.

thx for help

bumpert
Offline
Joined: 2004-10-14

Any ideas on how i can solve my problem?

thx for help