Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, не увидел, что это внутренний чарт.
Ну судя по профилированию источник тормозов, когда происходит скролинг чарта, вот в этой строке:
Профилирование с активным скролингом:
Профилирование с активным движением мышки без скролинга(без нажатой ЛКМ):
ЗЫ: Поэтому источник тормозов все же не канвас, а объекты.
К сожалению, у меня профилирование этого кода выдает пустоту. b2828.
К сожалению, у меня профилирование этого кода выдает пустоту. b2828.
видно еще не допилили профилировщик. У меня тоже иногда пусто было. Но сейчас работает.
с этой тоже работает
Это ошибочный подход. Тем более, что в визуальном тестере другая отложенная модель отрисовки, чтобы полностью не затормозить процесс тестирования.
Ясно. Значит, помимо замеров в тестере придётся сделать замеры в чарте.
Я этого не говорил.
Я указал на очевидные ошибки и объяснил как работает система отрисовки.
Ну значит я всё перепутал. Извините.
видно еще не допилили профилировщик. У меня тоже иногда пусто было. Но сейчас работает.
с этой тоже работает
У меня и на b2830 пусто.
с событийной моделью Windows - даже если быстро перемещать мышку, то начинает возрастать нагрузка на процессор, не важно какое приложение было в фокусе
ЗЫ: проверил в диспетчере задач Вин10... почему то не показывает увеличение нагрузки на процессор, в Вин7 точно на этом же П возрастала нагрузка если быстро двигать мышей - сомневаюсь, что Вин10 кардинально поменяли событийную модель, скорее всего диспетчер задач по другому работает
Вин10. Вот участок когда я двигаю мышкой в окне ввода этого сообщения с текстом с зажатой ЛКМ
Вот без ЛКМ
Вин10. Вот участок когда я двигаю мышкой в окне ввода этого сообщения с текстом с зажатой ЛКМ
Вот без ЛКМ
не наглядно
вот с виртуалки под Вин7 - если мышей не двигать, то 3-4% нагрузка ЦПУ
если мышу быстро передвигать, то 11-14% нагрузка
в общем я про то, что очередь сообщений в Вин всегда приходится обрабатывать, а это лишние такты процессора - гугл "С++ windows окно" - любой мануал по написанию на С++ оконного приложения Windows с использованием WinAPI, там про обработчик сообщений почитать
не наглядно
вот с виртуалки под Вин7 - если мышей не двигать, то 3-4% нагрузка ЦПУ
если мышу быстро передвигать, то 11-14% нагрузка
в общем я про то, что очередь сообщений в Вин всегда приходится обрабатывать, а это лишние такты процессора - гугл "С++ windows окно"
Если в цифрах нагляднее, то ничего не делаю - 10-15 колеблется, при движении 17-30.
Но разве это должно приводить к замедлению ОнТаймера в 2 раза, нет конечно, разве что при загрузке 95-99%.
любой мануал по написанию на С++ оконного приложения Windows с использованием WinAPI, там про обработчик сообщений почитать
Но разве это должно приводить к замедлению ОнТаймера в 2 раза, нет конечно, разве что при загрузке 95-99%.
таймер это тоже событие WinAPI, но сомневаюсь, что каждая MQL-программа подписывается на системный таймер - это эмулирует окружение MQL (виртуальная машина)
обработчик сообщений занимает долю процессора и так, просто не пользуется когда нет очереди. Для процессов МТ не должно быть урезания процессорного времени при такой загрузке.
очередь есть всегда у активного окна, тут в общем гадание на кофейной гуще как эту очередь терминал раскидывает между чартами и затем между MQL-программами
ну и в итоге - чтобы получить монопольный режим и не обрабатывать сообщения - вариантов не много, первое, что приходит - эксклюзивный полноэкранный режим приложения, но это другая история, как впрочем если "битва за ресурсы ПК", тогда нужен просто API для выхода на биржу и писать свое приложение, а там регистрировать окно или нет
ладно, не интересно искать пиковые значения нагрузки ЦП - пока мы в Вин, все может быть, меня в целом, все устраивает
таймер это тоже событие WinAPI, но сомневаюсь, что каждая MQL-программа подписывается на системный таймер - это эмулирует окружение MQL (виртуальная машина)
не факт. если помните был баг с таймером и количеством хендлов в терминале, это опосредованно говорит о том, что каждый таймер в МТ вполне может быть системным виндовым