Bei der derzeitigen Prozessorleistung können Sie die Bremsen der Doppelmathematik vergessen. Es gibt keine Verzögerungen.
Und die Methoden der Optimierung durch Umrechnung in Ganzzahlen sind schon sehr veraltet. Sie werden bei der Umrechnung ein Vielfaches mehr verlieren als Sie bei der Mathematik gewinnen.
In Anbetracht des 64-Bit-Codes und unseres Compilers sollten Sie Integer in der Klasse der auf Doppelberechnungen basierenden Aufgaben vergessen.
Dem Compiler gelang es, Berechnungen von zwei 64-Bit-Doppelwurzeln aus verschiedenen Ausdrücken in einem 128-Bit-Assemblerbefehl zusammenzufassen. Bei der Arbeit mit Double-Mathematik wird dringend davon abgeraten, zu Integer-Typen zu springen/zu konvertieren. Bei der Konvertierung gibt es wilde CPU-Mehrkosten (nicht unsere).
Führen Sie es zunächst mit den Standardparametern aus (Kreise mit Antialiasing und Koordinaten und Abmessungen vom Typ double)
und führen Sie es dann mit dem Parameter typ = not_smoothed_circles aus (mit ungeglätteten Kreisen und Koordinaten und Größen vom Typ int - aus der Klasse CCanvas).
Das hat hervorragend funktioniert.
Ich habe 347 fps ohne Antialiasing und 97 mit Antialiasing auf Leinwand mit 2100x550 Pixeln.
Zur Information: Die Aktualisierungsrate des Fensters ist auf 500 fps begrenzt. Dies zeigt, wie viel Leistung in der Grafik erreicht werden kann.
Beim derzeitigen Stand der Prozessoren können Sie das Bremsen von Doppelmathematik vergessen. Es gibt keine Bremsen.
Und die Methoden der Optimierung durch Umrechnung in Ganzzahlen sind schon sehr veraltet. Sie werden bei der Umrechnung ein Vielfaches mehr verlieren als Sie bei der Mathematik gewinnen.
In Anbetracht des 64-Bit-Codes und unseres Compilers sollten Sie Integer in der Klasse der auf Doppelberechnungen basierenden Aufgaben vergessen.
Der Compiler hat es geschafft, Berechnungen von zwei 64-Bit-Doppelwurzeln aus verschiedenen Ausdrücken in einem 128-Bit-Assembler-Befehl zusammenzufassen. Bei der Arbeit mit Double-Mathematik wird dringend davon abgeraten, zu Integer-Typen zu springen/zu konvertieren. Bei der Konvertierung gibt es wilde CPU-Mehrkosten (nicht unsere).
Ich bin mir fast sicher, dass der Tester viel schneller arbeiten wird, wenn wir die Ticks ganzzahlig machen.
Es ist fast sicher, dass der Tester viel schneller arbeiten wird, wenn Sie die Ticks ganzzahlig machen.
Nein.
Machen Sie sich zunächst einmal klar, dass:
muss alles in Ints umgewandelt werden.
Bei der Datenkonvertierung kommt es zu großen Verzögerungen
wilden Speicherverbrauch bekommen
eine 100-prozentige Wahrscheinlichkeit von Überläufen bei jedem Vorgang und ein vollständiges Absterben des Systems erhalten
eine Missachtung von Entwicklern erfahren, denen angeboten wird, ihre Indikatoren zu lesen und in Ints statt in Dubs zu arbeiten
Und siehe da, es gibt keinen Unterschied mehr zwischen Dubs und Ints in der Geschwindigkeit. Kaum zu glauben, aber ja.
Ich habe nicht umsonst die oben genannten Beweise angeführt. Dort versuchte Nikolai, die Optimierungsmethode über vorberechnete Wurzeltabellen anzuwenden, und verlor gegen die zeitnahe Berechnung von Stäbchenwurzeln im Prozess.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Bei der derzeitigen Prozessorleistung können Sie die Bremsen der Doppelmathematik vergessen. Es gibt keine Verzögerungen.
Und die Methoden der Optimierung durch Umrechnung in Ganzzahlen sind schon sehr veraltet. Sie werden bei der Umrechnung ein Vielfaches mehr verlieren als Sie bei der Mathematik gewinnen.
In Anbetracht des 64-Bit-Codes und unseres Compilers sollten Sie Integer in der Klasse der auf Doppelberechnungen basierenden Aufgaben vergessen.
Hier ist ein früheres Beispiel für Nikolais Optimierungsversuche: https://www.mql5.com/ru/forum/1111/page2164#comment_6796332
Dem Compiler gelang es, Berechnungen von zwei 64-Bit-Doppelwurzeln aus verschiedenen Ausdrücken in einem 128-Bit-Assemblerbefehl zusammenzufassen. Bei der Arbeit mit Double-Mathematik wird dringend davon abgeraten, zu Integer-Typen zu springen/zu konvertieren. Bei der Konvertierung gibt es wilde CPU-Mehrkosten (nicht unsere).
Sie müssen nichts aufrunden.
Hier ist ein Skript als Beispiel.
Führen Sie es zunächst mit den Standardparametern aus (Kreise mit Antialiasing und Koordinaten und Abmessungen vom Typ double)
und führen Sie es dann mit dem Parameter typ = not_smoothed_circles aus (mit ungeglätteten Kreisen und Koordinaten und Größen vom Typ int - aus der Klasse CCanvas).
Das hat hervorragend funktioniert.
Ich habe 347 fps ohne Antialiasing und 97 mit Antialiasing auf Leinwand mit 2100x550 Pixeln.
Zur Information: Die Aktualisierungsrate des Fensters ist auf 500 fps begrenzt. Dies zeigt, wie viel Leistung in der Grafik erreicht werden kann.
Beim derzeitigen Stand der Prozessoren können Sie das Bremsen von Doppelmathematik vergessen. Es gibt keine Bremsen.
Und die Methoden der Optimierung durch Umrechnung in Ganzzahlen sind schon sehr veraltet. Sie werden bei der Umrechnung ein Vielfaches mehr verlieren als Sie bei der Mathematik gewinnen.
In Anbetracht des 64-Bit-Codes und unseres Compilers sollten Sie Integer in der Klasse der auf Doppelberechnungen basierenden Aufgaben vergessen.
Hier ist ein früheres Beispiel für Nikolais Optimierungsversuche: https://www.mql5.com/ru/forum/1111/page2164#comment_6796332
Der Compiler hat es geschafft, Berechnungen von zwei 64-Bit-Doppelwurzeln aus verschiedenen Ausdrücken in einem 128-Bit-Assembler-Befehl zusammenzufassen. Bei der Arbeit mit Double-Mathematik wird dringend davon abgeraten, zu Integer-Typen zu springen/zu konvertieren. Bei der Konvertierung gibt es wilde CPU-Mehrkosten (nicht unsere).
Ich bin mir fast sicher, dass der Tester viel schneller arbeiten wird, wenn wir die Ticks ganzzahlig machen.
Nein, das ist kein Morphing. Es ist etwas weit hergeholt, dies als Morphing zu bezeichnen:
Eigentlich war ich zu faul, selbst eine echte zu erstellen - ich habe sie in den Beispielordnern gefunden.
Morphing, wörtlich: Kasteiung.
Es ist fast sicher, dass der Tester viel schneller arbeiten wird, wenn Sie die Ticks ganzzahlig machen.
Für das Pferd ist das klar, wie Elena Jurjewna sagte.
Basierend auf Doom und dem Rat von @fxsaber.
Ich habe den Algorithmus vondieser Website mit einigen leichten Änderungen verwendet.
Womit machen Sie Ihre Bilder, Nikolai?
Es ist fast sicher, dass der Tester viel schneller arbeiten wird, wenn Sie die Ticks ganzzahlig machen.
Nein.
Machen Sie sich zunächst einmal klar, dass:
Morphing, wörtlich: Tod.
Nicht wert, hier zu diskutieren, aber Morphing ( morphing) Wo sehen Sie tote Menschen, nüchtern...
Es lohnt sich nicht, hier darüber zu diskutieren, aber Morphing ( Morphing- Verwandlung) Wo du tote Menschen siehst - nüchtern werden...
Die morphometrische Analyse ist die Analyse der toten Zellen. Zuerst töten wir sie, dann legen wir sie unter das Mikroskop.
Nein.
Double int ist doppelt so schnell wie double