I’m working on a real-time application and I’ve observed some periodic performance glitches (0.5ms) in the rendering with the nVidia driver. I’ve reduce the problem to a simple application. The application is drawing a given number of VBO (500 in this case) with a basic shader binded.
I’ve benchmark with a GTX280 and Quadro5800 on Windows XP. When I do my benchmark, I kill all services that are not useful including explorer.exe. I use vertical sync. My process is real-time and I make it run on a specific CPU.
Basically, my simple test application is doing this:
For each frame:
I benchmark all these calls and I’ve got the following graph:
Every 840th glFinish, there is a glitch. When I monitor the kernels systems calls, I can notice some NtGdiDeleteObjectApp calls on the glitchy glFinish. The process never lose the CPU, it looks like if the CPU is doing something different.
There is no glitch if I run the same testApp on a system with an ATI card.
I’m wondering if everyone has this problem with nVidia drivers.
Anyone know if there is a way to control this glitch?
My test app is available there: