вобщем по всем тестам видно, что битмапы как то медленнее.
+ у меня сомнения по корректности наличия чтения координаты метки. зачем проверка конвеера?
Вообще-то тесты показывают, что не медленнее. Как минимум, на современных процах.
Вот мой результат на i7-3770S, Windows 8 x64, 16 RAM, NVIDIA GeForce GT 640M:
2013.04.2722:21:50 BenchmarkLabel (EURUSD,M15) Тестирование завершено
2013.04.2722:21:50 BenchmarkLabel (EURUSD,M15) 5. Время обновления текста и позиций у битмапа без прозрачности = 15007 ms
2013.04.2722:21:35 BenchmarkLabel (EURUSD,M15) 4. Время обновления текста и позиций у битмапа с прозрачностью = 15257 ms
2013.04.2722:21:20 BenchmarkLabel (EURUSD,M15) 3. Время обновления текста и позиций у меток со чтением = 16739 ms
2013.04.2722:21:03 BenchmarkLabel (EURUSD,M15) 2. Время обновления текста и позиций у меток без чтения = 18845 ms
2013.04.2722:20:44 BenchmarkLabel (EURUSD,M15) 1. Время обновления текста у меток без чтения = 21497 ms
2013.04.2722:20:23 BenchmarkLabel (EURUSD,M15) 0. Время разогрева динамических очередей без визуализации = 124 ms
2013.04.2722:20:23 BenchmarkLabel (EURUSD,M15) Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
2013.04.2722:20:23 BenchmarkLabel (EURUSD,M15) Разрешение чарта: 1020 x 761 пикселей
У битмапа 15 257 мс со всеми прозрачностями против 21 497 мс у меток.
Проверка конвейера важна, так как в реальной работе часто используется чтение параметров объектов перед их изменением. И чем чаще происходит смешение read/write у объектов, тем медленнее будет работать модификация объектов. Лучшая стратегия изменения объектов - это сначала массово читать, а потом массово писать, не допуская смешения. Особенно, если у тебя тысячи объектов на чарте.
Самый главный результат теста - нет никакого кратного, десятикратного или пятидесятикратного отставания у битмапов. Даже если и может быть отставание как в замерах выше (но и к ним есть вопросы по размеру и конфигурации рабочего чарта), то они в пределах десятка процентов.
Но при всем этом у битмапа есть огромная перспектива скорострельности при увеличении количества объектов, увеличение качества отрисовки (включая прозрачность) и возможность отобразить все что захочешь.
Но. Как вы можете видеть, хотя абсолютные цифры бенчмарка будут ниже, их относительные величины будут +/- те же.
Я специально указал вводные условия, чтобы не было случайных ошибок и все понимали требования чистоты замеров.
Ваш результат с 2355 мс в одном из тестов ведь как раз был вызван скрытием/сворачиванием/переключением окна терминала во время теста:
2013.04.2720:09:37 BenchmarkObjects (EURUSD,M5) 5. Время обновления текста и позиций у битмапа без прозрачности = 12558 ms
2013.04.2720:09:24 BenchmarkObjects (EURUSD,M5) 4. Время обновления текста и позиций у битмапа с прозрачностью = 12839 ms
2013.04.2720:09:11 BenchmarkObjects (EURUSD,M5) 3. Время обновления текста и позиций у меток с чтением = 2355 ms
2013.04.2720:09:09 BenchmarkObjects (EURUSD,M5) 2. Время обновления текста и позиций у меток без чтения = 10655 ms
2013.04.2720:08:58 BenchmarkObjects (EURUSD,M5) 1. Время обновления текста у меток без чтения = 10359 ms
2013.04.2720:08:48 BenchmarkObjects (EURUSD,M5) 0. Время разогрева динамических очередей без визуализации = 124 ms
Вы удивитесь, но у меня данный тест (№3) не проходит. Отписал в СД (#732578). Точнее, проходит в одном случае из десятка. Никаких уведомлений и ошибок в журнале. Просто терминал виснет на время прохождения данного теста.
voix_kas: Вы удивитесь, но у меня данный тест (№3) не проходит. Отписал в СД (#732578). Точнее, проходит в одном случае из десятка. Никаких уведомлений и ошибок в журнале. Просто терминал виснет на время прохождения данного теста.
Обратите внимание, как из-за какого-то компонента компа производительность смешанной работы с объектами просела в 3 раза (тест sanyooooook):
:
Скорее всего виноваты процессор (блокировки его убили?) и память. Интересно узнать, какой процессор использовался.
А может просто в момент этого теста компьютер нагружали или дергали экран.
при первом тесте переключил окно, при втором вообще ни чего не трогал, параллельно работает МТ4 в нём скрипт запущен чарт строиться ну и ещё несколько процессов которые могут грузить комп )
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Выложил дополненный тест. Теперь он показывает используемое разрешение и с подсказкой как надо тестировать.
вобщем по всем тестам видно, что битмапы как то медленнее.
+ у меня сомнения по корректности наличия чтения координаты метки. зачем проверка конвеера?
Вообще-то тесты показывают, что не медленнее. Как минимум, на современных процах.
Вот мой результат на 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 в нём скрипт запущен чарт строиться ну и ещё несколько процессов которые могут грузить комп )