错误、漏洞、问题 - 页 656

 

因此,该测试是基于这些数值。

2012.02.27 18:32:35     ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=36672 mk.c.
2012.02.27 18:25:50     ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=37938 mk.c.
2012.02.27 18:24:29     ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=37530 mk.c.

够了,如果你想继续,你需要创建一个主题,否则你会把错误和问题的主题弄得很乱。

 
2012.02.27 22:37:03 终端 CPU: AuthenticAMD AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ with OpenCL 1.1 (2 units, 2009 MHz, 2047 Mb, version 2.0)
2012.02.27 22:37:03 终端 GPU: NVIDIA公司 GeForce 8500 GT with OpenCL 1.0 (2 units, 918 MHz, 256 Mb, version 285.62)

2012.02.27 22:42:26 测试2D (EURUSD,M5)ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=19920 mk.c.

这是当图表被垂直缩放以适应尽可能多的对象时的结果。

2012.02.27 22:45:39 测试2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=29016mk .c.

而即便如此。

2012.02.27 22:48:31 测试2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=57798mk .c.


因此,即使用户的计算机在硬件方面完全相同,测试也会显示不同的结果。

 
Urain:

而如果你首先在没有ChartRedraw的情况下测量了一整套重绘,然后在有ChartRedraw的情况下测量了一整套重绘,并作出推断,这样做对吗?

不,这不会是正确的。

不幸的是,你无法计算异步队列的延迟,它有很多优化技巧。使用不同的方法 - 为什么要尝试修改对象?

 
Renat:

不,这不会是正确的。

不幸的是,你无法计算异步队列的延迟,它有很多优化技巧。使用另一种方法--你为什么要试图修改对象?

我想,如果不修改对象,重新绘制图表可能会受到某种程度的破坏,这样一来,你必须重新绘制图表。
 

Renat:

使用不同的方法--你为什么要尝试修改对象?

好吧,让我们开始行动吧。

#property script_show_inputs
//--- input parameters
input uint      Count=1000;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   uint st=GetTickCount();
   for(int i=1;i<=Count;i++)
     {
      ChartNavigate(ChartID(),CHART_END,-i);
//      ChartRedraw();  
     }
    Print("Total time for ",Count," cicles = ",GetTickCount()-st, " ms");  
  }
//+------------------------------------------------------------------+

但我担心你不会喜欢它。 例如,我就不喜欢它--图表抽搐和翻倍。 而我想做得更好--把它平稳地移到正确的地方......

// 有趣的是,使用ChartRedraw() 比不使用它的速度快一倍。同时,它的抽动也更大。

 
成功测试也没有帮助。
void OnStart()
  {
   uint st=GetTickCount();
   for(int i=1;i<=Count;i++)
     {
      do while (!ChartNavigate(0,CHART_END,-i));
//      ChartRedraw();  
     }
    Print("Total time for ",Count," cicles = ",GetTickCount()-st, " ms");  
  }

而只有滑移使其更接近所需的映射。

void OnStart()
  {
   uint st=GetTickCount();
   for(int i=1;i<=Count;i++)
     {
      do while (!ChartNavigate(0,CHART_END,-i));
      Sleep(1);
//      ChartRedraw();  
     }
    Print("Total time for ",Count," cicles = ",GetTickCount()-st, " ms");  
  }

但这样一来,压力测试的意义就失去了......

 

建立597

安装了新的硬盘后,MT5终端不再保存用户名和密码,现在每次启动都会再次要求输入,"启动时保存个人设置和数据 "被选中。

对如何解决这个问题有什么建议吗?

 

管理部门的问题:四人小组论坛又出问题了,还是我太过健谈了?

 
tara:

管理部门的问题:四人小组论坛又出了问题,还是我太过健谈了?

这是一个小的升级,现在都在工作。
 

谢谢你