Hang when running two programs side by side

I am trying to debug a networked game with OpenGL rendered graphics. I’m running one instance as server, the other as client. Runs smoothly; the frame rate typically maxes out to vsync in both instances.
But once one of the two instances appears to exceed a certain GPU bandwidth limit (due to viewpoint changes), the system locks up for ~1 sec, runs smoothly again for ~1 sec, locks up, etc. It is not just the program instance that hangs; the entire system becomes unresponsive, desktop, cursor, both in-game audio and music player software halts.
When the scene complexity is reduced, the program immediately runs smoothly again.

System and graphics memory graphs stay level and stable during these hangs, nothing suggests virtual memory swapping like the Alt+Tab issues with recent NV driver series. One instance uses about 45MB system memory (~3GB available), and one instance uses about 30% of available graphics memory (~500 available). One single FBO, various VBOs and textures but nothing I would call heavy, and shaders are simple. No memory leaks detected.

System: WinXP, NV8800GT, I tried several recent drivers, problem persists.

Any idea what could cause this? If it could be a problem with my program, where should I start looking? If it’s a hardware/driver problem, any workarounds?

It would be nice if I can continue development & debugging on the same machine.

Any tips for debugging networked games (other than running it two physical machines)?

You can try Win7 o Vista, they have better graphic stack architecture, the gpu memory is virtualized there and both handle gpu hangs better.

I’ve had some luck now by disabling multi-sampling and downsizing FBOs.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.