2010-02-01 74 views
0

我發現我的CUDA內核的運行時間幾乎增加了兩倍的時刻屏保踢。出現這種情況,即使它是空白屏幕保護程序。奇怪的是,這似乎與電源設置無關。當我禁用屏幕保護程序並關閉屏幕時,性能保持不變。當我將「關閉顯示器」設置爲「從不」,並讓屏幕保護程序啓動時,就會發生。screensaver傷害CUDA性能?

爲什麼會發生這種情況?
有沒有辦法來抵消這種現象?
有沒有辦法告訴Windows不要踢屏幕保護程序? (如何做媒體播放器做呢?)

我的工作XP SP2 x64的

+1

你的CPU和/或GPU可節流以節省功耗,當屏幕保護程序出現。 – Swiss 2010-02-01 08:33:40

回答

2

首先,其有趣的是,CUDA是如此的影響。

但在這裏是爲了避免屏幕在踢在Win32配方:

一個正常的做法是向自己發送偶爾使用SendInput API,「假」按鍵復位觸發屏幕保護程序不活動計時器。

但是,使用SystemParametersInfoSPI_SETBLOCKSENDINPUTRESETS參數可以阻止應用程序執行此操作。

另一種方法是關閉屏保程序,使用SPI_SETSCREENSAVEACTIVE代替SystemParametersInfo。但是,這是整個用戶的全局設置 - 如果兩個程序使用這種重疊,該怎麼辦?儘量避免這一點!