动画的帧频设定和人眼生理特关系中的简单数学
2012-12-03 21:48
141 查看
人眼生理特性:视觉暂留( 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组件架构设计中的理论基础之一。
如果相邻两帧的变化时间小于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组件架构设计中的理论基础之一。
相关文章推荐
- WPS表格设定格式简单输入数学单位如平方米、立方米等
- JavaScript版的简单动画
- 一个就简单的数学题 NYOJ 330
- 精通Silverlight——12.2.3 鼠标动画示例-简单相册
- Jquery实现简单的动画效果代码
- SVG简单动画
- JAVA 周练一 (简单数学)
- 简单描述QAbstractItemModel::dataChanged() 与 QAbstractItemModel::data() 的关系
- YT02-简单数学课后题-1001 FatMouse' Trade-(5.31日-烟台大学ACM预备队解题报告)
- Android中关于Dialog滑动弹出的简单动画的设置
- HDOJ---1061 Rightmost Digit[简单数学题]
- 简单CSS3动画
- MyBatis的一对多关系的举例简单说明
- hdu 1788 Chinese remainder theorem again((数学:简单题)
- 计算字符串中的简单数学公式
- USACO section 2.1 Ordered Fractions(简单数学求约数加个排序)
- JS特效之简单动画封装
- 简单动画
- Codeforces 570B Simple Game 概率求解,简单数学思维
- IOS中UIImageView方法实现简单动画