Errori, bug, domande - pagina 3127

 

Ah, questo tema nel debug non funziona più?
Peccato :((( Era molto utile nel mio lavoro


 
Nikolai Semko #:

Sì, probabilmente hai ragione. Questo è probabilmente il caso.
E per risparmiare risorse, sarebbe bene monitorare l'attività della finestra e non generare una bitmap se la finestra non è attiva.

Vale la pena controllare piuttosto che fare supposizioni.

Cosa abbiamo scoperto:

  • la risorsa non viene cancellata quando si cambia finestra
  • quando si cambia finestra, l'evento CHARTEVENT_CHART_CHANGE si verifica perché la finestra viene ridimensionata alla dimensione della precedente "non tutte le finestre", cioè come se la finestra fosse passata a questa modalità
  • è ragionevole monitorare l'attività della finestra (ChartGetInteger(0, CHART_BRING_TO_TOP)) e disattivare la generazione di bitmap (riempire la tela) per risparmiare risorse della CPU se la finestra è inattiva


Nell'indicatore di prova, il contatore viene salvato nella risorsa kanvas.

File:
 
Nikolai Semko #:

Cosa è stato scoperto:

  • la risorsa non viene cancellata quando si cambia finestra
  • l'evento CHARTEVENT_CHART_CHANGE si verifica quando si cambia finestra, perché la finestra viene ridimensionata alla dimensione del precedente "non tutte le finestre", cioè come se la finestra fosse passata a questa modalità:
  • è ragionevole monitorare l'attività della finestra (ChartGetInteger(0, CHART_BRING_TO_TOP)) e disattivare la generazione di bitmap (riempire la tela) per risparmiare risorse della CPU nel caso in cui la finestra sia inattiva

Nell'indicatore di prova, il contatore viene salvato nella risorsa kanvas.

quindi questo è il tuo errore evidente - usare la stessa risorsa su molti grafici in molti indicatori.
i tuoi indicatori (o EA) non funzionano se la finestra non è attiva - cioè l'utente non può usare più copie contemporaneamente su diversi grafici.
 
Taras Slobodyanik #:

quindi è ovvio il tuo errore - usare la stessa risorsa in molti grafici in molti indicatori.
i tuoi indicatori (o EA) non funzionano se la finestra non è attiva - cioè l'utente non può usare diverse copie di loro contemporaneamente in diversi grafici.
Cos'è questa sciocchezza, Taras?
Non so nemmeno come rispondere.
Studiate la matematica.
Che cosa ha a che fare con le prestazioni dell'indicatore e l'output grafico? Ogni indicatore o EA ha la propria risorsa grafica.
Guarda la classe CCanvas, come si forma il nome della risorsa.
 
Nikolai Semko #:
Che cosa ha a che fare questo con le prestazioni dell'indicatore e l'output grafico? Ogni indicatore o EA ha la propria risorsa grafica.
Guarda la classe CCanvas, come si forma il nome della risorsa.

E quando le risorse sono le stesse, vengono ridisegnate per tutte le copie.

Ho controllato il tuo codice in modalità "windowed" e sullo stesso grafico - la dimensione è la stessa.
Per la modalità "espansa", sì, la dimensione cambia, ma è un bug antico, ha diversi anni.

Cosa c'entra il funzionamento dell'indicatore e l'output grafico?

Voglio dire che se la finestra è inattiva e si consiglia di non aggiornare la tela - significa che

ps. e di conseguenza - i pannelli non funzioneranno grazie ai vostri consigli :)

cioè visivamente in modalità "windowed", gli indicatori (e l'EA) non si aggiornano.

ps. Tuttavia, se il controllo solo in OnChartEvent, dovrebbe funzionare, ho bisogno di controllare.

 
Taras Slobodyanik #:

Quando le risorse sono uguali, vengono ridisegnate per tutte le copie.

non sono la stessa cosa

se la finestra è inattiva, si consiglia di non aggiornare la tela - questo significa che

cioè visivamente in modalità "windowed", gli indicatori (e l'EA) non si aggiornano.

sì, era sbagliato con CHART_BRING_TO_TOP
dovrebbe usare l'opzione fxsaber

 
Nikolai Semko #:

Cosa è stato scoperto:

  • la risorsa non viene cancellata quando si cambia finestra
  • l'evento CHARTEVENT_CHART_CHANGE si verifica quando si cambia finestra, perché la finestra viene ridimensionata alla dimensione della precedente "non tutte le finestre", cioè come se la finestra fosse passata a questa modalità:
  • è ragionevole monitorare l'attività della finestra (ChartGetInteger(0, CHART_BRING_TO_TOP)) e spegnere la generazione di bitmap (riempire la tela) per risparmiare risorse della CPU se la finestra è inattiva


Nell'indicatore di prova, il contatore viene salvato nella risorsa kanvas.

Perfetto. Ora puoi dire esattamente come funzionano le cose, invece di tirare a indovinare. Sarà utile a chiunque lavori con CCanvas.

 
Nikolai Semko #:

Ah, questo tema nel debug non funziona più?
Peccato :(((( Era molto utile nel mio lavoro


Che build hai, beta o release?

 
Mihail Matkovskij #:

Che build hai, beta o release?

 
Nikolai Semko #:

Probabilmente siete in beta. Pensavo che questa caratteristica fosse sparita nella versione beta. Ma ho controllato il mio (build 3091, versione release) e non funziona nemmeno.