程序库: AccurateTimer

 

AccurateTimer:

提高了标准计时器的精确度。


作者: fxsaber

 
您在工作时没有出错 吗?您是否尝试过在弱系统(例如上网本)上进行测试?
 
Andrey Khatimlianskii:
您在工作时没有出错 吗?您尝试过在弱系统(例如上网本)上测试吗?

我从未遇到过这种错误。我得在上网本上试试。

 
fxsaber:

以前从未遇到过这种错误。我得在我的上网本上试试。

我在租用的 hetzner 服务器上遇到过几次。

提示是定时器的定期重现是潜在故障的根源。

 
Andrey Khatimlianskii:

我在 Hetzner 租用的服务器上遇到过几次这种情况。

我的意思是,定时器的定期重启是潜在故障的根源。

明白了,谢谢!当然,这个错误是无法避免的。也许开发人员会修复它。

 
fxsaber:

知道了,谢谢!当然,这个错误是无法避免的。也许开发人员会修复它。

@Slava 提到的系统错误描述来看--不太可能 =(

 
Andrey Khatimlianskii:

@Slava 提到的系统错误描述来看 - 不太可能 =(

斯拉瓦已经告诉了他自己的负面意见。但 fxsaber 并不相信

 
Rashid Umarov:

Glory 已经把他的负面意见告诉了他。但 fxsaber 不相信

我可能漏掉了什么。您能再说一遍吗?

 
Automated-Trading:

AccurateTimer

作者:fxsaber

GetMicrosecondCount 和 EventSetTimer 显然使用了不同的时间源,由于它们计算的时间不同,因此必然会出现偏差。

试图使它们同步是错误的 :-)

 
Maxim Kuznetsov:

GetMicrosecondCount 和 EventSetTimer 显然使用了不同的时间源,由于它们计算的时间不同,因此必然会出现分歧。

试图使它们同步是错误的 :-)

在 00:00:00:00 设置第二个计时器。看看第 300 次调用 OnTimer 之后的时间。相信我,你不会看到 00:05:00(整整五分钟)。图书馆不会出现这种差异。

 
fxsaber:

将第二个计时器设置为 00:00:00:00:00。然后看看第 300 次调用 OnTimer 之后的时间。相信我,你不会看到 00:05:00。图书馆不会出现这种差异。

哦,真是个顽固不化的笨蛋 :-)

GetMicrosecondTimer 用于剖析、性能测量和小周期延迟。显然,它可以获取进程或轨道的记账时间(开发人员可以指定,但为什么呢?)

EventSetTimer 采用单调时间或实时时间(前者更有可能),并在计时器滴答作响时以某种方式调用 OnTimer。为此,它使用了系统描述符,这就造成了一些问题,定时器可能根本无法通过 EventSetTimer 启动。

以上都是不同的定时器。在已加载的机器上,这些差异将是显著而自然的