您的位置:首页 > 其它

关于GetTickCount函数的用法

2014-08-07 15:14 344 查看
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
int a[200][200];  // 数组改大点,不要担心你的宝贝机器会受不了,如果只是区区赋值而已,它眼都不眨一气呵成。
DWORD begin,end,time;
begin = GetTickCount();
for(int i =0; i<200; i++)
{
for(int j=0; j<200; j++)
{
a[i][j] = i+j;
std::cout << a[i][j] << std:: endl; // 让它一个一个输出,这个可是比较可观的“活儿”
}
}
end = GetTickCount();
cout<<"begin="<<begin<<endl;
cout<<"end="<<end<<endl;
time = end - begin;
cout<<time;
return 0;
}
上面是GetTickCount函数最简单的用法,
让CPU占用率固定在50%,为一条直线:int main(){    const DWORD busyTime=10;  //设定CPU忙的时间为10ms    const DWORD idleTime=busyTime;  //CPU空闲的时间与忙的时间相等    DWORD starTime=0;    while(1)   //死循环,不关闭程序CPU的占用率则一直保持在50%    {        starTime=GetTickCount();          while(GetTickCount()-starTime<=busyTime)  //让CPU忙的循环            ;         Sleep(idleTime);  //CPU闲的时间    }    return 0;}*******************************************************************************************************************
你就当这个函数是得到机器开机后的到现在的毫秒数就行.通常是用在相对时间判断上,典型的例子是用在游戏中,控制每秒钟的帧数.//下面的代码把图像切换控制在33帧/秒int iBegin=GetTickCount();int iNow;while(TRUE){iNow=GetTickCount();if (iNow-iBegin<30) continue;iBegin=iNow;切换一幅图像.}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: