视觉特效 - 页 7

 
Aleksey Vyazmikin:

可爱。开设交易所时的CPU负载如何,你知道,如果你把市场放在Si上?

是否有图形显示市场上的未结头寸?这是我在标准中所错过的。

在上一张中,未结头寸在价格周围用红色框架显示,在下一张中,它是在正方形。


 

全部在一个画布上

 
Rafil Nurmukhametov:

该处理器加载良好,在前一张图片中,你可以看到开仓,价格周围的框架是洋红色的,那里的位置是负的,在下图中,位置是正的。


不如简单地限制刷新率--每秒不超过10次更新?滞后会导致交易板卷曲,不是吗?

我可以看到位置状态指示--它看起来很舒服!

 
Aleksey Vyazmikin:

把刷新率简单限制在每秒不超过10次如何?刹车会导致交易面板冻结--不是吗?

...

我不知道Rafil的实现方式到底是怎样的,但如果单元格与整个画布分开重绘,就可以解决负载问题。

要做到这一点。

1.每个单元格应该是一个独立的矩形标签,上面有文字,在数组中有自己的坐标和尺寸。

2.在一个数值变化事件中,其矩形(背景)首先被重绘,然后是文本。重新绘制的面积比整个画布的面积小几十倍,因此负载会下降几十倍。

 
Реter Konow:

我不知道拉菲尔的实现方式到底是怎样的,但如果单元格与整个画布分开重绘,这将解决负载问题。

要做到这一点。

1.每个单元格都应该是一个独立的矩形标签,上面有文字,在数组中有自己的坐标和尺寸。

2.在一个数值变化事件中,其矩形(背景)首先被重绘,然后是文本。重绘的面积比整个画布的面积小几十倍,因此,负荷将减少几十倍。

玻璃的本质是,当价格移动时,它必须作为一个整体重新绘制,但可视化的左边部分--是的,可能有选项,但我认为有一个集群对象(蜡烛?)单独绘制,只有当新的信息到来时才重新绘制。

 
Aleksey Vyazmikin:

玻璃的本质是,当价格移动时,它必须作为一个整体被重新绘制,但可视化的左边部分--是的,可能有选项,但我认为有一个单独的集群对象(蜡烛?)被绘制,只有当新的信息进来时才会被重新绘制。

不一定。市场上的价格不是一下子就能改变的,有些电池会定期闲置。重新绘制整个画布是没有意义的。

这同样适用于左边的部分。虽然,反正那里没有重物。如果只在图表滚动时和当前条形图上。但这并不是什么大事。

 
Реter Konow:

不一定。价格不是一下子就能改变的,有些小区偶尔会出现闲置。没有必要重绘整个画布。

这是没有必要的,但价格的变化和随之而来的单元格中的值的变化 - 否则如何?另一件事是,如果你用价格改变矩形的坐标,但我认为它是在画布内的相同画法。

 
Aleksey Vyazmikin:

不一定,但价格会发生变化,这意味着单元格中的数值会发生变化--否则如何?另一件事是如果你用价格改变矩形的坐标,但我认为这也是画布内的画。

价格变动,玻璃集中,需要重新绘制。没有人对这一点提出异议。这是关于重绘的面积。

许多单元格是闲置的,在每个杯子事件中不改变价值。例如 - 有时限制量只在几个单元格中变化,而其他单元格的价格和数量保持不变。在这种情况下,重绘整个画布是一种资源的浪费。有必要控制单元格的变化,并在新值到来的情况下单独绘制。

这种简单的方法将减少许多倍的负荷。

另外,你可以减少向单元格输出数值的频率。

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Виды заявок в стакане цен
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Виды заявок в стакане цен
  • www.mql5.com
Для биржевых инструментов доступно окно "Стакан цен", в котором можно посмотреть текущие заявки на покупку и продажу. Для каждой заявки указано желаемое направление торговой операции, требуемый объем и запрашиваемая цена. Для получения информации...
 
Реter Konow:

价格变动,玻璃集中,需要重新绘制。没有人在争论这个问题。这是关于重绘的面积。

许多单元格是闲置的,在每个杯子事件中不改变价值。例如 - 有时限值只在几个单元格中变化,而其他单元格的价格和数量保持不变。在这种情况下,重绘整个画布是一种资源的浪费。 有必要控制单元格的变化,并在新值到来的情况下单独绘制。

这种简单的方法将减少许多倍的负荷。

另外,你可以减少向单元格输出数值的频率。

是的,我理解你的想法,但价格和成交量变化信息往往可以(假设)在开市时同步出现。

我记得你想做你自己的杯子--有什么结果吗?

 
Aleksey Vyazmikin:

是的,我理解你的想法,但关于价格和成交量变化的信息往往可以在开市时同步出现。

我记得你想做自己的市场杯--有什么结果吗?

昨天我做了一个市场玻璃的例子,重新绘制的单元格独立于整个窗口的画布- https://www.mql5.com/ru/forum/333652/page4。

我发现,如果所有的单元格都以40 fps的速度重绘,单独重绘的单元格可以保持在20%以内(由于视频记录的原因,视频显示的更多),总是如此。采用这种方法的正常滚揉机的动力将大致加载5-10%。

只有在无停顿的高速重绘大面积(~500*500 px)时(~40+ fps),负载才会高。重绘区域的任何延迟或减少都会使负荷减少2倍。

DirectX
DirectX
  • 2020.03.13
  • www.mql5.com
Привет, кто-нибудь уже разобрался с directx, там есть DirectCompute...