我做了一个对图片的操作的软件,做完一个操作怎么统计这个操作所用的时间?ms级的. static DWORD t1,t2,t3;begint1=GetTickCount()endt2=GetTickCount()t3=t2-t1?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 计算程序耗时,也可以使用QueryPerformanceFrequency和QueryPerformanceCounter函数,我这里有个例子,发给你看看 GetTickCount的精确度大约50ms,一般来说不适合作精确计时,可以用timeGetTime代替,精确度可以达到1ms级。用panda_w(好想睡啊!)的方法可以达到时钟周期级。 用下面这个函数: BOOL GetThreadTimes(HANDLE hThread, PFILETIME pftCreateTime,//线程创建时间(从GMT1601-1-1午夜后的100ns数) PFILETIME pftExitTime, //线程退出时间,同上 PFILETIME pftKernelTime, //操作代码执行时间 PFILETIME pftUserTime //应用程序代码执行时间 );上面返回的都是以100ns为单位的。而且,windows是抢占式操作系统,你不能确定你的线程何时得到CPU时间。用GetTickCount,取系统时间都会有问题。用GetThreadTimes就能比较精确地得到处理时间。 GetThreadTimes函数在Widows98里不支持。看来用QueryPerformanceFrequency和QueryPerformanceCounter是比较好的选择 LARGE_INTEGER的定义 关于IOCP的问题 如何实现鼠标左键点击任何地方,在文本框里的时间都能及时更新到当前时间? 怎么用宽度为1的线画成宽度为10的线 如何调用多个静态的lib库 我的用的vc用dao不能识别access创建的mdb文件,怎么回事呀?? 将一个mfc的类封装成 dll,如何 作 ? vc unhandled exception at 0x00000001是什么错误? 讨论一下,大家辞职时对上司说了些什么? VC6的profiler功能怎么用? 哪位大虾能提供一个文件加密的算法或例子? 如果,你是高手。请高手教!
用panda_w(好想睡啊!)的方法可以达到时钟周期级。
BOOL GetThreadTimes(HANDLE hThread,
PFILETIME pftCreateTime,//线程创建时间(从GMT1601-1-1午夜后的100ns数)
PFILETIME pftExitTime, //线程退出时间,同上
PFILETIME pftKernelTime, //操作代码执行时间
PFILETIME pftUserTime //应用程序代码执行时间
);
上面返回的都是以100ns为单位的。而且,windows是抢占式操作系统,你不能确定你的线程何时得到CPU时间。用GetTickCount,取系统时间都会有问题。用GetThreadTimes就能比较精确地得到处理时间。