Tela vs Etichette - pagina 14

 
Renat Fatkhullin:

Se leggete da una risorsa memorizzata in fase di compilazione, dovete farlo una volta sola.

Ho letto da una dinamica.

 
Mihail Matkovskij:

Dovete dire a quali parametri di input Kanvas è lento. Se limit_fps: false, allora è un gioco da ragazzi... :)

Cercavo sololimit_fps ieri?

 
Dmitry Fedoseev:

Cercavo sololimit_fps ieri?

Cosa c'è da cercare? Esegui l'Expert Advisor e provalo in diverse modalità. Cono senza limit_fps abilitato.E allora capirete tutto.

Il punto è limitare la frequenza con cui CCanvas::TextOut e CCanvas::Update vengono chiamati.
 
Mihail Matkovskij:

Cosa c'è da cercare? Esegui l'Expert Advisor e prova a prendere le misure in diverse modalità. Cono senza limit_fps abilitato.Allora capirete tutto.

Il punto è limitare la frequenza con cui CCanvas::TextOut e CCanvas::Update vengono chiamati.

Pensi che tutti siano solo degli idioti e basta? Solo selvaggio e delirante - e questo è normale? Perché dovrei cercarlo se ce ne fosse uno? Scarica i tuoi file da quei link che ti sei dato qualche pagina fa e vedi che non c'è un metodo di campo per impostare limit_fps. La chiamata c'è, ma il metodo del campo no, quindi non compila. Ma se si commenta una riga, si compila. Ma ho già trovato la pagina nel codebase e scaricato l'archivio, tutto è lì. Lo sto spiegando deliberatamente, altrimenti potreste iniziare a pensare come potrei testarlo con limit_fps attivato quando non c'è alcun metodo. Ma chissà, forse quei link ce l'hanno già, forse i file si aggiornano con ritardo anche lì,

Non ha senso limitare lafrequenza delle chiamate diTextOut Update quando si confronta con l'etichetta, perché il confronto deve essere fatto nelle stesse condizioni.

 
Dmitry Fedoseev:

Pensate che tutti siano così idioti e basta? Solo selvaggio e delirante - e questo è normale? Perché lo starei cercando se ce ne fosse uno? Scarica i tuoi file da quei link che ti sei dato qualche pagina fa e vedi che non c'è un metodo di campo per impostare limit_fps. La chiamata c'è, ma il metodo del campo no, quindi non compila. Ma se si commenta una riga, si compila. Ma ho già trovato la pagina nel codebase e scaricato l'archivio, tutto è lì. Lo sto spiegando deliberatamente, altrimenti potreste iniziare a pensare come potrei testare in questo modo con limit_fps attivato quando non c'è alcun metodo. Ma chissà, forse quei link ce l'hanno già, forse i file si aggiornano con ritardo anche lì,

Non ha senso limitare lafrequenza delle chiamate diTextOut Update quando si confronta con l'etichetta, perché il confronto dovrebbe essere fatto nelle stesse condizioni.

Hai appena scaricato una versione demo, lì la limitazione FPS funziona senza possibilità di disattivarla. Ma hai bisogno di un esperto per fare le misure! Potete trovare tutti i link qui https://www.mql5.com/ru/forum/364640/page13#comment_21314045 . Scarica la libreria ChartDisplay.mqh e l'esperto CanvasVsLabels.mq5.

Ecco uno screenshot per aiutarvi

E leggi tutto attentamente prima di scrivere il tuo prossimo messaggio di insoddisfazione! :)

 
Ad alti tassi di cambiamento nelle varie proprietà degli oggetti grafici e quando si cercava di salvare il grafico stesso, Windows lanciava una schermata blu.
 
Mihail Matkovskij:

Hai appena scaricato la versione demo, il limite di FPS funziona lì senza l'opzione di disattivarlo. Ma hai bisogno di un esperto per prendere le misure! Qui potete trovare tutti i link https://www.mql5.com/ru/forum/364640/page13#comment_21314045 . Scarica la libreria ChartDisplay.mqh e l'esperto CanvasVsLabels.mq5.

Ecco uno screenshot per aiutarvi

E leggi tutto attentamente prima di scrivere il tuo prossimo messaggio di insoddisfazione! :)

Ecco un link con una citazione del tuo post dove hai dato i link per scaricare i file. Cosa avrei dovuto leggere lì e che scelta avevo? E ora hai già modificato quel tuo post. Pensate davvero che tutti siano così idioti e che sia così facile per loro cagare sul loro cervello?

O pensi che non ho niente di meglio da fare e me ne sto qui a inventare storie assurde?

 
Nikolai Semko:
Davvero?
Sorpresa per me.
Quanto più lento della copia di un normale array uint della stessa dimensione?
#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

void OnStart()
{
  uint Data[];
  
  ArrayResize(Data, 1 e6);

  const string Name = "::" + __FILE__;
  
  for (int i = 0; i < 10; i++)
    _B(ResourceCreate(Name, Data, ArraySize(Data), 1, 0, 0, ArraySize(Data), COLOR_FORMAT_ARGB_NORMALIZE), 100);
    
  uint Width;
  uint Height;
  
  for (int i = 0; i < 10; i++)
    _B(ResourceReadImage(Name, Data, Width, Height), 1);
  
  ResourceFree(Name);
}


Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1973 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 891 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1226 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1232 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 940 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 940 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 924 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 917 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 925 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 932 mcs.

Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2575 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2442 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 7473 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2308 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2955 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2883 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2715 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2842 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2755 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2304 mcs.

I ritardi sono evidenti. E la registrazione mostra che 1000 FPS è il tetto massimo.

 
fxsaber:


I freni sono in faccia. Sì e la registrazione mostra che 1000 FPS è il tetto massimo.

Lo capiremo, è strano.

 
Dmitry Fedoseev:

Ecco un link con una citazione del tuo post in cui hai dato dei link per scaricare i file. Cosa avrei dovuto leggere lì e che scelta avevo? E ora hai già modificato quel tuo post. Pensate davvero che tutti siano così idioti e che sia così facile per loro cagare sul loro cervello?

O pensi che non ho niente di meglio da fare e me ne sto qui a inventare storie assurde?

Esattamente, in quel link ho scritto da dove scaricare.

Mihail Matkovskij:

Scarica i file in \MQL5\Experts\canvas-vs-labels\measurement\cyberdev\ e \MQL5\Experts\canvas-vs-labels\measurement\ in KB. Per limitare gli fps, impostare limit_fps a true nei parametri di input. file: CanvasVsLabels.mq5. Come eseguire il test è mostrato sopra. E c'è una descrizione in KB.

Non ti è bastato! Allora non avete capito il codice sorgente, nemmeno come eseguirlo. Anche se li ho già misurati e ho pubblicato i risultati qui sopra. Ora, hai scaricato il codice sorgente? Eseguirlo? Se no, allora andate a studiare almeno le basi della programmazione. Perché è impossibile! Se non sai nemmeno come costruire un'applicazione da fonti già pronte, che altro possiamo dire...

Sto allegando il file compilato di Expert Advisor. Se avete ancora problemi ad usarlo, dovreste davvero imparare ad usarlo. Iniziate dalle basi: cos'è una variabile, cos'è una funzione e cos'è un programma! E poi continua e continua!


<*.ex* file cancellato

Motivazione: