Suspend BOINC when full screen game is running (better than exclusive_app)
Running sceintific distributed computing apps in BOINC is nice, but they slow down the computer too much if you want to play a demanding 3D game. This is expecially true for BOINC GPU computing projects.
In fact if you have just one GPU it makes sense to suspend it if you have only one videocard in your system. If you are running a crossfire/SLI setup then there is absolutely no harm in running GPU compute tasks on your second GPU while you work. Apart from extra watts that your computer will convert into heat, you will not see a difference.
Do disable computing on main GPU you can use ignore_ati_dev/ignore_cuda_dev/ignore_nvidia_dev BOINC options.
There is also exclusive_app app option. It allows you to list processes/games that require full power of your hardware. When such a process is started, BOINC suspends all computing tasks. The problem is that you have to specify every single process/game name here. If you get a new game, you can to edit the cc_config.xml file and restart BOINC.
I spent a few hours with Visual Studio I’ve conjured up a simple app that would cause BOINC to suspend computing when any full-screen application is started on the primary monitor.
You can download the app here: http://www.everydayinternetstuff.com/wp-content/uploads/2012/04/FullScreenDetect.zip
Here’s how to use it:
Every time a full screen app is started FullScreenDetect.exe will launch FullScreenDetectIsActive.exe. It will keep running as long as the fullscreen app is in the foreground. BOINC will detect presence of this process and pause computational tasks until it exists.
The app is written in C# so it requirest .NET Framework 2.0 to run. It shouldn’t be a problem on Windows Vista, Windows 7 and Windows 8. Windows XP doesn’t come with .NET pre-installed but in all likelyhood it should have been installed at some point. The app is very lightweight and doesn’t use up measurable amount of system resources. In fact it spends most of its time sleeping.
Although technically screensaver is a full screen application, there is an exception for them. If screensaver is running (ex: pretty BOINC screensaver) you are likely away from the PC and certainly wouldn’t mind your GPU being used for scientific purposes.