
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Al livello attuale del processore si può dimenticare i freni della doppia matematica. Non ci sono ritardi.
E i metodi di ottimizzazione tramite conversione in numeri interi sono già molto superati. Perderete molte volte di più con la conversione che con la matematica.
Tenendo conto del codice a 64 bit e del nostro compilatore, dovreste dimenticare gli interi nella classe dei compiti basati su calcoli doppi.
Ecco un esempio precedente dei tentativi di ottimizzazione di Nikolai: https://www.mql5.com/ru/forum/1111/page2164#comment_6796332
Il compilatore è riuscito a combinare i calcoli di due radici doppie a 64 bit da espressioni diverse in un comando assembler a 128 bit. Quando si lavora con la matematica doppia è fortemente sconsigliato saltare/convertire ai tipi interi. Ci sono overheads di CPU selvaggi sulla conversione (non i nostri).
Non devi arrotondare nulla.
Ecco uno script come esempio.
Eseguilo prima con i parametri di default (con cerchi antialias e coordinate e dimensioni di tipo doppio)
e poi eseguirlo con parametro typ = not_smoothed_circles (con cerchi non smussati e coordinate e dimensioni di tipo int - dalla classe CCanvas).
Ha funzionato alla grande.
Ho ottenuto 347 fps senza antialiasing e 97 con antialiasing su tela con 2100x550 pixel.
Per informazione, abbiamo un limitatore della velocità di aggiornamento della finestra di 500fps. Questo mostra quante prestazioni si possono ottenere nella grafica.
Al livello attuale dei processori si può dimenticare la frenata della doppia matematica. Non ci sono freni.
E i metodi di ottimizzazione tramite conversione in interi sono già molto superati. Perderete molte volte di più con la conversione che con la matematica.
Tenendo conto del codice a 64 bit e del nostro compilatore, dovreste dimenticare gli interi nella classe dei compiti basati su calcoli doppi.
Ecco un esempio precedente dei tentativi di ottimizzazione di Nikolai: https://www.mql5.com/ru/forum/1111/page2164#comment_6796332
Il compilatore è riuscito a combinare i calcoli di due radici doppie a 64 bit da espressioni diverse in un comando assembler a 128 bit. Quando si lavora con la matematica doppia è fortemente sconsigliato saltare/convertire ai tipi interi. Ci sono overheads di CPU selvaggi sulla conversione (non i nostri).
Sono quasi sicuro che se rendiamo i tick basati su interi, il Tester inizierà a lavorare molto più velocemente.
No, questo non è morphing. È una forzatura chiamarlo morphing:
In realtà, ero troppo pigro per farne uno vero io stesso - l'ho trovato nelle cartelle di esempio.
Morphing, letteralmente - mortificazione.
È quasi certo che se rendete i tick interi, il Tester inizierà a lavorare molto più velocemente.
È chiaro al cavallo, come ha detto Elena Yurievna.
Basato su Doom e sul consiglio di @fxsaber.
Ho usato l'algoritmo diquesto sito con alcune leggere modifiche.
Cosa usi per fare le foto, Nikolai?
È quasi certo che se rendete i tick interi, il Tester inizierà a lavorare molto più velocemente.
No.
Per cominciare, rendetevi conto che:
Morphing, letteralmente - la morte.
Non vale la pena discuterne qui, ma Morphing ( morphing) Dove si vede gente morta, sobria...
Non vale la pena discuterne qui, ma Morphing ( morphing- trasformazione) Dove si vede la gente morta - sobria...
L'analisi morfometrica è l'analisi delle cellule morte. Prima li uccidiamo, poi li mettiamo sotto il microscopio.
No.
Il doppio int è due volte più veloce del doppio