帆布与标签 - 页 4

 
Maxim Kuznetsov:

很明显,画布(BitMap)被重新绘制/复制了全部内容,但只有标签发生了变化。我为什么要惊讶呢?

帆布只是方便和适度的快速。

Dmitry Fedoseev:
而在没有任何对比测试的情况下,很明显简单的标签会更快地输出文本。

当然,我以前就知道。但我确信,使用Kanvas是最快的输出方式。同时,在测试器中,它的速度非常慢(当输出被测试的专家顾问的数据时),特别是在ticks上。当然,使用标签解决了这个问题。所以我决定找出Kanvas与Labels相比到底有多慢。结果是慢了321倍,如果这个测量结果是可信的。

 
Mihail Matkovskij:

当然,我以前就知道。但我坚信,使用Kanvas是最快的输出方式。然而,在测试器中(当输出被测试的EA的数据时),它非常慢,特别是在ticks上。当然,使用标签解决了这个问题。所以我决定找出Kanvas与Labels相比到底有多慢。结果是321次,如果这个测量结果是可信的。

那么,世界上不是有很多幻想故事家吗?

 
Dmitry Fedoseev:

世界上不是有很多奇幻故事的讲述者吗?

那是肯定的!

 
Maxim Kuznetsov:

很明显,画布(BitMap)被重新绘制/复制了全部内容,但只有标签发生了变化。我为什么要惊讶呢?

Canvas只是容易使用,而且速度适中。

为什么要重绘整个位图?
,以证明它比重绘标签要慢?

为了进行适当的比较,你也应该只重绘位图的一部分,即标记的大小。

 
Taras Slobodyanik:

为什么要重绘整个位图?
,以证明它比重绘标签要慢?

为了进行适当的比较,你还需要只重绘位图的一部分,即标签的大小。

实际上这就是它的更新方式。

一下子

 
Maxim Kuznetsov:

这实际上是它的更新方式。

一下子就好了。

它是刷新还是重绘?
,我从来没有见过刷新时速度变慢。

 
Taras Slobodyanik:

那么它是被更新还是被重新绘制?
,我从来没有在更新时看到过刹车。

如果你在使用OBJ_BITMAP_LABEL 时从未见过刹车,那就必须说清楚是哪里。如果在终端工作时,是的。延迟是不明显的。但是,如果你把测试器中的工作,还有模型:M1上的所有ticks或OHLC,使用ResourceCreate不断传递m_pixels数组的情况是非常明显的。一般来说,像素操作被认为是任何项目中成本最高的。

 
Maxim Kuznetsov:

这实际上是它的更新方式。

一下子

诶,我记得你可以在视频缓冲区用像素编辑画布,但这太没意思了(

 
Dmitry Fedoseev:

世界上没有多少奇幻故事家,是吗?

德米特里,在你评判一件事之前,你必须了解这一切的开始......。

关于交易、自动交易系统和交易策略测试的论坛

错误、漏洞、问题

Mihail Matkovskij, 2021.03.07 14:02

注释输出完全不同长度的行(视觉上),而它们的长度完全相同

评论

代码。

void OnStart() {
  string str[5], res="";
  StringInit(str[0], 50, 'a');
  StringInit(str[1], 50, 'X');
  StringInit(str[2], 50, '=');
  StringInit(str[3], 50, ' ');
  StringInit(str[4], 50, ':');
  for (int i = 0; i < 5; i++) 
    res += str[i] + "\n";
  Comment(res);
}

我怎样才能输出带有 "评论"的行,即视觉上它们的长度是一样的?例如,我想输出一个 有三列的表格,使各列在垂直方向上的间距相等。

如果我没记错的话,在某处说的是五十行......
 
Alexey Viktorov:

迪米特里,在评判一件事之前,你需要了解这一切的开始......

如果我没记错的话,在某处写着五十行......

最好做一个例子,基于Canvas的显示超过了Labels的显示。比如,如果你想反驳我的主张,那么根据逻辑法则,你必须证明相反的说法。它是否能发挥作用......?