天天看點

動畫的幀頻設定和人眼生理特關系中的簡單數學

人眼生理特性:視覺暫留( 0.1~0.4秒),小于0.1秒的外觀變化對于人眼來說就是連續的動畫。

如果相鄰兩幀的變化時間小于0.1秒,那麼該幀動畫對于人眼來說就是連續的。

“相鄰兩幀的變化時間小于0.1秒”意味着幀頻是多少呢?

1秒除以0.1秒/幀 = 10。也就是說幀頻為10的動畫對于人眼來說基本上就是“連續的”。

而Flashplayer預設的幀頻是24。

可以知道在預設幀頻下的幀變化都是連續的。

當然,幀頻越高,動畫越流暢,越細膩。

代價是Flashplayer要“拼命地”重新整理螢幕,消耗更多的電力資源。

在提倡綠色環保等而今天,不可為之啊。

引申開去,在AS的UI元件架構設計中,經常采用延遲渲染的方法(利用ENTER_FRAME事件)。這意味着實際的螢幕更新頻率變慢,相當于變相地降低幀頻。

假設Flashplayer的幀頻被設定為30,那麼每幀的時間=1/30 = 0.03秒,即便延遲3幀進行螢幕更新(渲染),0.03*3 =0.09 < 0.1(視覺暫留)。看起來仍然是連續。

這是UI元件架構設計中的理論基礎之一。