| 1 | = Windows Issue = |
| 2 | |
| 3 | == Don't compute while movie playing == |
| 4 | |
| 5 | Problem: while a movie is playing there's no mouse/kbd input, |
| 6 | and CPU usage can be low, |
| 7 | so BOINC starts computing, possibly with GPU, |
| 8 | and the playback is messed up. |
| 9 | |
| 10 | How does BOINC know if a movie is playing? |
| 11 | This was asked here: http://stackoverflow.com/questions/1154923/detect-movie-being-played-windows |
| 12 | and the only answer was: make a list of video players, |
| 13 | and see if any of them is running. |
| 14 | That approach has many drawbacks. |
| 15 | |
| 16 | Rom thinks there's a Windows API that media players call to tell the system |
| 17 | not to start a screensaver. |
| 18 | If we could read this flag, we could not compute when it's set. |
| 19 | |
| 20 | The !SystemParametersInfo() API has some stuff related to screensavers: |
| 21 | http://msdn.microsoft.com/en-us/library/ms724947%28VS.85%29.aspx |
| 22 | but it seems to be just whether the user has registered a screensaver |
| 23 | (not whether it's eligible to run). |
| 24 | |
| 25 | == Don't turn on the fan == |
| 26 | |
| 27 | People don't like it when BOINC makes their fan go on high, |
| 28 | especially if it pulses because of CPU throttling. |
| 29 | |
| 30 | I think a good default policy would be to limit CPU usage |
| 31 | (by # of cores and/or throttling) to keep from raising the fan speed. |
| 32 | There are many possible policies. |
| 33 | For any of them we need to be able to read the fan(s) speeds. |
| 34 | |
| 35 | Some possibly relevant stuff: |
| 36 | |
| 37 | ACPI |
| 38 | http://www.acpi.info/ |
| 39 | |
| 40 | Windows Management Instrumentation: |
| 41 | http://msdn.microsoft.com/en-us/library/windows/hardware/Dn614028(v=vs.85).aspx |
| 42 | |
| 43 | Fan management tools |
| 44 | http://www.almico.com/speedfan.php |