wiki:WindowsIssues

Version 1 (modified by davea, 11 years ago) (diff)

--

Windows Issue

Don't compute while movie playing

Problem: while a movie is playing there's no mouse/kbd input, and CPU usage can be low, so BOINC starts computing, possibly with GPU, and the playback is messed up.

How does BOINC know if a movie is playing? This was asked here: http://stackoverflow.com/questions/1154923/detect-movie-being-played-windows and the only answer was: make a list of video players, and see if any of them is running. That approach has many drawbacks.

Rom thinks there's a Windows API that media players call to tell the system not to start a screensaver. If we could read this flag, we could not compute when it's set.

The SystemParametersInfo() API has some stuff related to screensavers: http://msdn.microsoft.com/en-us/library/ms724947%28VS.85%29.aspx but it seems to be just whether the user has registered a screensaver (not whether it's eligible to run).

Don't turn on the fan

People don't like it when BOINC makes their fan go on high, especially if it pulses because of CPU throttling.

I think a good default policy would be to limit CPU usage (by # of cores and/or throttling) to keep from raising the fan speed. There are many possible policies. For any of them we need to be able to read the fan(s) speeds.

Some possibly relevant stuff:

ACPI http://www.acpi.info/

Windows Management Instrumentation: http://msdn.microsoft.com/en-us/library/windows/hardware/Dn614028(v=vs.85).aspx

Fan management tools http://www.almico.com/speedfan.php