Тестирование производительности работы с отдельными текстовыми метками и битмапами на чарте - страница 3
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Выложил дополненный тест. Теперь он показывает используемое разрешение и с подсказкой как надо тестировать.
вобщем по всем тестам видно, что битмапы как то медленнее.
+ у меня сомнения по корректности наличия чтения координаты метки. зачем проверка конвеера?
Вообще-то тесты показывают, что не медленнее. Как минимум, на современных процах.
Вот мой результат на i7-3770S, Windows 8 x64, 16 RAM, NVIDIA GeForce GT 640M:
У битмапа 15 257 мс со всеми прозрачностями против 21 497 мс у меток.
Проверка конвейера важна, так как в реальной работе часто используется чтение параметров объектов перед их изменением. И чем чаще происходит смешение read/write у объектов, тем медленнее будет работать модификация объектов. Лучшая стратегия изменения объектов - это сначала массово читать, а потом массово писать, не допуская смешения. Особенно, если у тебя тысячи объектов на чарте.
Самый главный результат теста - нет никакого кратного, десятикратного или пятидесятикратного отставания у битмапов. Даже если и может быть отставание как в замерах выше (но и к ним есть вопросы по размеру и конфигурации рабочего чарта), то они в пределах десятка процентов.
Но при всем этом у битмапа есть огромная перспектива скорострельности при увеличении количества объектов, увеличение качества отрисовки (включая прозрачность) и возможность отобразить все что захочешь.
Можно ещё быстрее настроить:
1. Сократить окно чарта, чтобы создаваемая канва на ~100% его покрывала.
2. Установить монохромную схему цветов чарта (через свойства -> цвета -> цветовая схема)/
3. Уменьшить масштаб чарта до минимального (свечки максимального размера).
Но. Как вы можете видеть, хотя абсолютные цифры бенчмарка будут ниже, их относительные величины будут +/- те же.
Обратите внимание, как из-за какого-то компонента компа производительность смешанной работы с объектами просела в 3 раза (тест sanyooooook):
Скорее всего виноваты процессор (блокировки его убили?) и память. Интересно узнать, какой процессор использовался.
А может просто в момент этого теста компьютер нагружали или дергали экран.
но графики я бы рисовал битмапом. ибо вариантов нет :) также многообъектные таблицы.
у битмапа не меньше преимуществ, чем у объектов.
Согласен. Каждый компонент хорош для своих целей. Битмап незаменим, например, в рисовании элементов интерфейса. Ну, нет больше других вариантов.
А вот метками быстрее/экономичнее выводить статистику. :)
Но. Как вы можете видеть, хотя абсолютные цифры бенчмарка будут ниже, их относительные величины будут +/- те же.
Я специально указал вводные условия, чтобы не было случайных ошибок и все понимали требования чистоты замеров.
Ваш результат с 2355 мс в одном из тестов ведь как раз был вызван скрытием/сворачиванием/переключением окна терминала во время теста:
Мой тест на десктопе
Да, Ренат, ну и разрешение Вы выбрали. Я после 1920 Х 1080 не сразу все находил на экране. Сечас на ноуте прогоню.Спасибо за результаты. Тоже битмапы получаются быстрее.
Вы удивитесь, но у меня данный тест (№3) не проходит. Отписал в СД (#732578). Точнее, проходит в одном случае из десятка. Никаких уведомлений и ошибок в журнале. Просто терминал виснет на время прохождения данного теста.
Обратите внимание, как из-за какого-то компонента компа производительность смешанной работы с объектами просела в 3 раза (тест sanyooooook):
:
Скорее всего виноваты процессор (блокировки его убили?) и память. Интересно узнать, какой процессор использовался.
А может просто в момент этого теста компьютер нагружали или дергали экран.
при первом тесте переключил окно, при втором вообще ни чего не трогал, параллельно работает МТ4 в нём скрипт запущен чарт строиться ну и ещё несколько процессов которые могут грузить комп )