Ho appena scritto una barra di avanzamento personalizzata, è single buffer e rimarrà tale. Quanti fotogrammi al secondo sono desiderabili per qualcosa di simile? Non voglio sprecare troppa CPU aggiornando inutilmente lo schermo.Quanti FPS dovrei avere per aggiornare una barra di avanzamento personalizzata?
risposta
Come regola generale, 10 fps è un minimo ragionevole per animazioni molto piccole e semplici con movimento. 30 fps è il minimo per movimenti più complessi e/o scene più grandi.
Tuttavia, le barre di avanzamento generalmente cambiano molto poco da un fotogramma all'altro. Se stai usando un'animazione molto semplice, potresti scoprire che meno di 10 fps funziona.
Suggerisco di iniziare a 10 fps e controllare il risultato. Sintonizzati da lì.
Sarei felice con un aggiornamento al secondo o due per scopi funzionali.
10-20 fps se si desidera un bell'aspetto.
Si potrebbe voler andare al contrario e aggiornare la barra di avanzamento ogni volta che c'è un pixel di barra da aggiornare. Se hai una barra da 200 pixel, aggiornala quando ogni 0,5% dell'elaborazione è completata. Questo è ogni 300 ms per un processo di 1 minuto ma ogni 4,5 s per un processo di 15 minuti. Come indicano gli esempi, il fps sarà generalmente più lento di quanto sarebbe necessario per un'animazione fluida di grandi dimensioni; altrimenti, non avresti bisogno di una barra di avanzamento. A seconda del progetto, potrebbe essere più semplice annunciare il processo alla barra di avanzamento ogni volta che viene completato il x% rispetto a che la barra di avanzamento continui a controllare il processo ogni n ms.
Questa è stata la migliore risposta, a causa del fatto che ho omesso. Non stavo davvero scrivendo una barra di avanzamento, più di una barra in corso. Va avanti e indietro fino al completamento di un upload http non misurabile. –