pyrce007 wrote on Friday, February 18, 2011:
I’ve got a project that’s been using OpenGL C++ with glfw and I recently
figured out how to make my program use it’s Nvidia card by default instead of
built in graphics card (it has optimus so it default to the built-in chip).
This however has caused my program to always leave an Nvidia thread running
when I’ve returned from main.
I’ve called glfw terminate and terminated all other threads. The problem only
occurs if I use glfwOpenWindow with 8 bits for rgb and any value for the other
fields (tried changing those a lot to test possible context errors). I set
my program to terminate right after window creation and it still hangs on the
nvidia thread (I can see it in processor explorer and it’s the only live
thread) and refuses to end the program until I force quit the debug mode.
Actually running my program produces the same result once I quit via closing
the window or my quit key. This problem does not occur in my glut programs
using the nvidia card. I’ve also both updated to the most recent nvidia driver
for my card (Geforce GT 330M) and tried rolling back to an older driver with
no luck.
I’m using Windows7 64bit with visual studio 2008. I really like glfw over it’s
alternatives, but I can’t find what would cause this bug despite a few days of
internet searching and program testing. If someone has an idea for how to get
the nvidia thread to correctly terminate after my main thread returns it’d be
greatly appreciated.