最近想编一个软件可以一边播放图片的特效,一边可以进行其他工作,在看了VC图像处理相关的书以后知道,实现图像的特效就是控制图像的显示顺序,通过一个循环可以实现,但是如果在循环内两次绘图之间需要进行延时,不然占用CPU太大,绘图也太快,在延时部分我使用了很多方法,如下所示:1.响应WM_TIMER消息,延时不准确,不稳定会出现波动
2.Sleep函数,跟WM_TIMER一样不稳定
3.通过GetTickCount函数循环查询,但是延时长的时候,占用CPU很大
4.通过timeGetTime循环查询,跟GetTickCount一样,延时长的话占CPU很大
5.通过QueryPerformanceFrequency()和QueryPerformanceCounter()进行查询延时,通用的占用CPU大
6.通过WaitForSingleObject函数进行等待延时,但是计时也不稳定
7.通过timeSetEvent设置回调函数进行,但是在不同配置的电脑上运行时间也不一样,并且当系统CPU占用大的时候,会出现停顿的现象由于不希望软件出现播放速度不稳定的现象,最近一直在想该怎么进行准确的计时,求各位赐教方法