Mon approche. Le noyau est le moteur. - page 148

 
Oleg Papkov:

Il peut s'agir d'un décalage : l'EA et le moteur, 1 - tous deux se transmettent l'un à l'autre, 2 - tous deux reçoivent, leurs cycles OnTimer sont désynchronisés. Attendre le moment de la synchronisation aléatoire pour fonctionner normalement. Cela pourrait-il être la raison ?

La charge du processeur peut atteindre 40 %. Il n'est pas critique et ne ralentit pratiquement pas, mais je ne l'aime toujours pas. La raison n'est pas encore claire. La fonction ResourceReadImage et l'initialisation du tableau sont lentes à l'intérieur du bloc de dessin. Si je commente la boucle, cela ralentit ResourceReadImage, si je commente ResourceReadImage, cela ralentit la boucle. De plus, séparément, ils chargent le processeur de 50%, mais ensemble, ils le chargent de 40%. Quelle charge...

 

Je veux réduire la fréquence des messages texte entre le moteur et l'EA à 5 fois par seconde (200ms). De toute façon, une personne n'a pas le temps de saisir plus rapidement la signification des changements de chiffres. Par conséquent, le taux de changement de 30 ms n'a aucun sens pratique.

D'autres messages, tels que les animations et les événements de contrôle, atteindront 30 ms.

 
Реter Konow:
Oleg Papkov:

Il peut s'agir d'un décalage : l'EA et le moteur, 1 - tous deux se transmettent l'un à l'autre, 2 - tous deux reçoivent, leurs cycles OnTimer sont désynchronisés. Attendre le moment de la synchronisation accidentelle pour travailler normalement. Cela pourrait-il être la raison ?

La charge du processeur peut atteindre 40 %. Il n'est pas critique et ne ralentit pratiquement pas, mais je ne l'aime toujours pas. La raison n'est pas encore claire. La fonction ResourceReadImage et l'initialisation du tableau sont lentes à l'intérieur du bloc de dessin. Si je commente la boucle, cela ralentit ResourceReadImage, si je commente ResourceReadImage, cela ralentit la boucle. De plus, séparément, ils chargent le processeur de 50%, mais ensemble, ils le chargent de 40%. Ça n'a aucun sens.

Je ne peux pas m'en empêcher. Je ne suis pas doué pour ce sujet. Et si on allait sur Google ? Recherchez "vitesse de resourcereadimage mql4".

 
Oleg Papkov:

Je ne peux pas vous aider avec ça. Je ne suis pas doué pour ce sujet. Pourquoi ne pas faire une recherche sur Google ? Recherchez "vitesse de resourcereadimage mql4".

Merci, mais Google n'est d'aucune aide ici)). J'ai presque normalisé la réponse de l'interface graphique. Je n'ai pas compris la raison jusqu'à la fin. Je vais maintenant diviser le débit en bauds pour les différents types de messages, ce qui permettra éventuellement d'améliorer encore plus la communication. Ensuite, je vous enverrai le nouveau moteur.

 
Реter Konow:

Merci, mais google ne nous aidera pas ici). J'ai presque normalisé la réponse de l'interface graphique. Je n'ai pas bien compris la raison. Je vais maintenant diviser le débit en bauds pour les différents types de messages, ce qui permettra éventuellement d'améliorer encore plus la communication. Ensuite, je vous enverrai un nouveau moteur.

Je l'ai.

 

Eh bien, ça ne ralentit pas maintenant. Bien que la charge du CPU à 30ms soit de ~40%. Cela dit, il est possible qu'elle augmente lorsque la zone de redécoupage est accrue (mais ce n'est pas certain). Il faut vérifier avec la grande table.

Jusqu'à présent, c'est le résultat du moteur avec EA dans le testeur, à la vitesse de test 31.

(Cliquez pour voir)


Il est important que la charge du processeur diminue immédiatement lorsque la fenêtre est fermée.

 
En bref, je vais le mettre en place - nous verrons. Prenez votre temps avec quelques exemplaires ?
 
Oleg Papkov:
Quoi qu'il en soit, je vais l'assembler et voir. Pas de précipitation avec des copies multiples ?

Non. Je crois que j'ai trouvé la raison. Je vais vérifier aujourd'hui. Ensuite, je ferai en sorte qu'il soit possible de travailler avec plusieurs copies.

 

La vitesse de sortie des tableaux est régulée afin de réduire la charge au ralenti du processeur.

À la vitesse maximale de sortie des données, une personne n'a pas le temps d'évaluer les données. Il était nécessaire de ralentir le flux de données pour améliorer la perception.

Maintenant, dans le menu standard du moteur, il y a un nouvel élément "Set Values Change Delay", qui fait apparaître une fenêtre avec un curseur de vitesse.

En déplaçant le curseur, vous pouvez ajuster la vitesse de sortie des données, et obtenir un rythme acceptable pour la perception des valeurs changeantes.

Il est important que les valeurs elles-mêmes changent indépendamment du curseur, mais que la vitesse de sortie vers les tableaux soit fixée par l'utilisateur.


 
Реter Konow:

La vitesse de sortie des tableaux est régulée afin de réduire la charge au ralenti du processeur.

À la vitesse maximale de sortie des données, une personne n'a pas le temps d'évaluer les données. Il est nécessaire de ralentir le flux de données pour améliorer la perception.

Maintenant, dans le menu standard du moteur, il y a un nouvel élément "Valeurs Modifier le contrôleur de vitesse", qui fait apparaître une fenêtre avec le contrôleur de vitesse.

En déplaçant le curseur, vous pouvez ajuster la vitesse de sortie des données, et obtenir un rythme acceptable pour la perception des valeurs changeantes.

Il est important que les valeurs elles-mêmes changent indépendamment du curseur, mais que la vitesse de sortie des tableaux soit fixée par l'utilisateur.


En général, il est d'usage de déplacer le curseur vers la gauche pour diminuer les valeurs et vers la droite pour les augmenter. Vous l'avez dans l'autre sens. En vérité, Nikolaï l'a laissé entendre - vous avez tout pour protester contre tout ce qui est généralement accepté.