PDA

View Full Version : Tiny application, 0 FPS bug with nVidia drivers



zsolt.ero
07-31-2012, 11:47 AM
Hi, I've run into a really strange bug, when trying to write a tiny OpenGL application, this time using the Cinder (http://libcinder.org/) library.

The bug I'm suffering from is that in some circumstances, the application starts/runs at 0 FPS. The application is a tiny application, drawing some boxes and an AntTweakBar interface. It only happens on nVidia graphics.

Here is the source code (it's really short):
http://pastebin.com/dx0me7N1

The strange thing of this bug is that if I do any of the following, the example runs at full speed (around 100 FPS):
- run with F5 from Visual Studio (Start Debugging) => 100 FPS
- run with Ctrl + F5 (Start without Debugging) => 0 FPS
both examples are with Release build.

- if I remove the mParams.addText( "text" ); of AntTeakBar => 100 FPS
- if I remove the color changing glColor4f( randFloat(), 0.2, 0.3, 0.4 ); => 100 FPS
- if I remove the inner push-pop matrixes + translate => 100 FPS
- if I run with Intel iGPU => 100 FPS

Here is the compiled exe file on Dropbox:
https://www.dropbox.com/s/q7itapu7ywva5va/params_slow.exe

Can you test it (or compile from source) on your computer, if the bug is present or not? Can you tell me what should I do? I'm sure it's not a bug with Cinder or with AntTweakBar, but then I have no idea why is this bug present or what can I do with it.

Running Win 7 64, Quadro 1000M, 297.03

zsolt.ero
08-03-2012, 03:47 AM
OK, I have some update on this.

1. In every case when the slowdown happens, there is a couple of

First-chance exception at 0x004702e9 in params_slow.exe: 0xC0000005: Access violation writing location 0x01f75948.
visible in the Visual Studio debug output.
2. It is very tricky to get the debug output, as when I run with debugging (F5), there is now exception or slowdown present. The only way to get this error is to run the exe normally (or with Ctrl + F5), and use "Attach to process", in a new Visual Studio windows. In this case you can see the exceptions in VS.
3. It has nothing to do with Cinder, it happens with the official AntTweakBar examples too.
4. It only happens on specific nVidia drivers or cards!

I would like to ask you, can you have a look at the following:
From the latest AntTweakBar (1.15) distribution, can you run the example program TwSimpleGLUT.exe and do an "Attach to process" in Visual Studio debugger? I suspect this access violation happens because of nVidia drivers, but I have no way of confirming it.