Как уменьшить тормоза MT4 под VPS? - страница 2

 

Текстовый объект можно обновлять только когда надо(когда его значение меняется), и делать это одной командой ObjectSetText(),

не трогая при это остальные параметры. Если выводимых параметров много, то коммент придется использовать часто, а графический

объект менять выборочно.


 
sergeev:
плохой совет.
Главное возразить, обоснуйте.
 
FAQ:

  Объекты все равно прийдется обновлять, так что выигрыша не получится. дельный совет ограничивать частоту обновлений. я бы окна которые не видны не обновлял совсем.

  Стопроцентно тормозит канал. 

Обновлять надо по мере необходимости.
 
sandex:
Главное возразить, обоснуйте.
  Соммеnt() тоже можно обновлять только когда надо. так что не лучше чем ваш.
 
sandex:

Текстовый объект можно обновлять только когда надо(когда его значение меняется), и делать это одной командой ObjectSetText(),

не трогая при это остальные параметры. Если выводимых параметров много, то коммент придется использовать часто, а графический

объект менять выборочно.


  ObjectSetText() - вам не поможет, отображение объектов обновляется только по WindowRedraw() а она делает то же что и Comment().

  Учите матчасть. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов - Документация по MQL5
 
sandex:
Главное возразить, обоснуйте.

работа с объектами это синхронная операция, дающая паузы ожидания. их поиск, удаление, обновление.

 
FAQ:

  ObjectSetText() - вам не поможет, отображение объектов обновляется только по WindowRedraw() а она делает то же что и Comment().

  Учите матчасть. 

Глупость, пользуюсь текстовыми объектами без WindowRedraw().
 
sandex:
Глупость, пользуюсь текстовыми объектами без WindowRedraw().
  Которые обновляются по приходу тика или комменту. Ню,Ню...
 
О скольки копиях терминала идет речь?
 

Ребята, спасибо большое за рекомендации и желание помочь!

 

Редко, но бывало, что зацикленный советник подвисал по непонятным совершенно причинам. Для их выявления в начале каждой функции когда-то написал этого монстра: 

Comment(WindowExpertName() + ": FunctionName....");

Этот монстр никак не тормозит локальную машину. А через RDP, видимо, передается хорошо только та картинка (адаптивный скрин), которая обновляется более-менее редко. Скорее всего, здесь кроется причина торомозов.

Раз Comment столь страшен, отрублю его и отпишусь здесь о результатах.

Возможно, TeamViewer, более правильно работает - не проверял.

Чуть больше подробностей:

GUI тормозит, но приказы отправляются, вроде (проверял немного), вовремя и с быстрой (~500 ms) обратной связью.

Проблема 100% не в канале, т.к. при работе с другими параллельно-запущенными приложениями на VPS, ощущение такое, что работаешь за локальной машиной (особенно в FullScreen).

Заменю Comment на продырявлевание винчестера (RamDrive маловат для логов) - открытие файла, дописывание строки и закрытие.

Возможно, кто-нибудь порекомендует другой способ выявления причин подвисания (обычно, это неочевидные зацикливания) зацикленных советников.

Количество копий терминала ~ 2. 

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