Кстати, с прозрачностью и без прозрачности не такое уж и большое отличие:
2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) Тестирование завершено 2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) 5. Время обновления текста и позиций у битмапа без прозрачности = 13229 ms 2013.04.27 18:24:19 BenchmarkLabel__1 (USDCHF,H1) 4. Время обновления текста и позиций у битмапа c прозрачностью = 13994 ms 2013.04.27 18:24:05 BenchmarkLabel__1 (USDCHF,H1) 3. Время обновления текста и позиций у меток с чтением = 32229 ms 2013.04.27 18:23:33 BenchmarkLabel__1 (USDCHF,H1) 2. Время обновления текста и позиций у меток без чтения = 10671 ms 2013.04.27 18:23:22 BenchmarkLabel__1 (USDCHF,H1) 1. Время обновления текста у меток без чтения = 10733 ms 2013.04.27 18:23:11 BenchmarkLabel__1 (USDCHF,H1) 0. Время разогрева динамических очередей без визуализации = 187 ms
2013.04.27 20:09:37 BenchmarkObjects (EURUSD,M5) 5. Время обновления текста и позиций у битмапа без прозрачности = 12558 ms 2013.04.27 20:09:24 BenchmarkObjects (EURUSD,M5) 4. Время обновления текста и позиций у битмапа с прозрачностью = 12839 ms 2013.04.27 20:09:11 BenchmarkObjects (EURUSD,M5) 3. Время обновления текста и позиций у меток с чтением = 2355 ms 2013.04.27 20:09:09 BenchmarkObjects (EURUSD,M5) 2. Время обновления текста и позиций у меток без чтения = 10655 ms 2013.04.27 20:08:58 BenchmarkObjects (EURUSD,M5) 1. Время обновления текста у меток без чтения = 10359 ms 2013.04.27 20:08:48 BenchmarkObjects (EURUSD,M5) 0. Время разогрева динамических очередей без визуализации = 124 ms
Какие-то результаты странные. Надо код посмотреть.
Однако, по-прежнему, скорость работы с метками выше битмапа.
Тестирование велось на 64 битном MetaTrader 5 в Windows 7 x64 на слабенькой видеокарте NVIDIA GeForce GT 330M.
Тестировать надо одном открытом чарте, открытом на полный экран, без индикаторов и без переключений окон или скрытия окна.
Так как эта задача прямо зависит от отрисовки, то недопустимо сворачивать, минимизировать или тестировать на мизерных размерах окон.
Проведите еще раз тесты на полностью открытом окне без переключений.
2013.04.27 19:20:00 OpenCL Device #0: GPU NVIDIA Corporation GeForce GT 430 with OpenCL 1.1 (2 units, 1400 MHz, 1023 Mb, version 296.10, rating 159) 2013.04.27 19:19:58 Terminal MetaTrader 5 build 803 started (MetaQuotes Software Corp.) WinXP SP3 x86 3Гц RAM 3Гб 2013.04.27 19:34:53 BenchmarkLabel__1 (EURUSD,H1) Тестирование завершено 2013.04.27 19:34:53 BenchmarkLabel__1 (EURUSD,H1) 5. Время обновления текста и позиций у битмапа с прозрачностью = 38672 ms 2013.04.27 19:34:14 BenchmarkLabel__1 (EURUSD,H1) 4. Время обновления текста и позиций у битмапа с прозрачностью = 39140 ms 2013.04.27 19:33:35 BenchmarkLabel__1 (EURUSD,H1) 3. Время обновления текста и позиций у меток со чтением = 128203 ms 2013.04.27 19:31:27 BenchmarkLabel__1 (EURUSD,H1) 2. Время обновления текста и позиций у меток без чтения = 33000 ms 2013.04.27 19:30:54 BenchmarkLabel__1 (EURUSD,H1) 1. Время обновления текста у меток без чтения = 31969 ms 2013.04.27 19:30:22 BenchmarkLabel__1 (EURUSD,H1) 0. Время разогрева динамических очередей без визуализации = 281 ms 2013.04.27 19:30:21 BenchmarkLabel__1 (EURUSD,H1)
Ранее был билд 794. Вот тест с 803.
2013.04.27 20:59:43 BenchmarkObjects (EURUSD,M1) 5. Время обновления текста и позиций у битмапа без прозрачности = 5101 ms 2013.04.27 20:59:38 BenchmarkObjects (EURUSD,M1) 4. Время обновления текста и позиций у битмапа с прозрачностью = 5195 ms 2013.04.27 20:59:33 BenchmarkObjects (EURUSD,M1) 3. Время обновления текста и позиций у меток с чтением = 4103 ms 2013.04.27 20:59:29 BenchmarkObjects (EURUSD,M1) 2. Время обновления текста и позиций у меток без чтения = 3557 ms 2013.04.27 20:59:25 BenchmarkObjects (EURUSD,M1) 1. Время обновления текста у меток без чтения = 3338 ms 2013.04.27 20:59:22 BenchmarkObjects (EURUSD,M1) 0. Время разогрева динамических очередей без визуализации = 109 ms
Если можно, объясните мне, пожалуйста, практический смысл тестов 2 и 3?
И ещё вопросик. Можно вкратце "на пальцах" объяснить разницу между COLOR_FORMAT_ARGB_RAW и COLOR_FORMAT_ARGB_NORMALIZE?
Очень разные у всех результаты однако. Мой тест был на Windows 7 x64 и NVIDIA GeForce 9600GT, MT5 build 803.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Тестирование производительности работы с отдельными текстовыми метками и битмапами на чарте
tol64, 2013.04.27 17:26
Кстати, с прозрачностью и без прозрачности не такое уж и большое отличие:
2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) Тестирование завершено 2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) 5. Время обновления текста и позиций у битмапа без прозрачности = 13229 ms 2013.04.27 18:24:19 BenchmarkLabel__1 (USDCHF,H1) 4. Время обновления текста и позиций у битмапа c прозрачностью = 13994 ms 2013.04.27 18:24:05 BenchmarkLabel__1 (USDCHF,H1) 3. Время обновления текста и позиций у меток с чтением = 32229 ms 2013.04.27 18:23:33 BenchmarkLabel__1 (USDCHF,H1) 2. Время обновления текста и позиций у меток без чтения = 10671 ms 2013.04.27 18:23:22 BenchmarkLabel__1 (USDCHF,H1) 1. Время обновления текста у меток без чтения = 10733 ms 2013.04.27 18:23:11 BenchmarkLabel__1 (USDCHF,H1) 0. Время разогрева динамических очередей без визуализации = 187 ms
делал 2 теста первый раз переключил окно
Win XP SP3 ), ATI интегрированная, MT5 build 787
кстати заметил при открытом окне "о программе" в МТ5, через клавиши Alt+Tab не видна иконка терминала
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Обсуждение началось тут: https://www.mql5.com/ru/forum/1111/page989#comment_480838
Исходное утверждение было такое: битмапы работают в разы/десятки раз медленнее текстовых объектов. После обсуждений и проверки тестовых исходников картина прояснилась и оказалось, что битмапы работают заведомо быстрее.
Тестирование велось на 64 битном MetaTrader 5 в Windows 8 x64 на слабенькой видеокарте NVIDIA GeForce GT 640M. Вот результаты (чем меньше время, тем лучше), полученные на тестовом скрипте:
Видно, что работа с метками примерно на 60% медленнее работы с битмапами.
Ниже представлен тестовый скрипт, который каждый может скачать, протестировать у себя и выложить свои результаты: