2009-07-01 10 views
6

Molto tempo fa (più di 5 anni) ho letto un articolo sui frame rate ottimali per Flash Player. L'articolo ragionava attraverso alcuni calcoli che 31 fotogrammi al secondo erano gli fps ottimali per far girare i tuoi film e all'epoca mi sembravano logici e da allora utilizzo 31 fps.Frequenza fotogrammi magici Flash Player

Tuttavia, ho dimenticato il ragionamento da questo articolo e mi chiedevo se 31 fps è ancora considerato un fps buono o ottimale per eseguire il tuo swf a.

Quali fps preferisci per il tuo swf e perché?

risposta

9

Il motivo per i 31 fps era che durante il tempo di Flash 5/6 si verificava un problema con la versione Mac di Flash Player in cui si sarebbe stabilizzata a determinati frame rate. Cioè, se corri al 12-17 FPS, raramente supererai 12. Tuttavia, se imposti il ​​fps su 18, resterebbe 18 ok.

Il plateau "sweet spot" era a 31 fps perché offriva l'animazione più fluida (supponendo che non steste facendo animazione fotogramma per fotogramma, nel qual caso 31 richiedeva troppo lavoro) pur non essendo quasi come CPU intensivo come il prossimo plateau, che credo fosse di 61 fps.

Anche se quei giorni sono alle spalle, è ancora importante trovare un equilibrio tra animazioni fluide e CPU. Assicurati di mettere da parte un po 'di tempo all'inizio del tuo progetto (in particolare se avrà qualche interpolazione manuale!) Per capire dove si trova il punto debole per i tuoi obiettivi.

1

31-33 FPS era il numero magico per AS2.

È possibile eseguire senza problemi circa 50-60 FPS con AS3 e noterete un enorme miglioramento.

2

Non sono un esperto di Flash, ma questo sembrava abbastanza interessante da fare almeno qualche ricerca su Google. This forum thread implica che lo "standard di settore" di 31 fps proviene da un bug di Flash 5. Da quando Flash 5 è stato un po 'di tempo fa, la gente sembra essere d'accordo sul fatto che tu sia più libero di scegliere un framerate in questi giorni, tutto non deve essere fatto usando 31 fps.

2

Inoltre, non dimenticare che puoi impostare il framerate dinamicamente al runtime impostando la proprietà Stage.frameRate. Alcune persone hanno implementato framerate ridotti quando l'app non è in primo piano per risparmiare sull'utilizzo della CPU o aumentarla prima di eseguire un'elaborazione dei dati più intensiva.

2

Di solito 12-16 per l'animazione e 25-30 per la codifica.

Inoltre, dare un'occhiata a questa classe: http://www.gskinner.com/blog/archives/2009/05/idle_cpu_usage.html

Esso consente di sfruttare alti framerate senza la conseguenza di fondo elevato utilizzo della CPU! Inoltre, è facilmente adattabile per cose non aeree. (basta commentare tutto ciò che ti dà un errore del compilatore).