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

請問有沒有更快的Timer元件

尚未結案
AJCooer
初階會員


發表:48
回覆:52
積分:25
註冊:2004-02-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-12 11:48:18 IP:61.218.xxx.xxx 未訂閱
在BCB5中,Timer 的 interval 單位 是 1 ms, 所以 我們只能做到最短interval = 1 ms. 請問有 interval 更小的 Timer嗎 例如 interval 單位= 1 us
tylin123
初階會員


發表:33
回覆:53
積分:32
註冊:2003-05-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-12 12:24:28 IP:61.218.xxx.xxx 未訂閱
Windows 的作業系統為多工的作業系統, Timer1 的 interval 時間若為 1ns 事實上已經沒有多大的意義了.因為光處理 Timer 事件中的指令都不只 1ns, 你還能期望下一個 1ns 是否可以準確嗎? 如果你真要抓取 1ns 的時間,Windows 本身倒是有提供 API.
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-12 12:53:06 IP:211.162.xxx.xxx 未訂閱
AJCooer大大您好,请参考以下API能否达到获得高精度时间的目的 ①QueryPerformanceCounter(),② QueryPerformanceFrequency() 这两个函数需要的头文件winbase.h,连接库:kernel32.lib ①该函数取得高分辨率性能计数器的当前值。 ②该函数取得高分辨率性能计数器的频率。 这两个函数都会返回一个Bool,表明性能计数器是否存在
....
    LARGE_INTEGER liCount,liFreq;        if (QueryPerformanceCounter(&liCount) && QueryPerformanceFrequency(&liFreq))
    {
        char szHighPerf[64];
        sprintf(szHeighPerf,"Count=,;Frequency=%d,%d",liCount.HighPart,liCount.LowPart,liFreq.HighPart,liFreq.LowPart);
        MessageBox(Null,szHighPerf,"Time test",MB_OK);
    }
....
还有GetTickCount(获取自启动以来的微秒函数),GetSystemTimeAdjustment,SetSystemTimeAdjustment(获得和设置系统调整时间函数),供您参考 < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
系統時間:2024-05-21 4:00:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!