屏幕保护程序会损害 CUDA 性能吗?

Posted

技术标签:

【中文标题】屏幕保护程序会损害 CUDA 性能吗?【英文标题】:screensaver hurts CUDA performance? 【发布时间】:2011-01-11 15:14:26 【问题描述】:

我注意到,当屏幕保护程序启动时,我的 CUDA 内核的运行时间几乎增加了两倍。即使是空白屏幕保护程序也会发生这种情况。

奇怪的是,这似乎与电源设置无关。当我禁用屏幕保护程序并关闭屏幕电源时,性能保持不变。当我将“关闭显示器”设置为“从不”并让屏幕保护程序启动时,它就会发生。

为什么会这样? 有没有办法抵消这种现象? 有没有办法告诉Windows不要启动屏幕保护程序? (媒体播放器是怎么做到的?)

我正在开发 XP SP2 x64

【问题讨论】:

屏幕保护程序启动时,您的 CPU 和/或 GPU 可能正在节流以节省电量。 【参考方案1】:

首先,有趣的是 CUDA 受到如此大的影响。

但这里是 win32 中避免屏幕保护程序启动的秘诀:

一种正常的方法是偶尔使用SendInput API 向自己发送“假”按键,以重置触发屏幕保护程序的非活动计时器。

但是,可以使用SystemParametersInfoSPI_SETBLOCKSENDINPUTRESETS 参数来阻止应用程序执行此操作。

另一种方法是以编程方式关闭屏幕保护程序,将SPI_SETSCREENSAVEACTIVE 用于SystemParametersInfo。但是,这是针对整个用户的全局设置——如果两个程序使用这种重叠会怎样?尽量避免这种情况!

【讨论】:

以上是关于屏幕保护程序会损害 CUDA 性能吗?的主要内容,如果未能解决你的问题,请参考以下文章

标准化真的会损害高流量站点的性能吗?

在宏中过度使用会损害性能吗?

更多的 HTML 属性或值会损害 Angular 的性能吗?

jQuery Mobile 在多大的 DOM 大小时会开始变得迟缓?添加数千个 LI 会损害性能吗?

CUDA如何从屏幕获取像素?

CUDA 加法与移位指令性能