Il mio approccio. Il nucleo è il motore. - pagina 148

 
Oleg Papkov:

Potrebbe essere un mismatch: sia EA che motore, 1 - entrambi trasmettono l'uno all'altro, 2 - entrambi ricevono, i loro cicli OnTimer sono fuori sincrono. Aspettando il momento della sincronizzazione casuale per funzionare normalmente. Potrebbe essere questa la ragione?

Il carico del processore arriva al 40%. Non è critico e difficilmente rallenta, ma ancora non mi piace. Il motivo non è ancora chiaro. La funzione ResourceReadImage e l'inizializzazione dell'array sono lente all'interno del blocco di disegno. Se commento il ciclo, rallenta ResourceReadImage, se commento ResourceReadImage, rallenta il ciclo. Inoltre, separatamente caricano il processore del 50%, ma insieme lo caricano del 40%. Che carico...

 

Voglio ridurre la frequenza dei messaggi di testo tra il motore e l'EA a 5 volte al secondo (200ms). Una persona non ha comunque il tempo di afferrare più velocemente il significato di cambiare i numeri. Pertanto, il tasso di cambio di 30ms non ha alcun senso pratico.

Altri messaggi, come le animazioni e gli eventi di controllo, arriveranno a 30ms.

 
Реter Konow:
Oleg Papkov:

Potrebbe essere un mismatch: sia EA che motore, 1 - entrambi trasmettono l'uno all'altro, 2 - entrambi ricevono, i loro cicli OnTimer sono fuori sincrono. Aspettando il momento della sincronizzazione accidentale per lavorare normalmente. Potrebbe essere questa la ragione?

Il carico del processore arriva al 40%. Non è critico e difficilmente rallenta, ma ancora non mi piace. Il motivo non è ancora chiaro. La funzione ResourceReadImage e l'inizializzazione dell'array sono lente all'interno del blocco di disegno. Se commento il ciclo, rallenta ResourceReadImage, se commento ResourceReadImage, rallenta il ciclo. Inoltre, separatamente caricano il processore del 50%, ma insieme lo caricano del 40%. Non ha alcun senso.

Non posso farci niente. Non sono bravo in questo argomento. Che ne dici di cercare su Google? Cerca "velocità di resourcereadimage mql4".

 
Oleg Papkov:

Non posso aiutarti in questo. Non sono bravo in questo argomento. Che ne dite di una ricerca su Google? Cerca "velocità di resourcereadimage mql4".

Grazie, ma google non aiuta qui)). Ho quasi normalizzato la risposta della GUI. Non ho capito la ragione fino alla fine. Ora dividerò il baud rate per i diversi tipi di messaggi, il che migliorerà la comunicazione ancora di più. Poi, ti manderò il nuovo motore.

 
Реter Konow:

Grazie, ma qui google non aiuta). Ho quasi normalizzato la risposta della GUI. Non ho capito bene il motivo. Ora dividerò il baud rate per i diversi tipi di messaggi, il che alla fine migliorerà ancora di più la comunicazione. Poi, ti faccio cadere un nuovo motore.

Capito.

 

Beh, ora non sta rallentando. Anche se il carico della CPU a 30ms è ~40%. Detto questo, è possibile che aumenti quando si aumenta l'area di ridisegno (anche se non è certo). Necessità di controllare con un grande tavolo.

Finora questo è il risultato del motore con EA nel tester, alla velocità di prova 31.

(Clicca per vedere)


È importante che il carico del processore scenda immediatamente quando la finestra viene chiusa.

 
In breve, lo metterò insieme - vedremo. Prenditi il tuo tempo con poche copie?
 
Oleg Papkov:
Comunque, lo metterò insieme e vedrò. Nessuna fretta con più copie?

No, credo di aver capito il motivo. Lo controllerò oggi stesso. Allora renderò possibile lavorare con diverse copie.

 

La velocità di uscita delle tabelle è regolata per ridurre il carico inattivo del processore.

Alla massima velocità di uscita dei dati, una persona non ha il tempo di valutare i dati. C'era bisogno di rallentare il flusso di dati per migliorare la percezione.

Ora, nel menu standard del motore c'è una nuova voce "Set Values Change Delay", che fa apparire una finestra con un cursore di velocità.

Spostando il cursore, è possibile regolare la velocità di uscita dei dati, e ottenere un ritmo accettabile per la percezione dei valori che cambiano.

È importante che i valori stessi cambino indipendentemente dal cursore, ma la velocità di uscita alle tabelle è impostata dall'utente.


 
Реter Konow:

La velocità di uscita delle tabelle è regolata per ridurre il carico inattivo del processore.

Alla massima velocità di uscita dei dati, una persona non ha il tempo di valutare i dati. C'è bisogno di rallentare il flusso di dati per migliorare la percezione.

Ora, nel menu standard del motore c'è una nuova voce "Values Change Speed Controller", che fa apparire una finestra con il regolatore di velocità.

Spostando il cursore, è possibile regolare la velocità di uscita dei dati, e raggiungere un ritmo accettabile per la percezione dei valori che cambiano.

È importante che i valori stessi cambino indipendentemente dal cursore, ma la velocità di uscita delle tabelle è impostata dall'utente.


Di solito si usa spostare il cursore a sinistra per diminuire i valori e a destra per aumentarli. Tu hai il contrario. Veramente Nikolai ha accennato - avete tutto in protesta contro tutto ciò che è generalmente accettato.

Motivazione: