所以我希望我的PC有一个移动的背景,所以我尝试了我制作的c ++代码。我使用的代码不允许我使用GIF,因此代之以制作动画层,程序将继续更改背景图像以创建移动背景。问题是该程序使用过多的CPU使用并导致图像滞后。所以我想知道使用c ++是否有任何解决方法。我知道我可以使用其他程序,但我想学习一些c ++,特别是与操作系统交互的程序。
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)"image01.jpg", SPIF_UPDATEINIFILE );
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)"image02.jpg", SPIF_UPDATEINIFILE );
我也有大约23帧。
答案 0 :(得分:0)
使用Sleep()
功能将一些CPU使用时间回馈给Windows。
Sleep()
函数导致线程放弃其时间片的剩余部分,并根据dwMilliseconds的值在一个时间间隔内变得不可用。系统时钟以恒定速率“滴答”。如果dwMilliseconds小于系统时钟的分辨率,则线程可能会睡眠时间少于指定的时间长度。
休眠间隔过后,线程就可以运行了。如果指定0毫秒,则线程将放弃其时间片的剩余部分但仍保持准备状态。请注意,不保证立即运行就绪线程。因此,线程可能在睡眠间隔过去一段时间后才会运行。
#include <Windows.h>
int main(){
Sleep(100); //100 Milliseconds or 0.1 seconds
return 0;
}