我注意到,当屏幕保护程序启动时,我的CUDA内核的运行时间几乎增加了两倍。即使它是空白屏幕保护程序,也会发生这种情况。
奇怪的是,这似乎与电源设置无关。当我禁用屏幕保护程序并让屏幕关机时,性能保持不变。当我将“关闭显示器”设置为“从不”并让屏幕保护程序启动时,就会发生这种情况。
为什么会这样?
有没有办法抵消这种现象?
有没有办法告诉窗户不要踢屏幕保护程序? (媒体播放器如何做到这一点?)
我正在使用XP SP2 x64
答案 0 :(得分:2)
首先,有趣的是CUDA受到了很大影响。
但是这里是win32中用于避免屏幕保护程序的配方:
正常的方法是偶尔使用SendInput
API向自己发送'假'按键,以重置触发屏幕保护程序的不活动计时器。
但是,可以使用SystemParametersInfo
的SPI_SETBLOCKSENDINPUTRESETS
参数停止执行此操作的应用程序。
另一种方法是使用SPI_SETSCREENSAVEACTIVE
SystemParametersInfo
以编程方式关闭屏幕保护程序。但是,这是整个用户的全局设置 - 如果两个程序使用这种重叠怎么办?尽量避免这种情况!