Canvas vs Labels - страница 11

 

Итак, публикую результаты сравнения работы дисплеев без ограничения частоты обновлений и с её ограничением. 

Исходники для повторения данных замеров можно скачать здесь: https://www.mql5.com/ru/code/33898

Дисплей с оптимизацией для вывода текста в чарт по типу консоли
Дисплей с оптимизацией для вывода текста в чарт по типу консоли
  • www.mql5.com
Данная библиотека позволяет создавать дисплеи для удобного вывода текстовой информации в чарт с наиболее оптимальной скоростью
 

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

Скачать его исходники можно в КБ: https://www.mql5.com/ru/code/33898

Таблица сравнения результатов

Сanvas unlimited fps Canvas limited fps Labels unlimited fps Labels limited fps
Min delay (μs) 1530 1 18 0
Mid delay (μs) 7674 4086 48 7
Max delay (μs) 11967 11093 785 286
Total (μs) 77727510 29452299 39648984 27439654

 
Mihail Matkovskij:

Итак, публикую результаты сравнения работы дисплеев без ограничения частоты обновлений и с её ограничением. 

Исходники для повторения данных замеров можно скачать здесь: https://www.mql5.com/ru/code/download/33898/chartdisplay.mqh и здесь: https://www.mql5.com/ru/code/download/33898/canvasvslabelstester.mq5.

А где limitFps?

 
Dmitry Fedoseev:

А где limitFps?

Скачайте файлы в папках \MQL5\Experts\canvas-vs-labels\measurement\cyberdev\ и \MQL5\Experts\canvas-vs-labels\measurement\ в КБ. Для ограничения fps установите limit_fps в true во входных параметрах. Файл: CanvasVsLabels.mq5. Как запускать тест показано выше. И в КБ есть описание.

 
Mihail Matkovskij:

Скачайте файлы в папках \MQL5\Experts\canvas-vs-labels\measurement\cyberdev\ и \MQL5\Experts\canvas-vs-labels\measurement\ в КБ. Для ограничения fps установите limit_fps в true во входных параметрах. Файл: CanvasVsLabels.mq5. Как запускать тест показано выше. И в КБ есть описание.

Вопрос был конкретный задан про limitFps.

И мне это нафик не надо, мне давно понятно, что ваши фантазии реальности не соответствуют. Весь интерес - посмотреть в чем вы очередной раз заблуждаетесь.

 
Dmitry Fedoseev:

Вопрос был конкретный задан про limitFps.

Это ограничение обновлений. Сделано оно так, чтобы обновления дисплея не превышали минимально приемлемую для человеческого глаза частоту обновлений. Отсюда и выигрыш в производительности Канваса даже по сравнению с Лейблами. А если это ограничение применить к лейблам, то такой дисплей вообще летает. Результаты замеров находятся выше. Плюс, я уже говорил об этом. Не понимаю, что вам, собственно, не ясно или, что вам не так?...

 
Nikolai Semko:
Renat Fatkhullin:

Как по-человечески ограничить частоту обновления канваса в визуализаторе?

Чтобы на медленной скорости картинка обновлялась реалтайм, а на быстрой не тормозила тест?

Сейчас действительно канвас (если обновляется на каждом тике) тормозит всю визуализацию (профилирование показывает 80-90% времени на отрисовку). Я извернулся настраиваемой паузой в секундах, но это костыль, ограничивающий функциональность (картинка обновляется редко даже на медленной скорости).

К чему привязаться, чтобы не обновлять слишком часто? GetMicroseconds?

Какие функции пропускать?

 
Andrey Khatimlianskii:

Как по-человечески ограничить частоту обновления канваса в визуализаторе?

Чтобы на медленной скорости картинка обновлялась реалтайм, а на быстрой не тормозила тест?

Сейчас действительно канвас (если обновляется на каждом тике) тормозит всю визуализацию (профилирование показывает 80-90% времени на отрисовку). Я извернулся настраиваемой паузой в секундах, но это костыль, ограничивающий функциональность (картинка обновляется редко даже на медленной скорости).

К чему привязаться, чтобы не обновлять слишком часто? GetMicroseconds?

Какие функции пропускать?

в тестере МТ5, таймер работает, можно поставить на 60 сек и будет обновляться раз в минуту по тестерному времени)

 
Mihail Matkovskij:

Это ограничение обновлений. Сделано оно так, чтобы обновления дисплея не превышали минимально приемлемую для человеческого глаза частоту обновлений. Отсюда и выигрыш в производительности Канваса даже по сравнению с Лейблами. А если это ограничение применить к лейблам, то такой дисплей вообще летает. Результаты замеров находятся выше. Плюс, я уже говорил об этом. Не понимаю, что вам, собственно, не ясно или, что вам не так?...

А разве я спрашивал что это? 

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