我的方法。核心是引擎。 - 页 148

 
Oleg Papkov:

可能是不匹配:EA和引擎,1-都互相传输,2-都接收,它们的OnTimer周期不同步。等待意外同步的时刻,才能正常工作。这可能是原因吗?

处理器负载高达40%。它并不关键,几乎没有减慢速度,但我仍然不喜欢它。原因目前还不清楚。ResourceReadImage函数和数组的初始化 在绘图块内是缓慢的。如果我注释掉循环,就会减慢ResourceReadImage的速度,如果我注释掉ResourceReadImage,就会减慢循环的速度。此外,它们分别对处理器的负载为50%,但它们一起对处理器的负载为40%。什么事都有可能...

 

我想把引擎和EA之间的文本信息频率降低到每秒5次(200ms)。反正一个人没有时间再快地掌握改变数字的意义。因此,30ms的变化率没有实际意义。

其他信息,如动画 和控制事件,将在30ms内出现。

 
Реter Konow:
奥列格-帕普科夫

可能是不匹配:EA和引擎,1-都互相传输,2-都接收,它们的OnTimer周期不同步。等待意外同步的时刻,才能正常工作。这可能是原因吗?

处理器负载高达40%。它并不关键,几乎没有减慢速度,但我仍然不喜欢它。原因目前还不清楚。ResourceReadImage函数和数组的初始化 在绘图块内是缓慢的。如果我注释掉循环,就会减慢ResourceReadImage的速度,如果我注释掉ResourceReadImage,就会减慢循环的速度。此外,它们分别对处理器的负载为50%,但它们一起对处理器的负载为40%。它只是没有任何意义。

我不能帮助它。我不擅长这个话题。谷歌的情况如何?搜索 "resourcereadimage mql4的速度"。

 
Oleg Papkov:

我不能帮你这个忙。我不擅长这个话题。在Googl上搜索一下如何?搜索 "resourcereadimage mql4的速度"。

谢谢,但谷歌在这里帮不上忙))。我已经几乎将GUI的响应规范化了。我直到最后也没有弄清楚原因。我现在将为不同的信息类型分割波特率,这最终将进一步改善通信。然后,我会把新引擎寄给你。

 
Реter Konow:

谢谢,但谷歌在这里帮不上忙)。我几乎已经把GUI的反应规范化了。没有完全理解其中的原因。我现在将为不同类型的信息分割波特率,这最终将进一步改善通信。然后,我给你丢一个新的引擎。

明白了。

 

嗯,现在还没缓过来。虽然在30ms时CPU的负载是~40%。也就是说,当重绘面积增加时,有可能会增加(虽然不确定)。需要用大表检查。

到目前为止,这是在测试器中使用EA的发动机的结果,测试速度为31。

(点击查看)


重要的是,当窗口关闭时,处理器负载立即下降。

 
简而言之,我会把它放在一起--我们会看到。慢慢来几份?
 
Oleg Papkov:
总之,我把它放在一起看看。不急着用多份?

不,我想我已经知道了原因。我今天会去看看的。然后,我将使它有可能与几个副本一起工作。

 

表格的输出速度被调节,以减少处理器的空闲负荷。

在数据输出的最大速度下,人没有时间来评估数据。有必要放慢数据流以改善感知。

现在,在引擎的标准菜单中,有一个新的项目 "Set Values Change Delay",它带来了一个带有速度滑块的窗口。

通过移动滑块,你可以调整数据输出的速度,并达到可接受的改变数值的感知节奏。

重要的是,数值本身的变化与滑块无关,但对表格的输出速度是由用户设定的。


 
Реter Konow:

表格的输出速度被调节,以减少处理器的空闲负荷。

在数据输出的最大速度下,人没有时间来评估数据。有必要放慢数据流,以改善感知。

现在,在引擎的标准菜单中,有一个新的项目 "Values Change Speed Controller",它带来了一个关于速度控制器的窗口。

通过移动滑块,你可以调整数据输出的速度,并达到一个可接受的改变数值的感知节奏。

重要的是,数值本身的变化与滑块无关,但表格的输出速度是由用户设定的。


通常情况下,人们习惯于将滑块向左移动以减少数值,向右移动以增加数值。你把它反过来了。诚如尼古拉所暗示的--你的一切都在抗议所有普遍接受的东西。