Radeon 9700 color dept problem - desired: 32 bit, get: 16 bit

Hi folks,

i bought one of those Radeon 9700 Pro powered gfx boards but unfortunatly i experianced a few problems with it.

The first odd thing is the color dept.
I set PIXELFORMATDESCRIPTOR.cColorBits to 32, in order to get 32 bit color dept. If the application runs in fullscreen mode it looks like it just uses 16 bit color dept. (regardless of the desktop color setting)
If the game runs in windowed mode the result is different, depending on the desktop color setting.
32 bit desktop color dept looks like OpenGL is using only 16 Bit color dept!
16 bit desktop color dept looks like OpenGL is using the desired 32 Bit color dept!!! (But therefor the framerate drops from ~4000 to 11 !)
It’s pretty strange, because all works (and looks) well on a GeForce 2 GTS. (with which the game was developped)

Next strange thing is the framerate.
A GeForce (2GTS, 3) based gfx board allways displays a framerate thats less or equal the screen refresh rate, while the radeon 9700 card displays framerates up to 4000+ frames! (at 75 Hz refresh rate).

An other problem i’ve noticed has something to do with the screen resolution.
Some games (battlefield 1942 and dungeon siege) are not able to set the screen resolution propper. It looks like those games are using a resolution of 800x600, but the resolution is set to only 640x480 - which leads to a missing part.
I have not noticed this problem in the game i am currently working on because i just use a resolution of 640x480 - just like to know what can cause and how to avoid it.

Non of the above problems appeared on GeForce based gfx boards - fortunatly i noticed them!
Please let me know if you have any ideas on what can cause the problems or how to solve them.
Thank’s in advance,
Mike

Set cColorBits to 24 not 32. And if you need destination alpha set cAlphaBits to 8. For windowed applications you should set the number of bits to match the desktop, anything else will likely switch to software rendering mode.

Regarding the framerate - if you set the refresh interval to 0 using wglSwapIntervalEXT( 0 ), then your fps is not locked to the monitor’s refresh rate.

PH, thank you for the quick reply!
I’ve tried to set cColorBits to 24 (as well as cAlphaBits to 8 - previously 16) but the result is still the same.
Looks like i’ve done something else wrong. But what?. And why does it only appear on the radeon based system?

Please let me know and thank’s in advance,
Mike

Strange. I’ve never had any of those problems, so I’m afraid I can’t help any further. Are you using the latest official Catalyst drivers ( version 2.4 ) ?

I can’t really answer any questions about your resolution problems. Make sure you have up to date drivers, as there was an issue with Battlefield 1942 in Sept or so, but it has been fixed for some time.

As for the color depth issues you are seeing, I do have one idea. Check the texture formats you are requesting and the position of the texture quality slider in the control panel. Make sure that you are using sized internal formats like RGBA8 instead of RGBA. Chossing unsized formats will cause the driver to take more liberty in choosing smaller formats. Also, the texture quality slider can cause the driver to choose smaller formats.

With the vSynch issue, the problem is almost certainly related to the control panel. The control panel allows the app vSynch setting to be over-ridden.

It would be helpful if you describe more precisely what you mean by things looking 32-bit versus 16 bit. I am guessing that you are seeing banding, but without a better description it is hard to tell. I would assume the reason that 16 bit is looking better to you right now, is that the texture formats you are getting are 16 bit, and when we are in 32 bit rendering the results are going straight to the frame buffer. In 16 bit mode, dithering will probably improve some of the banding.

-Evan

thank’s again for the quick response!

The lost texture colors was caused by the texture slider in the control pannel.
ehart, thank you verry much for this info!
Next thing i’ll try is to replace the texture format with RGBA8.

Thank’s again,
Mike