I’m having a issue with a graphics card and I hope someone recognizes this issue and knows how to fix it. For a client I built a dedicated PC for a multi-camera infrared tracking system I’m building. This is a Windows 7 system with a AMD Radeon 7870 graphics card. AMD drivers come with a utility called ‘Catalyst Control Center’, which allows you to configure the settings of your hardware (v-sync, tesselation, anti-aliasing etc). After setting up the initial configuration, empty examples would run at 1000 fps.
After some time of developing I noticed that the framerate had dropped to 64 frames per second. After verifying that I did not make some kind of mistake, I tested an empty example which also had a framerate of 64 fps. I opened up the Control Center, checked a box and unchecked it again, and the framerate was back up to 1000 fps in the empty example. This happens with the vs2010 as well as with the code::blocks release of 0071. After some time (this can be 5 minutes or it can be 2 hours) it will happen again, and until now it has always happened after rebooting the system.
The application processes the feeds of 2 firewire Firefly MV’s and combines the tracking data into a single representation of the tracked surface. It makes use of some shaders, but only for basic filtering (background subtract, blur, amplify, threshold).
I tried installing new drivers for the graphics card (I upgraded to version 12.9 beta) but the problem persists.
Does this sound familiar to anyone?
In a recent job something like that happened to me:
- have you tried to turn off vertical sync in the ati control panel? and use ofSetVerticalSync()
- Be carefull using beta drivers
Yes, vertical sync is turned off in the control panel. Calling ofSetVerticSync(false) has no effect, neither does calling ofSetFramerate(). I’m a fairly inexperienced Windows user, do you have bad experiences with beta drivers?
in my project i use a big vector of gstreamer videoplayers, for me tweaking in the ati control panel did the trick. Sorry but i have no access to the computer to tell you wich, but to my memory comes the verticalsync settings and something like force smooth videoplayback.
Yes, I’ve seen improvements when turning off v-sync and the ‘enforce smooth video playback’ feature. The problem is that after a certain amount of time, and after rebooting, the settings are still configured correctly but the framerate is stuck at 64 fps.
This actually turned out to be a different issue with the system, not related to the graphics card. It’s the Sleep() method in the idle_cb function, at times it seems to have a minimum delay time of 15 ms! Very weird issue, using QueryPerformanceCounter and friends kind of fixed it (still weirdly inaccurate but the other way around, as in not enough delay as opposed to too much delay).
Hi Daan, I know this is old- but i’m having very similar problems. Just wondering if you could share the idle_cb()/Sleep() code you used to fix?
EDIT: all good, no need to send. i found a solution- http://forum.openframeworks.cc/t/emptyexample-running-at-50fps-in-release-mode/13731/1