在VC中Sleep的等待时间精度不准,可以用如下方法:
用WaitForSingleObject来做定时让某段代码执行的,于是试了试,一试之下立即发现效果明显,CPU占用率一下子回到了个位数。更改后的代码如下:
void MySleep(int interval){
HANDLE evt;
evt = CreateEvent(NULL, TRUE, FALSE, NULL);
WaitForSingleObject(evt, interval);
CloseHandle(evt);
}
av_gettime(),精确到微妙,更加精确;