void DelayTime(DWORD dwMilliseconds)
{
LARGE_INTEGER littmp;
LONGLONG lTimeBegin;
LONGLONG lTimeEnd;
double dMinus;
double dFreq;
double dTim;
QueryPerformanceFrequency(&littmp);
dFreq=(double)littmp.QuadPart;
QueryPerformanceCounter(&littmp);
lTimeBegin=littmp.QuadPart;
do
{
QueryPerformanceCounter(&littmp);
lTimeEnd=littmp.QuadPart;
dMinus=(double)(lTimeEnd-lTimeBegin);
dTim=dMinus/dFreq;
} while (dTim<dwMilliseconds*0.001);
}
{
LARGE_INTEGER littmp;
LONGLONG lTimeBegin;
LONGLONG lTimeEnd;
double dMinus;
double dFreq;
double dTim;
QueryPerformanceFrequency(&littmp);
dFreq=(double)littmp.QuadPart;
QueryPerformanceCounter(&littmp);
lTimeBegin=littmp.QuadPart;
do
{
QueryPerformanceCounter(&littmp);
lTimeEnd=littmp.QuadPart;
dMinus=(double)(lTimeEnd-lTimeBegin);
dTim=dMinus/dFreq;
} while (dTim<dwMilliseconds*0.001);
}
本文详细介绍了如何通过精确控制代码执行时间来实现毫秒级延迟的功能,采用高性能计时和频率查询技术,确保延时操作的准确性。此技术在实时系统、游戏开发和多媒体应用中尤为关键。
1391

被折叠的 条评论
为什么被折叠?



