Oui, vous avez probablement raison. C'est probablement le cas. Et pour économiser des ressources, il serait bon de surveiller l'activité de la fenêtre et de ne pas générer de bitmap si la fenêtre n'est pas active.
Cela vaut la peine de vérifier plutôt que de faire des suppositions.
Ce que nous avons découvert :
la ressource n'est pas supprimée lors du changement de fenêtre
lors du changement de fenêtre, l'événement CHARTEVENT_CHART_CHANGE se produit car la fenêtre est redimensionnée à la taille de la précédente "pas toutes les fenêtres", c'est-à-dire comme si la fenêtre était passée dans ce mode
il est raisonnable de surveiller l'activité de la fenêtre (ChartGetInteger(0, CHART_BRING_TO_TOP)) et de désactiver la génération du bitmap (remplir le canevas) pour économiser les ressources du CPU si la fenêtre est inactive.
Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.
la ressource n'est pas supprimée lors du changement de fenêtre
l'événement CHARTEVENT_CHART_CHANGE se produit lors du changement de fenêtre, car la fenêtre est redimensionnée à la taille du précédent "pas toutes les fenêtres", c'est-à-dire comme si la fenêtre était passée dans ce mode :
il est raisonnable de surveiller l'activité de la fenêtre (ChartGetInteger(0, CHART_BRING_TO_TOP)) et de désactiver la génération du bitmap (remplir le canevas) pour économiser les ressources du CPU si la fenêtre est inactive.
Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.
C'est donc votre erreur évidente - utiliser la même ressource sur plusieurs graphiques dans plusieurs indicateurs. vos indicateurs (ou EA) ne fonctionnent pas si la fenêtre n'est pas active - c'est-à-dire que l'utilisateur ne peut pas utiliser plusieurs copies simultanément sur différents graphiques.
Taras Slobodyanik #: votre erreur est donc évidente - utiliser la même ressource dans plusieurs graphiques et dans plusieurs indicateurs. vos indicateurs (ou EA) ne fonctionnent pas si la fenêtre n'est pas active - c'est-à-dire que l'utilisateur ne peut pas en utiliser plusieurs copies simultanément dans différents graphiques.
C'est quoi cette absurdité, Taras ?
Je ne sais même pas comment répondre.
Étudiez les mathématiques.
Qu'est-ce que cela a à voir avec la performance des indicateurs et la sortie graphique ? Chaque indicateur ou EA possède sa propre ressource graphique.
Regardez la classe CCanvas, comment le nom de la ressource est formé.
Qu'est-ce que cela a à voir avec la performance des indicateurs et la sortie graphique ? Chaque indicateur ou EA possède sa propre ressource graphique.
Regardez la classe CCanvas, comment le nom de la ressource est formé.
Et lorsque les ressources sont les mêmes, elles sont redessinées pour toutes les copies.
J'ai vérifié votre code en mode "fenêtré" et sur le même graphique - la taille est la même. Pour le mode "étendu", oui, la taille change, mais c'est un ancien bug, il date de plusieurs années.
Quel est le rapport entre le fonctionnement de l'indicateur et la sortie graphique ?
Je veux dire que si la fenêtre est inactive et que vous recommandez de ne pas rafraîchir le canevas - cela signifie que
ps. et par conséquent - les panneaux ne fonctionneront pas grâce à vos conseils :)
c'est-à-dire que visuellement en mode "fenêtré", les indicateurs (et l'EA) ne se mettront pas à jour.
ps. Cependant, si la vérification se fait uniquement dans OnChartEvent, cela devrait fonctionner, j'ai besoin de vérifier.
la ressource n'est pas supprimée lors du changement de fenêtre
l'événement CHARTEVENT_CHART_CHANGE se produit lors du changement de fenêtre, car la fenêtre est redimensionnée à la taille du précédent "pas toutes les fenêtres", c'est-à-dire comme si la fenêtre était passée dans ce mode :
il est raisonnable de surveiller l'activité de la fenêtre (ChartGetInteger(0, CHART_BRING_TO_TOP)) et de désactiver la génération du bitmap (remplir le canevas) pour économiser les ressources du CPU si la fenêtre est inactive.
Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.
Parfait. Maintenant, vous pouvez dire exactement comment les choses fonctionnent, plutôt que de deviner. Sera utile à toute personne travaillant avec CCanvas.
Vous êtes probablement en version bêta. Je pensais que cette fonctionnalité avait disparu dans la version bêta. Mais j'ai vérifié le mien (build 3091, version release) et cela ne fonctionne pas non plus.
Oui, vous avez probablement raison. C'est probablement le cas.
Et pour économiser des ressources, il serait bon de surveiller l'activité de la fenêtre et de ne pas générer de bitmap si la fenêtre n'est pas active.
Cela vaut la peine de vérifier plutôt que de faire des suppositions.
Ce que nous avons découvert :
Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.
Ce qui a été découvert :
Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.
vos indicateurs (ou EA) ne fonctionnent pas si la fenêtre n'est pas active - c'est-à-dire que l'utilisateur ne peut pas utiliser plusieurs copies simultanément sur différents graphiques.
votre erreur est donc évidente - utiliser la même ressource dans plusieurs graphiques et dans plusieurs indicateurs.
vos indicateurs (ou EA) ne fonctionnent pas si la fenêtre n'est pas active - c'est-à-dire que l'utilisateur ne peut pas en utiliser plusieurs copies simultanément dans différents graphiques.
Et lorsque les ressources sont les mêmes, elles sont redessinées pour toutes les copies.
J'ai vérifié votre code en mode "fenêtré" et sur le même graphique - la taille est la même.
Pour le mode "étendu", oui, la taille change, mais c'est un ancien bug, il date de plusieurs années.
Quel est le rapport entre le fonctionnement de l'indicateur et la sortie graphique ?
Je veux dire que si la fenêtre est inactive et que vous recommandez de ne pas rafraîchir le canevas - cela signifie que
ps. et par conséquent - les panneaux ne fonctionneront pas grâce à vos conseils :)
c'est-à-dire que visuellement en mode "fenêtré", les indicateurs (et l'EA) ne se mettront pas à jour.
ps. Cependant, si la vérification se fait uniquement dans OnChartEvent, cela devrait fonctionner, j'ai besoin de vérifier.
Lorsque les ressources sont les mêmes, elles sont redessinées pour toutes les copies.
ils ne sont pas les mêmes
si la fenêtre est inactive, il est recommandé de ne pas mettre à jour le canevas - cela signifie que
c'est-à-dire que visuellement en mode "fenêtré", les indicateurs (et l'EA) ne se mettront pas à jour.
oui, c'était une erreur avec CHART_BRING_TO_TOP
devrait utiliser l'option fxsaber
Ce qui a été découvert :
Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.
Parfait. Maintenant, vous pouvez dire exactement comment les choses fonctionnent, plutôt que de deviner. Sera utile à toute personne travaillant avec CCanvas.
Ah, ce thème dans le débogage ne fonctionne plus ?
Dommage :((( Il était très utile dans mon travail.
Quelle version avez-vous, bêta ou release ?
Quelle version avez-vous, bêta ou release ?
Vous êtes probablement en version bêta. Je pensais que cette fonctionnalité avait disparu dans la version bêta. Mais j'ai vérifié le mien (build 3091, version release) et cela ne fonctionne pas non plus.
Ah, ce thème dans le débogage ne fonctionne plus ?
C'est triste :(( C'était très utile pour mon travail.
Signalé il y a plus de 4 mois. Tout le monde s'en fiche.