A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

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/sites/10/2012/04/FullScreenDetect.zip

Here’s how to use it:

  1. Extract the FullScreenDetect.exe executable to any location of your choice
  2. Run FullScreenDetect.exe /install. This will cause the app to run every time you login Windows.
  3. Edit your cc_config.xml file and add <exclusive_app>FullScreenDetectIsActive.exe</exclusive_app>
  4. Restart BOINC so that configuration changes will take effect

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.

1 comment to Suspend BOINC when full screen game is running (better than exclusive_app)

  • Simon

    Hi!

    This is just the application I was looking for. However it doesn’t seem to work when you’re running a full screen application on a secondary monitor. Also it seem like the full screen application needs to be the active window.

    Would it be possible if you could look into this or perhaps share the source code and I could implement it myself?

    Thanks!

Leave a Reply