![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Gestern habe ich ein Beispiel für einen Tumbler gemacht, bei dem die Zellen unabhängig von der gesamten Fensterfläche neu gezeichnet werden:https://www.mql5.com/ru/forum/333652/page4
Es zeigt sich, dass das getrennte Neuzeichnen von Zellen die Last in Grenzen von 20% hält (auf Video mehr wegen der Videoaufzeichnung), und zwar IMMER, wenn die Zellen die ganze Zeit und mit 40 fps neu gezeichnet werden. Bei normaler Tumblerdynamik werden bei diesem Ansatz etwa 5-10% geladen.
Die Belastung ist nur dann hoch, wenn ein großer Bereich (~500*500 px) mit hoher Geschwindigkeit ohne Pausen (~40+ fps) neu gezeichnet wird. Jede Verzögerung oder Verkleinerung des Redrawing-Bereichs verringert die Belastung um ein Vielfaches.
In Ihrem Beispiel ist das Glas natürlich ziemlich abgestumpft, auch in der Tiefe. Es ist komisch, aber anscheinend muss das Rendering eines Stapels mit OpenCL zusätzlich auf allen Kernen durchgeführt werden, da die Berechnung in einzelne Zellen aufgeteilt wird, aber hier bin ich ein Theoretiker.
In Ihrem Beispiel ist der Becher natürlich ziemlich abgestumpft, einschließlich der Tiefe. Es ist komisch, aber anscheinend sollte die Zeichnung des Bechers auf allen Kernen mit OpenCL berechnet werden, zusätzlich, da die Berechnung in separate Zellen aufgeteilt ist, aber hier bin ich ein Theoretiker.
Ok, ich werde ein Becherglas mit mehr Zellen herstellen und erneut prüfen.
OK, ich mache ein Becherglas mit mehr Zellen und prüfe es noch einmal.
Machen Sie es einfach nicht statisch, sondern dynamisch.
Der Prozessor lädt gut, im vorherigen Bild sehen Sie eine offene Position, der Rahmen um den Preis ist magentafarben, dort ist die Position im Minus, im unteren Bild ist die Position im Plus
Machen Sie es einfach nicht statisch, sondern dynamisch.
Was meinen Sie mit "dynamisch"? Damit nicht alle Zellen gleichzeitig ihre Werte ändern? Das verstehe ich nicht.
Meiner Meinung nach sollte ein solches Bild nicht länger als 1-3 Millisekunden entstehen. Wenn es länger dauert, ist irgendwo etwas nicht in Ordnung.
Jetzt haben Sie die Messlatte für Perfektion höher gelegt... Warum verringern Sie die Zeitspanne nicht auf 6-8 Millisekunden?
Was meinen Sie mit "dynamisch"? Damit nicht alle Zellen gleichzeitig ihre Werte ändern? Das verstehe ich nicht.
Damit sich der aktuelle Preis über die Zellen hinweg bewegt und nicht in der Mitte wie in mt5
damit sich der aktuelle Preis über die Zellen hinweg bewegt, nicht in der Mitte wie im mt5 Cup
Das heißt, ohne Zentralisierung. Nun, für Futures-Instrumente ist das genau das, was Sie brauchen. Gut. (Dies ist nur ein Mockup, um die Belastung zu testen).
Jetzt haben Sie die Messlatte für Perfektion höher gelegt... Können Sie den Wert auf 6-8 Millisekunden senken?
OK, habe das Glas im Editor gemacht. Ich habe zwei Stunden gebraucht. Das ist eine Menge Aufregung. Sie können den Prozess um das Vierfache beschleunigen, indem Sie Werkzeuge hinzufügen.
Ich habe es getestet.
Das Ergebnis: weniger als 20 % der Auslastung bei konstanter Veränderung aller Zellen ask und bid und einer Zelle price, bei 40 Bildern pro Sekunde. (Die Belastung steigt um 5-7 Prozent, wenn die Aufzeichnung aktiviert ist).
Ich wiederhole meine Meinung - unter realen Bedingungen würde die Belastung je nach Marktaktivität 5 bis 10 Prozent betragen.