帆布与标签 - 页 14

 
Renat Fatkhullin:

如果你在编译时从一个存储的资源中读取,你必须做一次。

我从一个动态的阅读。

 
Mihail Matkovskij:

你得说说Kanvas在哪个输入参数上速度慢。如果limit_fps: false,那么就不用考虑了...:)

我昨天只是在寻找limit_fps

 
Dmitry Fedoseev:

我昨天只是在寻找limit_fps

有什么好找的?运行专家顾问并在不同的模式下进行尝试。启用或不启用limit_fps然后你就会明白一切。

这一点是为了限制CCanvas::TextOut和CCanvas::Update的调用 频率。
 
Mihail Matkovskij:

有什么好找的?运行专家顾问并尝试在不同模式下进行测量。启用或不启用limit_fps然后你就会明白一切。

这一点是为了限制CCanvas::TextOut和CCanvas::Update的调用频率。

你认为每个人都只是一个白痴吗?只是狂野和妄想--这很正常吗?如果有的话,我为什么要找它呢?从几页前你给自己的那些链接中下载你的文件,看看有没有设置limit_fps的现场方法。调用是存在的,但字段方法 不存在,所以不能编译。但是,如果你注释掉一行,它就会被编译。但我已经在代码库中找到了这个页面,并下载了档案,一切都在那里。我是故意这样解释的,否则你可能会开始想,在没有方法的情况下,我怎么能在启用limit_fps的情况下 进行测试。但谁知道呢,也许那些链接已经有了,也许那里的文件更新也有延迟。

在与标签比较时,限制TextOut Update调用的频率没有 意义的,因为比较必须在相同的条件下进行

 
Dmitry Fedoseev:

你认为每个人都是如此愚蠢,就这样吗?只是野性和妄想--这很正常?如果有的话,我为什么要找它呢?从几页前你给自己的那些链接中下载你的文件,看到没有设置limit_fps的现场方法。调用是存在的,但字段方法 不存在,所以不能编译。但是,如果你注释掉一行,它就会被编译。但我已经在代码库中找到了这个页面,并下载了档案,一切都在那里。我是故意解释的,否则你可能会开始想,在没有方法的情况下,我怎么能在启用limit_fps的情况下 这样测试。但谁知道呢,也许那些链接已经有了,也许那里的文件更新也有延迟。

在与标签进行比较时,限制TextOut Update调用的频率没有 意义的,因为比较应该在相同的条件下进行

你只是下载了演示版,那里的FPS限制是有效的,不可能关闭它。但你需要一个专家来做测量!你可以在这里找到所有的链接https://www.mql5.com/ru/forum/364640/page13#comment_21314045 。 下载ChartDisplay.mqh库和CanvasVsLabels.mq5专家。

下面是一个截图,以帮助你

在你写出下一条 不满的信息之前,请仔细阅读 所有的内容!:)

 
在图形对象的各种属性变化率 较高时,以及在试图保存图形本身时,Windows会出现蓝屏。
 
Mihail Matkovskij:

你只是下载了演示版,FPS限制在那里起作用,没有选项可以关闭。但你需要一个专家来进行测量!在这里你可以找到所有的链接https://www.mql5.com/ru/forum/364640/page13#comment_21314045 。 下载ChartDisplay.mqh库和CanvasVsLabels.mq5专家。

下面是一个截图,以帮助你

在你写出下一条 不满的信息之前,请仔细阅读 所有的内容!:)

这里有一个链接,其中引用了你的帖子,你给出了下载文件的链接。我应该在那里读什么,我有什么选择?而现在你已经编辑了你的那个帖子。你真的认为每个人都是这样的白痴,他们在自己的大脑上拉屎是那么容易吗?

还是你认为我无事可做,坐在这里胡乱编造故事?

 
Nikolai Semko:
真的吗?
给我的惊喜。
比复制同样大小的普通uint数组要慢多少?
#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

void OnStart()
{
  uint Data[];
  
  ArrayResize(Data, 1 e6);

  const string Name = "::" + __FILE__;
  
  for (int i = 0; i < 10; i++)
    _B(ResourceCreate(Name, Data, ArraySize(Data), 1, 0, 0, ArraySize(Data), COLOR_FORMAT_ARGB_NORMALIZE), 100);
    
  uint Width;
  uint Height;
  
  for (int i = 0; i < 10; i++)
    _B(ResourceReadImage(Name, Data, Width, Height), 1);
  
  ResourceFree(Name);
}


Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1973 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 891 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1226 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1232 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 940 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 940 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 924 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 917 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 925 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 932 mcs.

Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2575 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2442 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 7473 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2308 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2955 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2883 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2715 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2842 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2755 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2304 mcs.

滞后是很明显的。而记录显示,1000 FPS是上限。

 
fxsaber:


刹车是在你的脸上。是的,记录显示,1000 FPS是上限。

我们会搞清楚的,这很奇怪。

 
Dmitry Fedoseev:

这里有一个链接,其中引用了你的帖子,你在其中给出了下载文件的链接。我应该在那里读什么,我有什么选择?而现在你已经编辑了你的那个帖子。你真的认为每个人都是这样的白痴,他们在自己的大脑上拉屎是那么容易吗?

还是你认为我无事可做,坐在这里胡乱编造故事?

正是如此,在那个链接中,我写了从哪里下载。

Mihail Matkovskij:

Download files in \MQL5Experts\canvas-vs-labels\measurement\cyberdev\ and \MQL5Experts\canvas-vs-labels\measurement\ in KB.要限制fps,在输入参数中设置limit_fps为true。文件:CanvasVsLabels.mq5。如何运行测试,如上图所示。而 且在KB中也有描述。

这对你来说是不够的!那么你就没有理解源代码,甚至没有理解如何运行它。尽管我已经测量了它们,并在上面公布了结果。现在,你下载了源代码吗?运行它?如果没有,那么至少要去学习编程的基础知识。因为这是不可能的!如果你甚至不知道如何从现成的来源建立一个应用程序,我们还能说什么呢......

我在此附上专家顾问的编译文件。如果你在使用它时仍有问题,你真的应该学习如何使用它。从基础知识开始:什么是变量,什么是函数,以及什么是程序!然后,它继续下去!


<*.ex*文件已删除