CountGFXModes() Trouble

Blitz3D Forums/Blitz3D Programming/CountGFXModes() Trouble

Makepool(Posted 2007) [#1]
I'm having a bit of a problem with resolutions. I'm using code to determine which resolutions my graphics card can display which is all well and good. These commands I'm sure should also filter out any resolutions that my graphics card can support but my monitor can't display, hence it doesn't list 1600x1200 even though I have a GeForce 7950GT. It does however report that I can set the resolution of 1280x960, if I set this the program continues to work though my monitor cannot display this resolution. Has anybody else encountered this and what method would you recommend in dealing with it?


jfk EO-11110(Posted 2007) [#2]
I've seen similar situations. EG when I tried to set 512*384 (listed as supported) it gave me some kind of dos gfx garbage screen.

I suggest to offer only common resolutions, autodetect screen ratio (4:3 or 16:9) and additionally offer a screen settings dialog that can be started in windowed mode alternatively.

Not sure if it's possible to write a function that is capable of detecting if a resolution is actually working. You could use the webcam dll, then monitor the screen - just kiddin.


Mr.Waterlily(Posted 2007) [#3]
I have done a lot of checking for valid resolutions, and I havenīt seen any problems with getting an invalid resolution. If the drivers are correct.

The checking functions should return the exakt same modes that you can see in windows display settings. Plus additional resolutions below 800x600.

So check that you have correct drivers for your videocard AND your monitor.

If your monitor .inf file in incorrect you could garbage screens.


Subirenihil(Posted 2007) [#4]
Akin to this problem is one that I have encountered when I tested a program on a friends computer with dual monitors. The CountGFXMode3D() returned 0 even though he has a NVidia 6800. CountGFXMode() returned the correct number of modes, but GFXMode3D() returned False for each mode. He can play 3D games just fine, as well as run LightWave (a modelling and CGI program). I'm curious if Blitz is incompatible with dual monitors.


t3K|Mac(Posted 2007) [#5]
yes it is. and it doesnt work with resolutions >2048x1536 - i always get a "Unable to create 3D scene". i think its a dx7 issue...


jfk EO-11110(Posted 2007) [#6]
Quote
"So check that you have correct drivers for your videocard AND your monitor."

You can't say that to a customer.

One thing that maybe works (or MAVs?) is to set all resulotions that are offically supported (ORing 2D and 3D lists), set the resolutions one by one, then draw a certain pattern to the screen, get the 32 bit checksum or so and see if it's correct. Tho, this will only tell you if the card works, not the monitor.


Mr.Waterlily(Posted 2007) [#7]
Quote
"Quote
"So check that you have correct drivers for your videocard AND your monitor."

You can't say that to a customer."

Why not?

I know for a fact that if you use CountGFXMode() and the drivers arenīt correct, you will likely get incorrect results.
Most people have correct and updated videocard drivers, but thatīs often not the case with the monitor driver.
Often itīs just set as "Plug and Play Monitor", or "Default Monitor". And thatīs not good.

Another thing is that sometimes the refresh rates are manually set, in the drivers to a specific Hz on some resolutions to override the defaults. Atleast you can set this on some nvidia drivers.


jfk EO-11110(Posted 2007) [#8]
"Why not?"
Well, you can, but I wouldn't consider this robust code. If there's a way to doublecheck the support for a certain resolution then use it.