Leistungstests für einzelne Textbeschriftungen und Bitmaps in einem Diagramm - Seite 3

 
Renat:

Ich habe einen aktualisierten Test veröffentlicht. Sie zeigt nun die verwendete Auflösung an und gibt einen Hinweis, wie man sie testen kann.

Nun, das ist so ziemlich das, was wir tun.
 
sergeev:


Im Allgemeinen zeigen alle Tests, dass Bitmaps etwas langsamer sind.

+ Ich bezweifle, dass es richtig ist, die Markierungskoordinate abzulesen. Warum sollte man das Förderband überprüfen?

Tatsächlich zeigen die Tests, dass es nicht langsamer ist. Zumindest nicht auf modernen CPUs.

Hier ist mein Ergebnis auf i7-3770S, Windows 8 x64, 16 RAM, NVIDIA GeForce GT 640M:

2013.04.27 22:21:50     BenchmarkLabel (EURUSD,M15)     Тестирование завершено
2013.04.27 22:21:50     BenchmarkLabel (EURUSD,M15)     5. Время обновления текста и позиций у битмапа без прозрачности = 15007 ms
2013.04.27 22:21:35     BenchmarkLabel (EURUSD,M15)     4. Время обновления текста и позиций у битмапа с прозрачностью = 15257 ms
2013.04.27 22:21:20     BenchmarkLabel (EURUSD,M15)     3. Время обновления текста и позиций у меток со чтением = 16739 ms
2013.04.27 22:21:03     BenchmarkLabel (EURUSD,M15)     2. Время обновления текста и позиций у меток без чтения = 18845 ms
2013.04.27 22:20:44     BenchmarkLabel (EURUSD,M15)     1. Время обновления текста у меток без чтения = 21497 ms
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     0. Время разогрева динамических очередей без визуализации = 124 ms
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     Разрешение чарта: 1020 x 761 пикселей

Bitmap hat 15.257ms mit allen Transparenzen gegenüber 21.497ms für Tags.

Pipeline-Prüfungen sind wichtig, weil in der Praxis häufig Objektparameter gelesen werden müssen, bevor sie geändert werden. Und je häufiger sich die Objekte beim Lesen und Schreiben vermischen, desto langsamer wird die Änderung der Objekte funktionieren. Die beste Strategie für die Änderung von Objekten ist es, zuerst im Pulk zu lesen und dann im Pulk zu schreiben, um eine Vermischung zu vermeiden. Vor allem, wenn Sie Tausende von Objekten auf dem Diagramm haben.


Das wichtigste Ergebnis des Tests ist, dass es keine mehrfache, zehnfache oder fünfzigfache Verzögerung bei Bitmaps gibt. Selbst wenn es wie bei den obigen Messungen eine Verzögerung gibt (aber es gibt Fragen zur Größe und Konfiguration der Arbeitskarte), liegen sie innerhalb eines Dutzend Prozent.

Aber bei all dem hat eine Bitmap einen enormen Geschwindigkeitsvorteil mit mehr Objekten, besserer Rendering-Qualität (einschließlich Transparenz) und der Möglichkeit, zu rendern, was man will.

 

Sie können es noch schneller einrichten:

1. Verkleinern Sie das Diagrammfenster so, dass die erstellte Leinwand ca. 100 % des Fensters abdeckt.

2. Legen Sie ein monochromes Farbschema für die Karte fest (über Eigenschaften -> Farben -> Farbschema)/.

3. Verkleinern Sie das Diagramm auf ein Minimum (Kerzen in maximaler Größe).

Aber. Wie Sie sehen, sind die absoluten Zahlen des Benchmarks zwar niedriger, aber die relativen Werte sind +/- gleich.

 

Man beachte, wie eine Komponente des Computers die Leistung bei der Handhabung gemischter Objekte um den Faktor 3 verringert(sanyooooook-Test):

:

Höchstwahrscheinlich sind die CPU (wurde sie durch Schlösser zerstört?) und der Speicher daran schuld. Es wäre interessant zu wissen, welcher Prozessor verwendet wurde.

Vielleicht wurde der Computer auch nur gestresst oder der Bildschirm ruckelte zum Zeitpunkt dieses Tests.

 
sergeev:

Aber ich würde Diagramme mit einer Bitmap zeichnen. denn es gibt keine Optionen :) auch Multi-Objekt-Tabellen.

Eine Bitmap hat ebenso viele Vorteile wie Objekte.

Ich stimme zu. Jede Komponente ist für ihren Zweck geeignet. Bitmaps sind z. B. für das Zeichnen von Oberflächenelementen unverzichtbar. Nun, es gibt keine anderen Möglichkeiten.

Es ist jedoch schneller/effizienter, die Statistiken mit Tags auszugeben. :)

 
voix_kas:

Aber. Wie Sie sehen, sind die absoluten Benchmark-Werte zwar niedriger, aber die relativen Werte sind +/- gleich.

Ich habe absichtlich die Eingangsbedingungen festgelegt, damit es keine zufälligen Fehler gibt und jeder die Anforderungen an eine saubere Messung versteht.

Ihr Ergebnis von 2355 ms in einem der Tests wurde durch das Ausblenden/Verstecken/Verschieben/Umschalten des Terminalfensters während des Tests verursacht:

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
 
Es mag Sie überraschen, aber dieser Test (#3) funktioniert bei mir nicht. Ich habe an den SD geschrieben(#732578). Genauer gesagt, ist sie in einem von zwölf Fällen erfolgreich. Keine Benachrichtigungen oder Fehler im Protokoll. Das Terminal bleibt für die Dauer dieses Tests einfach stehen.
 
papaklass:

Mein Desktop-Test

Ja, Renat, was für ein Entschluss, den du da gefasst hast. Es hat eine Weile gedauert, bis ich alles auf dem Bildschirm nach 1920 x 1080 gefunden habe. Ich werde es jetzt auf meinem Laptop laufen lassen.

Vielen Dank für die Ergebnisse. Auch Bitmaps werden immer schneller.

 
voix_kas:
Es mag Sie überraschen, aber dieser Test (#3) funktioniert bei mir nicht. Ich habe an den SD geschrieben(#732578). Genauer gesagt, ist sie in einem von zwölf Fällen erfolgreich. Keine Benachrichtigungen oder Fehler im Protokoll. Das Terminal bleibt eine Weile hängen, während dieser Test durchgeführt wird.
Danke, wir werden uns das ansehen.
 
Renat:

Man beachte, wie eine Komponente des Computers die Leistung bei der Handhabung gemischter Objekte um den Faktor 3 verringert(sanyooooook-Test):

:

Höchstwahrscheinlich sind die CPU (wurde sie durch Schlösser zerstört?) und der Speicher daran schuld. Es wäre interessant zu wissen, welcher Prozessor verwendet wurde.

Vielleicht wurde der Computer auch nur gestresst oder der Bildschirm ruckelte zum Zeitpunkt dieses Tests.

Während des ersten Tests habe ich das Fenster umgeschaltet, während des zweiten habe ich überhaupt nichts berührt, gleichzeitig läuft MT4, in ihm läuft ein Skript Chart und ein paar andere Prozesse, die den Computer belasten können )