Тестирование производительности работы с отдельными текстовыми метками и битмапами на чарте - страница 5

 
sergeev:

В реале (вот если чисто практически брать ситуацию), то метки не опрашиваются.
Все координаты и свойства хранятся в полях классов обверток. В той же Стандартной либе, например.
поэтому считаю наличие опроса вредным в данном тесте (иначе бы надо и для битмапа нечто аналогичное добавить - опрос где же координата того куда выводить TextOut)

Часто опрашиваются в реальной работе, проверка важна. К тому же рядом есть результаты и без опроса.


Провели столько тестов - явно видно то, что ChartRedraw тормоз. и всё. ибо без него метки выигрывают не просто на 10-20%, а многократно.
Думаю что нужно верифицировать этот метод на предмет такой низкой скорости.  ибо если на 5000 редравах имеем исполнение цикла за 10 секунд... надо что то решать.

То есть, отрисовка чарта со скоростью 500 кадров в секунду уже не устраивает???

От реальности то не надо отрываться.


То есть за подготовку отрисовки граф-объектов отвечает некая сложная функция, в то время как BitBlt для вывода битмапа не влияет на скорость обновления чарта.

Отрисовка текстовых меток - это быстрая GDI процедура TextOut. Вообще кроме 26 объектов или одного битмапа вокруг есть и немаленькое полотно самого чарта, с графиками и всей машиной визуализации. Обратите внимание, что тестируемые объекты - лишь пассажиры на чарте.


Так как тут мало специалистов по графике, то выскажу общий вывод - система визуализации в MetaTrader 5 (и в MetaTrader 4) очень эффективная и отшлифованная на скорострельность за много лет. Над этим много работали и сделали мощный комбайн по перемолке графических объектов.

 

Renat:

То есть, отрисовка чарта со скоростью 500 кадров в секунду уже не устраивает???

забыл, мс не перевел.

 

как заметил Ренат, у некоторых выполнение третьего пункта в 3 раза дольше остальных(у меня тоже на XP) с чем это может быть связано?

на Win 8 у меня такого нет.

 
sanyooooook:

как заметил Ренат, у некоторых выполнение третьего пункта в 3 раза дольше остальных(у меня тоже на XP) с чем это может быть связано?

на Win 8 у меня такого нет.

Да, странное поведение в связке read/write у очереди на XP. voix_kas уже прислал в сервисдеск запрос - мы будем разбираться.
 
вот например мой тест и тест Yurich,

 мощности практически одинаковые, но у него 3 пункт так же в 3 раза медленней проходит.

ЗЫ: т.е не в ХР дело и у него и у меня Win 8

 
fyords:

Win7 x64, 4Gb RAM.

Странно, у меня не показался процессор как OpenCL устройство и не показывается rating ХХХ.

Чтобы CPU показывался как OpenCL устройство, надо ставить дополнительные драйверы от AMD или Intel.

Рейтинг OpenCL не показывается при переинициализации устройств (такое происходит автоматически). На следующем старте покажется.

 
sanyooooook:

ЗЫ: т.е не в ХР дело и у него и у меня Win 8
Ок. Мы все в любом случае протестируем.
 

При выгруженном из памяти интернет-браузере, результаты теста совсем другие:

JN      0       19:44:54        BenchmarkLabel (GOLD-6.13,M30)  Разрешение чарта: 1024 x 768 пикселей
RL      0       19:44:54        BenchmarkLabel (GOLD-6.13,M30)  Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
NK      0       19:44:54        BenchmarkLabel (GOLD-6.13,M30)  0. Время разогрева динамических очередей без визуализации = 188 ms
DL      0       19:45:12        BenchmarkLabel (GOLD-6.13,M30)  1. Время обновления текста у меток без чтения = 18375 ms
MP      0       19:45:28        BenchmarkLabel (GOLD-6.13,M30)  2. Время обновления текста и позиций у меток без чтения = 15187 ms
MN      0       19:45:53        BenchmarkLabel (GOLD-6.13,M30)  3. Время обновления текста и позиций у меток со чтением = 25282 ms
NP      0       19:46:08        BenchmarkLabel (GOLD-6.13,M30)  4. Время обновления текста и позиций у битмапа с прозрачностью = 14922 ms
OK      0       19:46:22        BenchmarkLabel (GOLD-6.13,M30)  5. Время обновления текста и позиций у битмапа без прозрачности = 14593 ms
EG      0       19:46:22        BenchmarkLabel (GOLD-6.13,M30)  Тестирование завершено
Первый тест был при запущенном браузере Yandex.
 
Yurich:

При выгруженным из памяти интернет-браузере, результаты теста совсем другие:

Выгрузил два браузера (Opera и Firefox) и на 1-2 секунды тесты быстрее прошли. 
 
Renat:

Чтобы CPU показывался как OpenCL устройство, надо ставить дополнительные драйверы от AMD или Intel.

Рейтинг OpenCL не показывается при переинициализации устройств (такое происходит автоматически). На следующем старте покажется.

Так знаю, стоит драйвер под AMD. Уже удалил и переставил заново, все равно нет. Заметил только сегодня отсутствие. И GPU-Z тоже не видит процессор. А когда-то все работало.

А рейтинг у меня давно не показывается, еще со времен 770 билда (в 756 еще был). Я думал рейтинг убрали в виду не возможности использовать GPU в облаке, следовательно рейтинг стал не нужен.

LJ      0       14:09:35        Terminal        MetaTrader 5 x64 build 803 started (MetaQuotes Software Corp.)
IJ      0       14:09:35        OpenCL  Device #0: GPU NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1023 Mb, version 314.22)
...
IL      0       14:12:01        Terminal        MetaTrader 5 x64 build 803 started (MetaQuotes Software Corp.)
PD      0       14:12:01        OpenCL  Device #0: GPU NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1023 Mb, version 314.22)
...
CF      0       14:14:16        Terminal        MetaTrader 5 x64 build 803 started (MetaQuotes Software Corp.)
QN      0       14:14:17        OpenCL  Device #0: GPU NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1023 Mb, version 314.22)
...
EH      0       14:23:30        Terminal        MetaTrader 5 x64 build 803 started (MetaQuotes Software Corp.)
CH      0       14:23:31        OpenCL  Device #0: GPU NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1023 Mb, version 314.22)

Не пересчитывается :(

PS. Процессор как OCL пропал 4 апреля - в логах нашел при очередном запуске уже было только одно устройство.