所以我想为我的 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 帧。
最佳答案
使用 Sleep()
函数将一些 CPU 使用时间还给 Windows。
Sleep()
函数导致线程放弃其时间片的剩余部分,并在基于 dwMilliseconds 值的时间间隔内变得不可运行。系统时钟以恒定速率“滴答”。如果 dwMilliseconds 小于系统时钟的分辨率,线程可能会休眠少于指定的时间长度。
在 sleep 间隔过去后,线程准备运行。如果您指定 0 毫秒,线程将放弃其剩余的时间片但保持就绪状态。请注意,不保证就绪线程会立即运行。因此,线程可能要等到 sleep 间隔结束后的某个时间才能运行。
#include <Windows.h>
int main(){
Sleep(100); //100 Milliseconds or 0.1 seconds
return 0;
}
关于c++ - 移动背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397457/