Performance testing of individual text labels and bitmaps on a chart - page 5

 
sergeev:

In the real world (here's a purely practical situation), the labels are not interrogated.
All coordinates and properties are stored in wrapper class fields. In the same Standard Libera, for example.
That's why I think it's harmful to have polling in this test (otherwise, we'd need to add something similar for bitmap - polling where is the coordinate of TextOut)

Often queried in real work, verification is important. In addition, there are nearby results without polling.


Conducted so many tests - it is clearly seen that ChartRedraw brake. and all. for without it tags win not just 10-20%, but many times.
I think we need to verify this method for such a low speed. for if on 5000 redraws we have cycle performance in 10 seconds... something has to be done.

So rendering a chart at 500 fps isn't good enough?

You have to stay in touch with reality.


That is, some complex function is responsible for preparing the rendering of graph objects, while BitBlt for bitmap output has no effect on the speed of the chart update.

Drawing text labels is a fast GDI procedure TextOut. Generally, apart from 26 objects or one bitmap, there is a not insignificant canvas of the chart itself, with graphs and the whole rendering machine. Note that the objects under test are only passengers on the chart.


Since there are few Expert Advisors specializing in graphics, I'll draw a general conclusion - the visualization system in MetaTrader 5 (and in MetaTrader 4) is very effective and thoroughly improved for many years. A lot of work has been done on it and it has made a powerful graphical object re-shaping combine.

 

Renat:

So rendering a chart at 500fps is no longer satisfactory???

I forgot, ms didn't translate.

 

As Renat noticed, some people take up to 3 times longer to complete the third item (I'm also on XP), what can this be about?

I don't have it on Win 8.

 
sanyooooook:

As Renat noticed, some people take up to 3 times longer to complete the third item (I'm also on XP), what can this be about?

I don't have it on Win 8.

Yes, strange behaviour in read/write linkage in queue on XP. voix_kas has already sent a request to servicedesk - we will look into it.
 
Here's my test and Yurich's test, for example ,

The power is almost the same, but his point 3 is also 3 times slower.

ZS: So it's not about XP, both he and I have Win 8

 
fyords:

Win7 x64, 4Gb RAM.

Strange, my CPU does not show up as OpenCL device and does not show up as XXX.

For CPU to show up as OpenCL device, additional drivers from AMD or Intel must be installed.

OpenCL rating is not shown when reinitializing devices (this happens automatically). It will show up on the next startup.

 
sanyooooook:

ZS: So it's not about XP and both he and I have Win 8
Ok. We'll all test it anyway.
 

When the Internet browser is unloaded, the test results are quite different:

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:

When the Internet browser is unloaded, the test results are quite different:

Unloaded two browsers (Opera and Firefox) and the tests were 1-2 seconds faster.
 
Renat:

For CPU to be shown as OpenCL device, additional drivers from AMD or Intel must be installed.

OpenCL rating is not shown when reinitializing devices (this happens automatically). It will show up on the next startup.

So I know, there is a driver for AMD. Already uninstalled and reinstalled, still no driver. Only noticed it missing today. And GPU-Z doesn't see the processor either. It used to work, though.

And the rating has not been showing for a long time, since 770 build (it was in 756 yet). I thought that the rating was taken away since it is impossible to use the GPU in the cloud, hence the rating is no longer needed.

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)

Not recalculated :(

PS. Processor as OCL disappeared April 4 - found in logs at next startup there was only one device already.