| | 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 |