В реале (вот если чисто практически брать ситуацию), то метки не опрашиваются. Все координаты и свойства хранятся в полях классов обверток. В той же Стандартной либе, например. поэтому считаю наличие опроса вредным в данном тесте (иначе бы надо и для битмапа нечто аналогичное добавить - опрос где же координата того куда выводить TextOut)
Часто опрашиваются в реальной работе, проверка важна. К тому же рядом есть результаты и без опроса.
Провели столько тестов - явно видно то, что ChartRedraw тормоз. и всё. ибо без него метки выигрывают не просто на 10-20%, а многократно. Думаю что нужно верифицировать этот метод на предмет такой низкой скорости. ибо если на 5000 редравах имеем исполнение цикла за 10 секунд... надо что то решать.
То есть, отрисовка чарта со скоростью 500 кадров в секунду уже не устраивает???
От реальности то не надо отрываться.
То есть за подготовку отрисовки граф-объектов отвечает некая сложная функция, в то время как BitBlt для вывода битмапа не влияет на скорость обновления чарта.
Отрисовка текстовых меток - это быстрая GDI процедура TextOut. Вообще кроме 26 объектов или одного битмапа вокруг есть и немаленькое полотно самого чарта, с графиками и всей машиной визуализации. Обратите внимание, что тестируемые объекты - лишь пассажиры на чарте.
Так как тут мало специалистов по графике, то выскажу общий вывод - система визуализации в MetaTrader 5 (и в MetaTrader 4) очень эффективная и отшлифованная на скорострельность за много лет. Над этим много работали и сделали мощный комбайн по перемолке графических объектов.
При выгруженном из памяти интернет-браузере, результаты теста совсем другие:
JN 019:44:54 BenchmarkLabel (GOLD-6.13,M30) Разрешение чарта: 1024 x 768 пикселей
RL 019:44:54 BenchmarkLabel (GOLD-6.13,M30) Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
NK 019:44:54 BenchmarkLabel (GOLD-6.13,M30) 0. Время разогрева динамических очередей без визуализации = 188 ms
DL 019:45:12 BenchmarkLabel (GOLD-6.13,M30) 1. Время обновления текста у меток без чтения = 18375 ms
MP 019:45:28 BenchmarkLabel (GOLD-6.13,M30) 2. Время обновления текста и позиций у меток без чтения = 15187 ms
MN 019:45:53 BenchmarkLabel (GOLD-6.13,M30) 3. Время обновления текста и позиций у меток со чтением = 25282 ms
NP 019:46:08 BenchmarkLabel (GOLD-6.13,M30) 4. Время обновления текста и позиций у битмапа с прозрачностью = 14922 ms
OK 019:46:22 BenchmarkLabel (GOLD-6.13,M30) 5. Время обновления текста и позиций у битмапа без прозрачности = 14593 ms
EG 019:46:22 BenchmarkLabel (GOLD-6.13,M30) Тестирование завершено
Чтобы CPU показывался как OpenCL устройство, надо ставить дополнительные драйверы от AMD или Intel.
Рейтинг OpenCL не показывается при переинициализации устройств (такое происходит автоматически). На следующем старте покажется.
Так знаю, стоит драйвер под AMD. Уже удалил и переставил заново, все равно нет. Заметил только сегодня отсутствие. И GPU-Z тоже не видит процессор. А когда-то все работало.
А рейтинг у меня давно не показывается, еще со времен 770 билда (в 756 еще был). Я думал рейтинг убрали в виду не возможности использовать GPU в облаке, следовательно рейтинг стал не нужен.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
В реале (вот если чисто практически брать ситуацию), то метки не опрашиваются.
Все координаты и свойства хранятся в полях классов обверток. В той же Стандартной либе, например.
поэтому считаю наличие опроса вредным в данном тесте (иначе бы надо и для битмапа нечто аналогичное добавить - опрос где же координата того куда выводить TextOut)
Провели столько тестов - явно видно то, что ChartRedraw тормоз. и всё. ибо без него метки выигрывают не просто на 10-20%, а многократно.
Думаю что нужно верифицировать этот метод на предмет такой низкой скорости. ибо если на 5000 редравах имеем исполнение цикла за 10 секунд... надо что то решать.
То есть, отрисовка чарта со скоростью 500 кадров в секунду уже не устраивает???
От реальности то не надо отрываться.
То есть за подготовку отрисовки граф-объектов отвечает некая сложная функция, в то время как BitBlt для вывода битмапа не влияет на скорость обновления чарта.
Отрисовка текстовых меток - это быстрая GDI процедура TextOut. Вообще кроме 26 объектов или одного битмапа вокруг есть и немаленькое полотно самого чарта, с графиками и всей машиной визуализации. Обратите внимание, что тестируемые объекты - лишь пассажиры на чарте.
Так как тут мало специалистов по графике, то выскажу общий вывод - система визуализации в MetaTrader 5 (и в MetaTrader 4) очень эффективная и отшлифованная на скорострельность за много лет. Над этим много работали и сделали мощный комбайн по перемолке графических объектов.
Renat:
То есть, отрисовка чарта со скоростью 500 кадров в секунду уже не устраивает???
забыл, мс не перевел.
как заметил Ренат, у некоторых выполнение третьего пункта в 3 раза дольше остальных(у меня тоже на XP) с чем это может быть связано?
на Win 8 у меня такого нет.
как заметил Ренат, у некоторых выполнение третьего пункта в 3 раза дольше остальных(у меня тоже на XP) с чем это может быть связано?
на Win 8 у меня такого нет.
мощности практически одинаковые, но у него 3 пункт так же в 3 раза медленней проходит.
ЗЫ: т.е не в ХР дело и у него и у меня Win 8
Win7 x64, 4Gb RAM.
Странно, у меня не показался процессор как OpenCL устройство и не показывается rating ХХХ.
Чтобы CPU показывался как OpenCL устройство, надо ставить дополнительные драйверы от AMD или Intel.
Рейтинг OpenCL не показывается при переинициализации устройств (такое происходит автоматически). На следующем старте покажется.
ЗЫ: т.е не в ХР дело и у него и у меня Win 8
При выгруженном из памяти интернет-браузере, результаты теста совсем другие:
При выгруженным из памяти интернет-браузере, результаты теста совсем другие:
Чтобы CPU показывался как OpenCL устройство, надо ставить дополнительные драйверы от AMD или Intel.
Рейтинг OpenCL не показывается при переинициализации устройств (такое происходит автоматически). На следующем старте покажется.
Так знаю, стоит драйвер под AMD. Уже удалил и переставил заново, все равно нет. Заметил только сегодня отсутствие. И GPU-Z тоже не видит процессор. А когда-то все работало.
А рейтинг у меня давно не показывается, еще со времен 770 билда (в 756 еще был). Я думал рейтинг убрали в виду не возможности использовать GPU в облаке, следовательно рейтинг стал не нужен.
Не пересчитывается :(
PS. Процессор как OCL пропал 4 апреля - в логах нашел при очередном запуске уже было только одно устройство.