Tuttavia l’ho testato anche su iPhone X, che è super fluido e veloce, quindi penso che il problema sia la CPU. C’è qualche possibilità di migliorare le prestazioni sui vecchi dispositivi?
Testerò presto questa cosa; il mio sospetto è che i dispositivi più vecchi potrebbero ancora aver bisogno dell’ottimizzazione delle prestazioni (leggermente “hacky”) che riduce il numero di elementi nel menu a 20 per funzionare fluidamente. Mi occuperò di questo a breve.
@Don - scavando ulteriormente per sapere cosa testare, noti questo per l’apertura/chiusura dei menu con un tocco (sul menu + fuori dal menu), o con uno scorrimento (tenendo premuto e facendo un gesto di scorrimento)?
Il menu sembra fluido quando lo apro per la prima volta. Penso perché gli elementi del pannello non sono caricati. Quando apro per la prima volta, il caricatore spinner appare in alto. Penso che questo sia un buon comportamento e forse sarebbe bello usare sempre il caricatore spinner all’apertura.
Le aperture successive sono senza animazioni. La chiusura è casuale (a volte fluida, a volte scattosa)
Quando si apriva e cliccavo fuori, di solito i pulsanti del menu del pannello erano scattosi. Ma quelli scorrono prima Forse succede perché l’intero pannello del menu è in reverse-row e quando si chiude la classe viene rimossa prima che scorra completamente e torni a row?
Modifica: Non sono i pulsanti del pannello del menu (scheda) ma solo le icone prima delle notifiche. Ma di solito appare un lag su quella linea.
Quando uso il gesto per chiudere il menu sembra fluido.
Per quanto ne so, la “lentezza” qui è dovuta al re-rendering degli header, non alle animazioni stesse.
Una cosa che ho introdotto e che potrebbe dare la percezione di una nuova lentezza è l’animazione slide-out (questa animazione è stata inavvertitamente rimossa quando abbiamo refattorizzato il nostro nuovo header).
Dare un po’ di respiro con setTimeout tra l’animazione e il lavoro di re-render che fanno i menu dei widget sembra rendere le cose molto più fluide, quindi non è l’animazione stessa ad essere lenta, quindi il mio sospetto è che sia il lavoro che avviene intorno al re-rendering degli header del sito all’apertura/chiusura.
Mi sto chiedendo se la gestione della promessa di fine animazione da parte di Firefox stia scattando dopo che l’animazione è stata effettivamente pitturata (avevo assunto che fosse così quando ho codificato la modifica originale), il che potrebbe spiegare perché sembra più fluida di Chrome, mentre Chrome consente al lavoro di ricalcolo di iniziare dopo che i calcoli dell’animazione sono stati completati, ma prima che la fine dell’animazione venga pitturata.