我不明白为什么比较是在展示台而不是在终端?
我还没有研究过这些代码。对于这样的任务,Kanvas是为所有的 "50行 "做了一个。
在终端机中,我通过 "使用量 "测量。这些方法没有显示出显著的差异。
我不明白为什么比较是在展示台而不是在终端?
因为在展示台中,是Canvas的速度太慢导致了问题。而且你可以看到它们是什么。这样的显示占用了50%以上的CPU时间,我在上文中提到了这一点。而在Terminal中,你必须在一个循环中调用方法才能看到一切。但我没有理会这些。我有一个专家顾问在循环中运行的离线优化,事实上,我需要这样一个快速更新的显示。但我现在还没有准备好展示它,因为项目 还没有完成。
我还没有研究过这些代码。对于这样的任务,Kanvas是为所有的 "50行 "做了一个。
那就看看吧。它是那里唯一的一个!
你真的想给我擦屁股,是吗?
我知道你想做这样的事。我知道你会编造这样的东西。
。
你不知道如何准备对比测试。
因为在展示台中,是Canvas的速度太慢导致了问题。而且你可以看到哪些人。这样的显示占用了50%以上的CPU时间,我在上文中提到了这一点。而在Terminal中,你必须在一个循环中调用方法才能看到一切。但我没有理会这些。我有一个专家顾问在循环中运行的离线优化,事实上,我需要这样一个快速更新的显示。但我目前还没有准备好展示它,因为项目 还没有完成。
那就看一看吧。它是那里唯一的一个!
好吧......如果你只是为视觉者写作,那么就单独玩这些游戏。你难道没有听说过,任何图形,甚至是位置的打开/关闭 标记都会使渲染器变慢吗?没有。
我尽量不打扰你......为每个字母创建单独的标签......也是一个单独的资源......。
你在误导人们。你想给我擦屁股,是吗? 我知道你想做这样的事。我知道你会想做这样的事情。
你不知道如何准备对比测试。
我从你的帖子中只理解了 "妄想"、"大笑"、"我不知道如何准备测试 "这些词。真的,我不明白他们与这个话题有什么关系......其余的,我从 "完全 "这个词上就不明白了!当我创建这个主题时,我想在这里看到建设性的批评,而不是一堆无法理解的主张!我想在这里看到的是,我想看到的是建设性 的批评。所以,麻烦你解释一下你的话。否则,不要在这里胡说八道!
我从你的帖子中只理解了 "妄想"、"大笑"、"我不知道如何准备测试 "这些词。真的,我不明白他们与这个话题有什么关系......其余的,我从 "完全 "这个词上就不明白了!当我创建这个主题时,我想在这里看到建设性的批评,而不是一堆无法理解的主张!我想在这里看到的是,我想看到的是建设性 的批评。所以,麻烦你解释一下你的话。否则,不要在这里胡说八道!
我不明白。第一张图片有一个画布,上面有文字。
随后的图片上没有类似的图形文字。
我的意思是,当时是在比较什么?
请讲。但首先要正确理解 代码,因为代码是一个复杂的东西,我需要一个明确的论证 主张!"。
我想向你介绍一下用不同方法创建的图表中显示文本的速度比较。我使用CCanvas类做了第一个变体显示,第二个变体是在标签(CChartObjectLabel)上创建的。所有的类都取自标准库。这个想法是在我在CCanvas 上创建显示时产生的,它大大降低了我的专家顾问 的速度。同时,一些程序员声称我错了,CCanvas,更准确地说,OBJ_BITMAP_LABEL的速度非常快,比MetaTrader中所有显示图表信息的方法都快。因此,我决定通过实验来检查它。所以,关键的时刻到了。
在CCanvas 中操作有输出的显示器
此刻的CPU负载
用CChartObjectLabel 输出显示的操作
启用了速度优化模式的 CChartObjectLabel的操作(我将在下面告诉你)。
现在说说时间值。总数是测试专家顾问的总运行时间。最小延迟、中间延迟 和最大 延迟是以刻度为单位的延迟期。但它们不能总是正确获得,尽管我检查了代码,没有错误。我认为这与测试器中的GetTickCount64函数有关。但这是一个微不足道的问题。最主要的是,它显示了总时间。
现在让我简单说说标签上显示的优化问题。事情是这样的,为了让文本出现在屏幕上,你需要从一个特殊的标签线阵列中显示线,这些线从上到下按50块的数量排列。但是,当只有最后一行被更新时,没有必要更新所有的标签,只需要更新与这一行相对应的一个标签即可。打开optimationUpdate模式,我们可以得到超过2倍的性能提升。
我决定更详细地测试标签上的显示,因为这个测试期对它来说太小了,由于它的速度。因此,我增加了测试时间。并得到以下结果。
没有优化更新: false
有了优化更新: true
我已将所有结果添加到Excel中
第一个直方图显示了整体比较,第二个直方图只显示了有标签的变体。
结论:在CChartObjectLabel 上创建的显示可能比CCanvas上的同等显示快83.7倍。像素操作被认为是所有项目中最昂贵的,这并不是没有道理的!
我附上一个测试结果的表格。源代码可从KB下载:https://www.mql5.com/ru/code/33898