Mein Ansatz. Der Kern ist der Motor. - Seite 148

 
Oleg Papkov:

Könnte eine Fehlanpassung sein: sowohl EA als auch Motor, 1 - beide senden zueinander, 2 - beide empfangen, ihre OnTimer-Zyklen sind nicht synchronisiert. Warten auf den Moment der zufälligen Synchronisierung, um normal zu funktionieren. Könnte das der Grund sein?

Die Auslastung des Prozessors beträgt bis zu 40 %. Es ist nicht kritisch und verlangsamt sich kaum, aber ich mag es trotzdem nicht. Der Grund dafür ist noch nicht klar. Die Funktion ResourceReadImage und die Initialisierung des Arrays sind innerhalb des Zeichenblocks langsam. Wenn ich die Schleife auskommentiere, verlangsamt es ResourceReadImage, wenn ich ResourceReadImage auskommentiere, verlangsamt es die Schleife. Außerdem belasten sie einzeln den Prozessor zu 50 %, zusammen jedoch zu 40 %. Was für ein Haufen...

 

Ich möchte die Häufigkeit der Textnachrichten zwischen der Engine und dem EA auf 5 Mal pro Sekunde (200ms) reduzieren. Der Mensch hat ohnehin keine Zeit, die Bedeutung von wechselnden Zahlen schneller zu erfassen. Daher ist die Änderungsrate von 30 ms in der Praxis nicht sinnvoll.

Andere Nachrichten, wie Animationen und Steuerereignisse, werden mit 30 ms gesendet.

 
Реter Konow:
Oleg Papkov:

Könnte eine Fehlanpassung sein: sowohl EA als auch Motor, 1 - beide senden zueinander, 2 - beide empfangen, ihre OnTimer-Zyklen sind nicht synchronisiert. Warten auf den Moment der zufälligen Synchronisierung, um normal zu funktionieren. Könnte das der Grund sein?

Die Auslastung des Prozessors beträgt bis zu 40 %. Es ist nicht kritisch und verlangsamt sich kaum, aber ich mag es trotzdem nicht. Der Grund dafür ist noch nicht klar. Die Funktion ResourceReadImage und die Initialisierung des Arrays sind innerhalb des Zeichenblocks langsam. Wenn ich die Schleife auskommentiere, verlangsamt es ResourceReadImage, wenn ich ResourceReadImage auskommentiere, verlangsamt es die Schleife. Außerdem belasten sie einzeln den Prozessor zu 50 %, zusammen jedoch zu 40 %. Es macht einfach keinen Sinn.

Ich kann es nicht ändern. Ich bin nicht gut in diesem Thema. Wie wäre es mit Googeln? Suche nach "Geschwindigkeit von resourcereadimage mql4".

 
Oleg Papkov:

Da kann ich Ihnen nicht helfen. Ich bin nicht gut in diesem Thema. Wie wäre es mit einer Googl-Suche? Suche nach "Geschwindigkeit von resourcereadimage mql4".

Danke, aber Google hilft hier nicht weiter)). Ich habe die Reaktion der grafischen Benutzeroberfläche fast normalisiert. Ich habe den Grund bis zum Schluss nicht herausgefunden. Ich werde nun die Baudrate für verschiedene Nachrichtentypen aufteilen, was die Kommunikation noch weiter verbessern wird. Dann schicke ich Ihnen den neuen Motor.

 
Реter Konow:

Danke, aber Google hilft hier nicht weiter.) Ich habe die Reaktion der grafischen Benutzeroberfläche fast normalisiert. Ich habe den Grund nicht ganz verstanden. Ich werde nun die Baudrate für verschiedene Arten von Nachrichten aufteilen, was die Kommunikation noch weiter verbessern wird. Dann schicke ich Ihnen einen neuen Motor.

Ich hab's.

 

Nun, es wird nicht langsamer. Obwohl die CPU-Last bei 30ms ~40% beträgt. Es ist jedoch möglich, dass sie mit der Vergrößerung des Redraw-Bereichs zunehmen wird (obwohl dies nicht sicher ist). Muss mit großem Tisch geprüft werden.

Bisher ist dies das Ergebnis des Motors mit EA im Tester, bei Testgeschwindigkeit 31.

(Klicken Sie zum Anzeigen)


Es ist wichtig, dass die Prozessorlast sofort abfällt, wenn das Fenster geschlossen wird.

 
Kurz gesagt, ich werde es zusammenstellen - wir werden sehen. Nehmen Sie sich Zeit für ein paar Kopien?
 
Oleg Papkov:
Wie auch immer, ich werde es zusammenstellen und sehen. Keine Eile mit mehreren Kopien?

Nein. Ich glaube, ich habe den Grund herausgefunden. Ich werde es mir heute ansehen. Dann werde ich es möglich machen, mit mehreren Kopien zu arbeiten.

 

Die Ausgabegeschwindigkeit der Tabellen wird geregelt, um die Leerlauflast des Prozessors zu verringern.

Bei maximaler Geschwindigkeit der Datenausgabe hat eine Person keine Zeit, die Daten zu bewerten. Es war notwendig, den Datenfluss zu verlangsamen, um die Wahrnehmung zu verbessern.

Jetzt gibt es im Standardmenü der Engine einen neuen Punkt "Set Values Change Delay", der ein Fenster mit einem Geschwindigkeitsregler öffnet.

Durch Verschieben des Schiebereglers können Sie die Geschwindigkeit der Datenausgabe einstellen und einen für die Wahrnehmung akzeptablen Rhythmus der sich ändernden Werte erreichen.

Wichtig ist, dass sich die Werte selbst unabhängig vom Schieberegler ändern, die Ausgabegeschwindigkeit an die Tabellen aber vom Benutzer festgelegt wird.


 
Реter Konow:

Die Ausgabegeschwindigkeit der Tabellen wird geregelt, um die Leerlauflast des Prozessors zu verringern.

Bei maximaler Geschwindigkeit der Datenausgabe hat eine Person keine Zeit, die Daten zu bewerten. Es ist notwendig, den Datenfluss zu verlangsamen, um die Wahrnehmung zu verbessern.

Im Standardmenü der Engine gibt es nun einen neuen Punkt "Werte ändern Drehzahlregler", der ein Fenster mit dem Drehzahlregler aufruft.

Durch Verschieben des Schiebereglers können Sie die Geschwindigkeit der Datenausgabe anpassen und einen für die Wahrnehmung akzeptablen Rhythmus der sich ändernden Werte erreichen.

Wichtig ist, dass sich die Werte selbst unabhängig vom Schieberegler ändern, aber die Ausgabegeschwindigkeit der Tabellen vom Benutzer festgelegt wird.


Normalerweise ist es üblich, den Schieberegler nach links zu bewegen, um die Werte zu verringern, und nach rechts, um die Werte zu erhöhen. Bei Ihnen ist es andersherum. Wahrhaftig, Nikolai hat es angedeutet - Sie haben alles, was gegen alles, was allgemein akzeptiert ist, protestiert.