Ошибки, баги, вопросы - страница 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    Terminal    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    Terminal    GPU: NVIDIA Corporation GeForce 8500 GT with OpenCL 1.0 (2 units, 918 MHz, 256 Mb, version 285.62)

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

Вот результат, когда чарт отмасштабирован по вертикали так, что бы влазило как можно больше объектов:

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

и даже так:

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


Так что тест покажет у всех разные результаты, даже если компутеры пользователей будут идентичными по железу.

 
Urain:

А если сначало замерить полный набор перерисовок без 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

после установки нового жесткого диска терминал мт5 перестал сохранять имя пользователя и пароль, теперь при каждом запуске запрашивает их снова, галочка "сохранять личные настройки и данные при старте" установлена

подскажите, как это исправить?

 

Вопрос администрации: с форумом четверки опять проблема, или я был излишне разговорчив?

 
tara:

Вопрос администрации: с форумом четверки опять проблема, или я был излишне разговорчив?

Это был небольшой апгрейд, все уже заработало.
 

Спасибо

Причина обращения: