Attualmente sto lavorando a un piccolo gioco di tela scritto in javascript puro da zero.Perché ottengo prestazioni migliori in Chrome quando Dev Console è attivo?
Il gioco comporta un algoritmo illuminazione 2d similar to this one, ma con una sorgente di luce e 25 poligoni che rende per circa 30.000 calcoli per frame.
Il mio frame rate è grande in Safari, meh in Chrome e non riproducibile in Firefox. Tuttavia, se ho la console degli sviluppatori Chrome attiva durante il gioco, la frequenza fotogrammi è la stessa di Safari.
Quale potrebbe essere la ragione di questo?
dopo i commenti hanno suggerito la dimensione della finestra potrebbe essere interessando il frame rate, ho scoperto che la piccola è la finestra, la più agevole il gioco gira ma solo in cromo. La quantità che viene disegnata sullo schermo o i calcoli usati dal gioco non dipendono affatto dalle dimensioni dello schermo.
misuro la differenza frame rate puro occhio, e si può vedere l'effetto in queste gif:
Bad, grande finestra:
Buono, piccola finestra:
Il gioco è molto più fluido nel browser di quanto non sembri in questi gif, ma l'effetto è ancora evidente.
Posso ottenere lo stesso effetto con il primo esempio nel collegamento che ho postato. Sono solo io o qualcun altro ha lo stesso effetto?
Ancora più strano ... Ho ottenuto lo stesso effetto su molti altri siti Web, come Facebook quando faccio scorrere il feed di casa. Più grande è la finestra, più il choppier diventa lo scorrimento. È una cosa specifica di Chrome, qualcuno sta ottenendo risultati simili?
Molto bello, ma la tua domanda è un po 'di luce sui dettagli. Come stai misurando il frame rate? Quanto è grande la differenza tra la frequenza fotogrammi con e senza strumenti di sviluppo? Puoi mostrare il tuo caso d'uso reale? Stai vedendo lo stesso comportamento nella fonte a cui sei collegato? e così via ... – apaul
Se alzare la console cambia la dimensione di, o ritaglia l'immagine disegnata sullo schermo, hai diminuito la quantità di lavoro che deve essere fatto ogni fotogramma. – enhzflep
@enhzflep la dimensione della finestra influisce sul frame rate (in chrome) anche se la quantità di cose sullo schermo disegnato non cambia. Inoltre, puoi ottenere lo stesso effetto nel link che ho pubblicato su Chrome. Ho aggiunto degli screenshot alla mia domanda. – tborenst