Sign in to follow this  

problems with Direct X 9 and g660 card

This topic is 3413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, Maybe someone can help me.... I'm programming a game engine on my laptop PC using C++ & Direct X 9 SDK. It works fine on the laptop with 'USE_HARDWARE_VERTEX_PROCESSING' but it won't work properly on my desktop PC unless I choose 'USE_SOFTWARE_VERTEX_PROCESSING', where it works fine but ofcourse the frame rate becomes teadiously slow. The nature of the 'not working' is as follows: The program doesn't crash, but it won't render graphics to the screen. It's just a blank white screen (it's designed to execute in windowed mode). The menu's continue to function as does sound effects. The desktop sports a 6600 GT graphics card. Using the direct X 'examine caps' utility, i can see vertually no difference in the capabilities between the desktop graphics card & the Laptop graphics card. The program uses direct X lighting methods, and when i edit this out of the code, the program runs fine on the desktop (with hardware vertex processing), so this is clearly where the problem lies. THe code has been rigerously checked and i'm confident that it doesn't contain any mistakes. Also, the direct X debugging tools fail to pinpoint the problem. Is it possible that fixed pipeline direct X methods are simply incompatible with the geforce graphics cards ? I would be greatfull if some one could shed some light on this.........

Share this post


Link to post
Share on other sites
G660 don't gives any video card result on google, but if you are talking about the GeForce 6600, it is more than capable of doing hardware accelerated DirectX graphics. First thing you should try before thinking about programming your own engine and finding flaws is simply to try to play a game on it. If a commercial game work, your engine should work, if it doesn't well you have a problem. if you have a problem, make sure you have the latest video drivers installer (www.nvidia.com) and DirectX runtimes.

Share this post


Link to post
Share on other sites
I would imagine you're making some sort of assumption about one or more features/capabilities that your laptop can handle but your desktop can't. In quite a few situations this doesn't constitute a hard error and you'll get the sort of behaviour you describe.

The #1 thing you should do is use the debug runtimes. In fact, these should just be left switched on for your dev machine. They are your best friend. Either examine the output via Visual Studio or fire up the sysinternals tool for capturing it from a proper deployment.

In doing so I'd imagine you'll get a whole bunch of warnings or errors being reported that tell you exactly why its not working [smile]

I assume, of course, that you're checking all of your HRESULT's and doing proper device enumeration, right? [grin]


Jack

Share this post


Link to post
Share on other sites
Some useful debug tips:

Try using the REF device. If you get the error there, then it's a good indication the problem is in your code.

Use PIX. You can see what the draw call does. You'll see which vertices are transformed and how.


Regarding the problem, one thing which can cause such a problem is wrong parameters for the DrawIndexed call. Parameters such as NumVertices are sometimes ignored, which leads to calls working even if the parameter isn't correct.

Share this post


Link to post
Share on other sites

This topic is 3413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this