Delphi Sleep时间不准解决方案

来源:互联网 发布:荀彧 知乎 编辑:程序博客网 时间:2024/05/02 00:22

在点阵移动时Sleep,时间不准,导至不同的机器不同的系统显示出来的速度,停留时间都不一样,导到效果很差.

比如模访LED显示,LCD显示。

以下是我写的延时函数.这个比较准.

procedure Delay(dwMilliseconds:DWORD);  //  Longint
var
iStart,iStop:DWORD;
begin
    iStart :=   GetTickCount;
    repeat
    iStop  :=   GetTickCount;
    Application.ProcessMessages;
    until (iStop  -  iStart) >= dwMilliseconds;
end; 

在这之前我做个一个实验是采用循还,每一次Sleep一个毫秒。最后效果很差。显示出来的东西在不同的机器上,不同的操作系统上时间都不一样。

特别声明本应用只在主线程中测试通过。

同时欢迎各位一起讨论学习。本人从事原做底层开发,现转做PC软件,图像处理,字库,以及通信软件。

MSN:nhczp@hotmail.com

原创粉丝点击