Skip to main content
GameDev.net gamedev.net
🔒 Locked

Nvidia Driver issue.

Started by Battagline Jan 24, 2006 at 7:12 PM 24 replies 6.8k views
Original Post
Battagline
Battagline
I seem to be having an issue with GeForce Cards putting a black box around my mouse cursor. The problem exists only when the Nvidia driver is more recent than the 0.66 version. For the moment, I have been telling people to downgrade their drivers. Obviously this is not an acceptable long term solution. Has anyone else experienced this issue? I'm using DirectX 8.1. Everything looks fine on ATI cards and looks good on GeForce cards with the older driver. Screen Shot: Thanks
Namethatnobodyelsetook
Namethatnobodyelsetook
I haven't seen this problem come up in a long time (years!), but it was always suggested to go to your display properties (Desktop right click, properties), settings, advanced, troubleshoot, and lower the Hardware acceleration slider by 1 notch.

That's the only advice I have, so I hope it works. :)
kovacsp
kovacsp
why don't you send nvidia a simplified repro case with source? hopefully they'll correct it for you, if it is really a driver bug.

kp
------------------------------------------------------------Neo, the Matrix should be 16-byte aligned for better performance!
Battagline
Battagline
Quote:
Original post by kovacsp
why don't you send nvidia a simplified repro case with source? hopefully they'll correct it for you, if it is really a driver bug.

kp


Well, I'm not completely sure it is a driver bug. I was hoping someone else had the same issue, so I could know.

Now for a stupid question. How do you send nvidia a repro case?

Thanks
jollyjeffers
jollyjeffers
Quote:
Original post by Battagline
Well, I'm not completely sure it is a driver bug. I was hoping someone else had the same issue, so I could know.

The best way to verify driver/hardware bugs is to run your application using the reference rasterizer. The RefRast sticks to the D3D specification - so if the hardware differs from the RefRast it's usually a good sign that the hardware/driver is wrong [smile]

Original post by Battagline
Now for a stupid question. How do you send nvidia a repro case?]
Nvidia Developer relations is the place to be. Looks like you need to sign up as a registered developer first.

hth
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
kovacsp
kovacsp
Quote:
Original post by Battagline
Now for a stupid question. How do you send nvidia a repro case?


After you have registered yourself as a developer, you'll get a login to the nvDeveloper site. There, you'll find a "Bug Report" button in the menu on the left.

kp
------------------------------------------------------------Neo, the Matrix should be 16-byte aligned for better performance!
Battagline
Battagline
Quote:
Original post by jollyjeffers
Quote:
Original post by Battagline
Well, I'm not completely sure it is a driver bug. I was hoping someone else had the same issue, so I could know.

The best way to verify driver/hardware bugs is to run your application using the reference rasterizer. The RefRast sticks to the D3D specification - so if the hardware differs from the RefRast it's usually a good sign that the hardware/driver is wrong [smile]

Quote:
Original post by Battagline
Now for a stupid question. How do you send nvidia a repro case?]
Nvidia Developer relations is the place to be. Looks like you need to sign up as a registered developer first.

hth
Jack



When you say use the RefRast do you mean create the device with the following parameters?:

pID3D->CreateDevice(D3DADAPTER_DEFAULT,
D3DDEVTYPE_REF,
hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&present,
&pID3DDevice);

Thanks,
Rick
jollyjeffers
jollyjeffers
Yup, thats all there is to it - swap D3DDEVTYPE_HAL for D3DDEVTYPE_REF [smile]

I don't think it's required, but it's probably a good idea to have the debug runtimes enabled and cranked up to maximum validation/output as well.

hth
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
Battagline
Battagline
Quote:
Original post by jollyjeffers
Yup, thats all there is to it - swap D3DDEVTYPE_HAL for D3DDEVTYPE_REF [smile]

I don't think it's required, but it's probably a good idea to have the debug runtimes enabled and cranked up to maximum validation/output as well.

hth
Jack


Thanks a lot, I'll give it a try.
DrGUI
DrGUI
Hey Battagline! (Rick?)
I haven't seen you for ages man, I'll check out how your game's coming along.
Is that the problem I found all that time ago? Pesky me :p
Do you render your cursor using SetCursor, ShowCursor or draw it manually?
Battagline
Battagline
Quote:
Original post by DrGUI
Hey Battagline! (Rick?)
I haven't seen you for ages man, I'll check out how your game's coming along.
Is that the problem I found all that time ago? Pesky me :p
Do you render your cursor using SetCursor, ShowCursor or draw it manually?


Yeah... I put it off too long. I haven't put a new version of the game on my web site since August. I've been pretty focused on getting the game ready for the Slamdance competition, but they were using Nvidia cards so I had to downgrade the driver on their machines. Sorry I haven't been around much. Send me an email some time.

Oh, and I use SetCursor, ShowCursor.
Namethatnobodyelsetook
Namethatnobodyelsetook
Bear in mind that REF is slow. Very slow. Even on a 3 GHz machine, using REF to draw the spinning triangle tutorial runs at only maybe 2-3 FPS. A real scene may take a long time. I've never actually attempted to use it for anything more than a couple polys, so I can't say how long a typical scene may take to render. Be patient. :)
Battagline
Battagline
I'm going to change my question a bit. Here's what I have:

g_pDevice->CreateRenderTarget(  32,				64,				D3DFMT_A8R8G8B8,				D3DMULTISAMPLE_NONE,				TRUE,				&m_pCursorSurf );D3DXLoadSurfaceFromFile( m_pCursorSurf, 			0, 			0, 			"cursor.png", 			0, 			D3DX_FILTER_NONE, 			0, 			0 );g_pDevice->SetCursorProperties( 15, 15, m_pCursorSurf );g_pDevice->ShowCursor(TRUE);


I'm not sure why the Surface has to be created as 32x64, but if I create 32x32 the cursor doesn't show up on either card. All the pixels that should be transparent, appear as black on the Nvidia card. Does anyone know what I'm doing wrong?

Thanks,
Rick
jollyjeffers
jollyjeffers
Quote:
Original post by Namethatnobodyelsetook
Bear in mind that REF is slow. Very slow. Even on a 3 GHz machine, using REF to draw the spinning triangle tutorial runs at only maybe 2-3 FPS. A real scene may take a long time. I've never actually attempted to use it for anything more than a couple polys, so I can't say how long a typical scene may take to render. Be patient. :)

I'd like to correct that slightly: "Be very patient" [lol]

I've been trying some of the D3D10 samples recently - Vista+RefRast+3ghz PC = slow. I almost managed to go make myself a coffee whilst waiting for one of the demos to render [oh]

Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
Battagline
Battagline
Well, I was able to get it to render in REF mode on my machine that has the Nvidia card (it was very very slow). It did still have the box around the cursor. I could NOT get it to render on my box that has the ATI card. I started it up, and went to dinner. 1 & 1/2 hours later, it was still in the middle of starting up the first screen.

Any ideas?

Thanks,
Rick
pcwlai
pcwlai
I have the same problem on drawing particles with PNG textures with those transparent potions being drawn as black.

I solved it by changing the alpha blending operations to source alpha and one destination. I don't have time to investigate why but I get the steps behind. When using PNG etxtures with alpha and loading them with D3DX library, this just happens (normal with TGA though).

And I am using D3D 8.1 as well. Hope this help.
The poorest programmer in the game industry!!
Battagline
Battagline
Quote:
Original post by pcwlai
I have the same problem on drawing particles with PNG textures with those transparent potions being drawn as black.

I solved it by changing the alpha blending operations to source alpha and one destination. I don't have time to investigate why but I get the steps behind. When using PNG etxtures with alpha and loading them with D3DX library, this just happens (normal with TGA though).

And I am using D3D 8.1 as well. Hope this help.


Thanks!

I'll try a .TGA and see if that helps. I did try using a .DDS, but that made no difference.

Thanks again,
Rick
hplus0603
hplus0603
The trick with REF is to make your window 120x90 or so in size. This will allow it to render about a frame per two or three seconds, which ought to be enough to get where you need to go for testing.

Also, supporting switching between REF and HAL at runtims is great if you need to get to a particular scene within the game. Last, pausing simulation is also useful, as physics usually doesn't like being stepped only once in a blue moon, with physics steps the size of aeons.
enum Bool { True, False, FileNotFound };

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.