線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2048
推到 Plurk!
推到 Facebook!

關於 "使用CPU時間戳進行高精度計時"

答題得分者是:RaynorPao
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-16 14:10:30 IP:203.75.xxx.xxx 未訂閱
在本版有一篇文章 "使用CPU時間戳進行高精度計時", 不知各位有沒有依照方法去實作一下, 以下是我實作的結果: unsigned __int64 GetCycleCount() { __emit__(0x0F,0x31); } void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString asTemp00, asTemp01; unsigned __int64 ulT1, ulT2, ulT3, ulT4, ulT5; ulT1 = GetCycleCount(); Sleep(500); ulT2 = GetCycleCount(); Sleep(1000); ulT3 = GetCycleCount(); ulT4 = ulT2 - ulT1; ulT5 = ulT3 - ulT2; asTemp00.sprintf("[%u]",ulT4); asTemp01.sprintf("[%u]",ulT5); Caption = asTemp00 asTemp01; } 如果上面的 sample code 沒錯的話, 執行一下您就會發現數據抖動的情形實在太誇張了, 請教各位有什麼方法可以改進嗎, 我總是覺得用 QueryPerformaceCount 比較好說, 附帶請教的是如何得到QueryPerformaceCount 一秒鐘有多少的正確值. 謝謝. Jesse Chan
------
Jesse Chan
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-18 00:17:21 IP:61.221.xxx.xxx 未訂閱
引言: QueryPerformaceCount 比較好說, 附帶請教的是如何得到QueryPerformaceCount 一秒鐘有多少的正確值. 謝謝.
jessechan 你好: 你說的是像這樣嗎?? < class="code"> void __fastcall TForm1::Button1Click(TObject *Sender) { LARGE_INTEGER liStartCounter; QueryPerformanceCounter(&liStartCounter); Label1->Caption=IntToStr(liStartCounter.QuadPart); LARGE_INTEGER liFrequency; QueryPerformanceFrequency(&liFrequency); Label2->Caption=IntToStr(liFrequency.QuadPart); LARGE_INTEGER liEndCounter; QueryPerformanceCounter(&liEndCounter); Label3->Caption=IntToStr(liEndCounter.QuadPart); char szBuf[256]={0}; double dSec=(double)(liEndCounter.QuadPart-liStartCounter.QuadPart)/ (double)liFrequency.QuadPart; sprintf(szBuf, "%.10f", dSec); Label4->Caption=szBuf; } -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2002/12/18 08:38:18
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
lgm55
一般會員


發表:14
回覆:34
積分:9
註冊:2004-03-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-05 00:44:00 IP:211.76.xxx.xxx 未訂閱
試的結果可以.. 只是奇怪的是第一次按botton執行所需時間約0.031秒 第二次以後按botton都大概在0.00068秒左右 啊..不管啦...反正結果已不再是0就好啦 謝謝囉... 發表人 - lgm55 於 2004/05/05 00:48:35
系統時間:2024-05-05 9:23:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!