NVidia driver glitch? They might actually exist.

Started by
11 comments, last by Nemesis2k2 19 years, 9 months ago
Ok, here's the deal. I've been using vertex arrays for ages, and I figured I should look into VBO's, so I download the NeHe VBO tutorial to get the jist of it. I ran into an unexpected problem. It's easier if I just show you. It seems that a single vertex has disappeared into the void, throwing off the alignment of all the following triangles. It happens partway through the mesh, as you can kinda make out from this: The thing is this though, the data is intact when the VBO is created, and if I load the same data in a vertex array, the thing works fine. Even more than that, I'm running a multiple monitor setup, and when I span the window between the two screens, I get this: No prizes for guessing where the second card kicks in. Also, when I disable the primary card and run it entirely on the secondary one, it works perfectly. I really can't see any way this could be anything other than a bug in the chipset or the driver. If anyone has any theories, feel free to mention them and I'll test it out. I'll probably sit down and identify the exact vertex that goes missing later on and see if that has any relevance. I'll probably try installing older drivers too. Here are my relevant specs: OS: XP Professional SP1 Graphics card 1: GeForce4 MX440 Graphics card 2: GeForce2 MX400 PCI Drivers: NVidia Forceware 56.72
Advertisement
I had the same problem with the same tutorial when I still had my MX440, on my new Geforce FX it displays perfectly

I guess it's the card instead of the driver

not much you can do, maybe try the newest drivers from www.guru3d.com, but I guess it's a hardware related bug
well, i allways get that kind of `bugs` when i USE the beta drivers.
our new version has many new and good features. sadly, the good ones are not new and the new ones are not good
I can honestly say I haven't had bugs in either games, demos or my own code with beta drivers, but since the drivers are beta it wouldn't surprise me if it happens. I'll switch to the officials when I run into trouble ;)
I've had those problems with my ATI Radeon DDR, but it worked fine on a GeForce 2 MX. Also, when using simple Vertex Arrays it worked fine on both of the cards. I have no ideea what's causing it, but i've found out that if you render one less triangle (3 indices), you get rid of the artifacts but you loose that triangle which obviously is not a choice.
Running an application over multiple windows is a bad idea in general, except if you're using the same graphics card (with dual output). That's because the OpenGL rendering context is not compatible between the two graphics graphics cards. At best upgrade your drivers and you could get the application working. At worst you just have to run your applications onto the "main" screen only.
Actually, the Nvidia drivers seem to be able to run with full hardware acceleration qith multiple monitors, even while split over two screens under XP, which I was quite surprised about. I thought it'd have to kick back to software for spanned windows. I've noticed no bugs either.

Anyway, that aside, I knew someone would point at the multiple monitor thing, which is why I said this:
Quote:Also, when I disable the primary card and run it entirely on the secondary one, it works perfectly.

Likewise, when I disable my second card and run it entirely on the primary one, it still doesn't work. This isn't a multiple monitor issue. I should've made that clearer.
Whatsoever this is necessarily a driver issue, since both graphics cards do support vertex buffer objects. But I can understand pretty easily that it's hard to share data when such data should theorically be stored in graphics memory. The driver would either have to duplicate the ammount of data over both graphics cars, or it would have to fallback to software emulation (traditional VA's).

[edit] as a side note, the simple fact of "disabling" a video output in the configuration panel doesn't really mean the system behaves like there is one graphics card only. The only way to know how a single card responds is to uninstall drivers, unplug the graphics cards which video output should be discarded, and reinstall the drivers while only one graphics card is plugged.
Quote:Whatsoever this is necessarily a driver issue, since both graphics cards do support vertex buffer objects. But I can understand pretty easily that it's hard to share data when such data should theorically be stored in graphics memory. The driver would either have to duplicate the ammount of data over both graphics cars, or it would have to fallback to software emulation (traditional VA's).

I read the NVidia docs on the drivers awhile back and it said that when spanning a window, it dropped back to software. I've done some tests though and I can't see any evidence of this, so if it is, it's being done totally transparently (which is certanly a possibility). It runs in full hardware on each card though when not spanning windows though, that I can guarantee you. It didn't run OpenGL in hardware mode at all with multiple monitor under 98, which is the primary reason why I switched over to XP when I confirmed that it could.

Quote:[edit] as a side note, the simple fact of "disabling" a video output in the configuration panel doesn't really mean the system behaves like there is one graphics card only. The only way to know how a single card responds is to uninstall drivers, unplug the graphics cards which video output should be discarded, and reinstall the drivers while only one graphics card is plugged.

When the card is not added as part of my desktop, it makes about as much difference as an inactive TV out port. In fact, it makes precisely as much difference. None. Just to prove the point though (and so that I can finish setting up this software I'm installing) I'll disable the driver for the second card and reboot after this post though. I can't be arsed physically removing it since I already know it's not causing this problem (especially after the post that other guy made about his MX440), but disabing the driver is as good as doing that. If the driver isn't being started, nothing even knows it exists apart from the OS.
Tested. Same deal.

My computer feels so small. (re-enables second monitor)

This topic is closed to new replies.

Advertisement