您的位置:首页 > 其它

Lattice系列FPGA入门相关9(人眼分辨帧数)

2017-01-08 20:32 351 查看


需求说明:Lattice系列FPGA入门


内容       :人眼分辨帧数

来自       :时间的诗

[b]网站       :http://tieba.baidu.com/p/2422136023
[/b]

三个解释

解释一

帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。 但文件大小会变得越大。

关于“人眼不能分辨超过每秒30帧的画面

【说法1】是因为人眼的视觉残留特性:是光对视网膜所产生的视觉在光停止作用后,仍保留一段时间的现象,其具体应用是电影的拍摄和放映。原因是由视神经元的反应速度造成的。其时值是二十四分之一秒。是动画、电影等视觉媒体形成和传播的根据。

【说法2】当物体在快速运动时, 

当人眼所看到的影像消失后,人眼仍能继续保留其影像1/24秒左右的图像,这种现象被称为视觉暂留现象。是人眼具有的一种性质。人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像。但当物体移去时,视神经对物体的印象不会立即消失,而要延续1/24秒左右的时间,人眼的这种性质被称为“眼睛的视觉暂留”。就是说,无论你游戏帧率有多高,60帧或120帧,最后我们仅仅能分辨其中的30帧而已。

大家可能会问:既然人眼每秒只能分辨出30帧的图像,那么游戏30帧就流畅啦,那干嘛还要到60帧,甚至是120帧,到底有没有必要?绝对有必要。虽然理论上游戏帧率只要30就流畅了,可是实际当中更高的帧率却能带来更顺畅的游戏体验。

解释二

人眼能分辨的每秒帧率一般在24-30帧(不排除异类)

电影、动画一般用的是24fps,电视的话可能会到25fps,在这种帧率下人是不会感觉画面不流畅的。

但是游戏呢?为什么有的游戏30fps就能流畅 而有的游戏50fps还卡成翔?

关在就在于帧率间隔时间,也就是帧与帧之间播放的间隔时间,电影或是动画都是事先压制的视频格式,所以帧率间隔时间也是相同的。在这种匀速播放的状态下24fps就可以保证流畅。

而游戏就不同了,因为游戏的画面一般都是即时演算的,每一帧的生成速度都会略微不同。一旦打破了匀速播放的规律,就要用更多的帧数去弥补。因此,这个值就决定了你流畅游戏的最低帧数。

一款优化成功的游戏帧率间隔时间一定是比较接近的,如生化危机5、6、启示录,只需要30fps就可以保证游戏流畅。

解释三

你们都错了,我来告诉答案

人眼的实别帧的能力在90-120

这就是为什么游戏必需至少达到90帧以上,人才不会晕

那么问题是,电影为什么24帧看着流畅不晕

视觉暂留是24分之一秒,是这样的,24分之一秒,看到的图像,不会消失,24分之一后会消失掉

但问题是,这24分之一秒,是从全有到全消息这个过程,24之一秒内,越来越暗,直到消失

拍摄电影时候,24秒拍一个画面,但电影有个重要问题,曝光时间,必需也是24分之一秒,这个时间内,要全

部曝光在感光芯片上,而这24分之一秒的取材,可是大自然,大自然可是无限帧的,如果这24分之一秒,拍

的是动态的,摄影机在动的话,那么会有很多少同的画面,同时拍到芯片上进行叠加,最后形成一个图片

你可以放电影时,快动作的时候,你暂停一下,你会看到一个模乎的画面,这个就是因为曝光了不同角度的影

像,叠加在一起的效果,电影把拍到的24分之一秒的东西都拍进去了,没有损失,所以我们看着流畅

而游戏呢,游戏是一张张静止的画面拼接的,每一张图片都是静止不动拍摄出来的,是绝对清晰的

如果到24分之一秒的下一帧,也是无比清晰的照片,从这一帧,到下一帧,中间的位移的图像,就全部丢掉了

了,这些信息没有了,所以我们看着就非常卡,至少达到90以上,这些全静止的画面连在一起才不卡

同理,如果电影用1000分之一的快门去拍,就算一秒24个画面都拍了,一样是卡的要命 

不信你可以用单反相机,录一下,把快门设到 1000,甚至2000,在太阳低下拍摄,你就会发现,卡的要命

果壳:48帧一秒是不是技术进步?

来自:http://www.guokr.com/post/464583/

正方:

48帧的秘密:电影新时代来临 解读新技术奥妙

时光网特稿 前两天,彼得·杰克逊回应了詹姆斯·卡梅隆关于电影应该从每秒24帧向每秒48帧甚至每秒60帧发展的观点,表示他正在拍摄的两部《霍比特人》都将采用每秒48帧的技术拍摄,并希望到上映的时候全球会有超过1万块银幕有播放每秒48帧电影的能力。两位电影技术大神不约而同地想到了一起去,看来48帧这个技术或者说概念将在3D浪潮之后再次席卷而来,改变未来电影的面貌。

那么,到底这“每秒48帧”是什么意思?比90多年来拍电影沿用的“每秒24帧”有何不同?会为电影带来什么样的改变?又面临着哪些困难?且让我们来详细了解一下,免得跟不上潮流的发展吧。

第五次电影革命?

自从1895年电影诞生起至今,从技术、形式上已经出现过了四次重大的变革:从无声到有声;从黑白到彩色;从普通银幕到宽银幕;从2D到3D。而现在,当电影的3D化大潮还方兴未艾时,从每秒24帧到每秒48帧的第五次电影革命已经近在眼前了!

观点提示:

如果您想先对这个问题有个大概了解,可以看看以下概括出来的问题和结论,基本上就会对每秒48帧这个技术革命有个大致了解。

什么是每秒24帧?48帧?

简答:简单说就是一秒中拍摄或者播放多少格画面。

每秒24帧有什么问题?

简答:运动画面抖动、不清楚;看起来有点晕。

每秒48帧有什么好?

简答:画面清晰稳定,动作镜头看起来连贯顺畅,快速镜头不头晕。打个比方,每秒24帧拍出来的电影好像近视的人看周围,每秒48帧拍电影则像让他戴上了眼镜后看周围。

当初电影为什么设定为每秒24帧?

简答:省钱。这是看得过去的最低标准。

从每秒24帧发展成每秒48帧有何困难?

简答:用胶片拍摄放映的话改起来难度很大,数字摄影机和放映机则比较容易。

每秒48帧和3D电影技术有没有关系?

简答:每秒48帧技术会让3D电影看起来更清晰更舒服。

什么叫“帧”?

我们都知道,电影是依靠人类的视觉暂留现象而发展起来的艺术。以前的拉洋片就是让纸片上的渐变图案在你眼前快速掠过,你看起来就感觉画面动起来了。在电影里,一幅静止的图像被称做一“帧”(Frame),而研究表明,只要达到每秒24帧,人们的眼睛就会被欺骗,以为看到的是运动的画面。动态的画面则按每秒钟显示多少帧来衡量,这就是所谓的“每秒帧速率”(fps)。

电影为什么要制订成24帧标准而不是更高?

90多年前,电影工作者发现只要达到每秒24帧的速率,就能形成动态的影像,1927年的电影《爵士歌手》(The Jazz Singer)堪称是确定了这一标准的影片。如果把这个速率提高,那么拍摄电影需要用的胶片以及播放电影的成本都会增加——如果提高到每秒48帧画面,就意味着要采用比每秒24帧多一倍的胶片。那时候的影片里几乎没有大动态、高速度移动的画面,也没有CG电脑特效镜头,每秒24帧完全足以满足电影工作者以及观众。因此,电影这种形式就以每秒24帧的格式确定了下来,后来更出现了戈达尔“电影是每秒24帧的真相”的名言,24帧的概念更加深入人心。

彼得·杰克逊说:“在有声电影刚刚出现的时候,电影人选择每秒24帧的速率是为了技术上的要求。我猜想24FPS是获得清晰音轨的最低速度。而那时35mm胶片那么昂贵,大家只能选择尽可能慢的帧速,来保证制作成本。因此,我们就这样在24FPS下度过了90年。这并不是因为24FPS能给我们带来最佳的效果,而仅仅是因为那是1927年前后能提供可接受效果的最便宜选择。”

24帧的电影有什么问题?

有人说,我已经看过几千部电影了,也没觉得每秒24帧有什么问题啊。但正像彼得·杰克逊所说的“其实这样的影片中每一帧都会有模糊(blur),尤其是在快速运动的镜头中。如果电影镜头快速摇移,图像就会有抖动(judder)或者频闪(strobe)。”我建议你找来有高速运动镜头的电影来注意看一下(例如《谍影重重2》或者《变形金刚》),你会发现快速的动作场面往往让你看不清人物动作;而快速的移镜头也会让观众产生晕眩感——这种感觉就是因为看不清画面而引起的。

即使你一帧一帧的来看这些动作场面,仍然会发现模糊和抖动的问题,

无法看到清晰稳定的画面。

观点提示:

每秒24帧是当年电影为了成本妥协的产物;

每秒24帧拍出的电影在动作戏和高速镜头中都会显得模糊,容易让人眼晕。

48帧的秘密:电影新时代来临 解读新技术奥妙

2011-4-19 8:40:50 来源:Mtime时光网 作者:电子骑士 会员评论 219 条

Mtime时光网专稿 未经许可不得转载

48帧、60帧与24帧的区别

24帧真的不行么?我们可以看看自己面前的显示器。电脑、游戏等行业中,每秒24帧早已成为了一个阻碍而不是标准。如今随便一台LCD显示器都能达到60Hz的刷新率,也就是说,它能以每秒60帧画面的速率刷新率来显示画面,如果低于60Hz,你就会觉得电脑画面闪动、有残像,容易眼疲劳。而现在的显示器以及电视都在推行120Hz的刷新率了,它们都可以通过帧插值(这个下面会提到)的技术让画面变得更加平滑稳定。下面我们用几个小动态画面来直观地为你呈现不同帧率的不同视觉感受。

每秒15帧,我们能感到方块的运动不连续,有残像

每秒30帧,已经相当顺畅了

每秒60帧,几乎看不到方块运动的轨迹,极其平滑流畅

我们可以看到,每秒60帧的画面看起来非常舒服,而每秒15帧则几乎无法忍受。但拍电影为什么必须要24、48、60这样的帧数呢?因为如果在现有的技术基础上升级改造,最好就是设计为原有每秒24帧的倍数,这样只要调整播放的速度(例如48帧是2倍速、60帧就是2.5倍速),就能保证画面放出来是正常的。如果设计成比如49帧,那么就很难在现有技术条件下正常播放。

彼得·杰克逊在谈到每秒48帧电影技术时说:“以每秒48帧的频率来拍摄和放映电影会非常有助于摆脱这些问题。它会让电影看起来更逼真,观看起来也更轻松,尤其是在3D电影方面。最近几个月,我们一直长时间的看着以48帧拍摄《霍比特人》的测试片和样片,一坐就是两个多小时,看着3D画面却不觉得眼睛疲劳。那画面看起来真棒,我们现在已经习惯于此了。到这个地步,再看其他电影,感觉就很原始粗糙了。周日的时候,我在影院看了部新片,结果一直被抖动的摇镜头和模糊的画面感所困扰。我们被每秒48帧惯坏了!”

观点提示:

每秒48帧和每秒60帧都比每秒24帧要好很多,但考虑到成本,每秒48帧在相当长的时间里已经足以满足我们了。

反方:

所谓的“48帧的秘密”!

前言:本日志,请三种人不要回复,也可以不看。一、搞不清电影和电视标准的巨大差别的人,拿HD认为是电影标准和技术进步的人。二、搞不清游戏视觉需求和电影视觉需求的差别,以及电影的本质任务的人。三、搞不清24格一秒的放映,是基于什么原因精确计算出来、并傻乎乎认为48格一秒是“技术进步”的人。技术没有任何进步,进步的,是宣传的噱头!

核心提示:无论前期拍摄是多少帧一秒,后期放映,都不可能超过30帧一秒,只要超过了,就无法还原我们真实的生活。电影放映的24帧一秒,根本不是杰克逊恶意攻击的“成本问题”,而是基于“肉眼结构”所形成的“暂留数据”而精确计算出来的,只要超过30帧一秒,我们就无法看到真实的世界,当然,可能看到别的东西,比如“炫酷”的“游戏美学”,或者完全脱离真实世界的“另一种美学”,比如“街机”,大家想想《阿凡达》即可。

如果对电影没有什么概念的人,请先看http://i.mtime.com/971895/blog/5878891/,这是技术的扫盲贴。

电影的“清晰”与“模糊”并非画质的高与低,乃是美学中的“虚与实”,一味追求“清晰度”,乃是对美学的误解。

就比如大家所言的“快速晃动镜头”,其实,假如镜头中应该具备的“动作感”失去了,那么,我们也就很难感受到这类镜头本身的魅力。再比如跟拍、纪录美学中的“写实”感,恰恰要的就是一定程度上的不清晰,我们才有强烈的现场感,如果都清晰了,只怕自己的眼睛也会受不了。

一个很简单的道理:如果你在跑步,能看清楚眼前所有的东西吗?如果你跑步的时候,眼前的一切仍旧是“极度清晰”的,我相信你很快就会倒地。

还有,24帧一秒,并非这个编辑说的:成本问题,乃是根据人眼所感受到的动作规律,人的眼睛的“视觉暂留”乃是0.1秒,任何一张图消失之后,都会在我们眼睛里停留这个数字的时间,一秒钟24帧,乃是根据这个数字算出来的,根本不是这个编辑说的“成本问题”!!在摄影学里,只有慢动作才是高速摄影,比如拍摄跳水,我们为了事后看清楚运动员的每一个动作,或者足球的每一个细节,才会采用一秒钟超过24帧进行胶片拍摄,但是,一旦我们放映之时,超过24帧一秒的速度,我担心会影响正常的动作效果,呈现无意义的慢动作,要知道,一秒钟24帧,并非为了节省成本!

当然,这个技术我并未深究,或许,前期拍摄是以48帧一秒,后期放映,是以24帧一秒,会否带来更高的清晰度?这个我也不知道,但就我的了解,这个文章的内容有诸多谬误,如果一秒钟超过24张图的放映,肯定会带来慢动作的效果。

或许,这就是外国电影的发行策略:炒作技术概念!!不信,大家自己去看看内容吧。

PS:有很多人上来就骂,尤其是那个叫“征猫”的女孩,一个小小的硕士研究生跑这里来撒野!在此,我把我的两个观点总结一下:

1、一秒24帧的放映,不是因为胶片的成本问题,而是因为“视觉暂留”原理,我刚才仔细查了数据,人眼暂留的时间为0.1-0.4秒之间,那么,一秒48帧是否在这个数据里面,我不敢保证。但是,如果超过这个数据了,人眼看到的是慢动作,或者是“呆板”动作,类似所谓的游戏,诸位可以去看一下打斗游戏,大凡游戏的动作,清晰度是足够,但是也带来极度的呆板!

2、电影摄影美学,不是图片摄影,其中的“虚与实”,不光是一个静态景深的问题,也不是一个对焦点的问题,而是摄影机本身的运动,所带来虚实关系。打比方:如果你看到一辆法拉利在疾驰,你用肉眼看,是肯定看不清楚它的细节的,因为它的速度远远高过你的眼睛,这才是正常的人眼视觉!如果将疾驰的法拉利用高速摄影机拍的清晰了,大家还能看到“动感”吗?你觉得,这种摄影符合你的正常视觉吗?

一秒24帧是因为成本,这简直太过于荒谬了!连什么叫做“电影高速摄影”都不明白!

这就是“征猫”那个女孩说的《铁拳》游戏的视频,如果她说的所谓“清晰度和流畅度”指的是这种游戏里的“呆板”美学,我很无语。

高于24帧一秒的素材,确实能包含更多的细节,这毋庸置疑,比如一颗子弹穿过物体时候的碎片、碎屑等等,都能看的很清楚,但是,大家在享受这种“清晰度”的时候,不要忘记了一点:这是慢动作!!慢动作,是不符合正常视觉规律的!就像“爆炸”一瞬间,放慢,看见那些碎屑一点一点出来,只有放慢,我们的眼睛才能看清楚!但是,这符合正常的视觉吗?假如我们看到的任何动作,都是如此呢?这也就是游戏视频中,为何动作都显得呆板、迟钝的原因,如果它“迅速”起来了,我们能看的清楚吗?

无论摄影机的速度怎么变,我们的眼睛,始终是不会变的!

既然要说,那么就说到底,我刚才把一个专门给电影和游戏做后期的3D朋友从睡梦中吵醒了,专门问到了这个问题,他的意见如下:

1、他不明白48帧有什么意义,如果不是为了把高速视频拍清晰,比如F1,或者为了留住超高速动作的细节,例如“子弹穿过物体”一类的科教片,高速摄影的意义,他不明白在哪里。他告诉我,实际上,高速摄影的意义在于:24帧和240帧,才有真正的视觉区别,而在动作制作中,24帧和60帧一秒,眼睛都看的区别都不是很大。

2、他谈到游戏制作,一秒60帧的视频确实让动作更加流畅,但是,这种流畅根本不是电影的美学,也就是,它不是现实生活的复制,而是一种高度的“动作化”视频,这和电影的需求根本不是一回事,因为,游戏有一个“操控者”的问题。在游戏设计中,人与游戏的“互动”,是“随机”的,换言之,人是属于“操纵者”,所以,人在游戏中,更加关注“流畅度”,而根本不会去关注视频本身是否还愿了“视觉习惯”,换言之,人要“无时无刻”不感受到自己就在“游戏里”,所以,3D游戏,玩的就是这种感觉,“炫”和“酷”,在这里,人们根本不会去关注是否“还原生活”。但是,电影不是这样,观影的时候,人和银幕是处于一种“观看”和“偷窥”的状态,所以,电影必须还原生活本质,而不是一味地追求“炫”和“酷”的所谓“流畅度”,这是游戏美学,也是游戏的功能所导致的结果。

所以,拿游戏的流畅度来说明视频的需求,是典型的跌入技术误区,误认为越流畅越好。另外,摘录一段做游戏技术的人的话:40fps/无延迟的画面上动作干净利落,25ms的lcd上,则会显示出上一桢画面的残像,影响视觉。 

那么,在这里,残像,其实恰恰指的就是“视觉暂留”,而这种暂留,恰恰是符合人眼观看生活动作的原理,比如你去看拳击赛,会有点“眼花缭乱”,这恰恰是对的。如果你都“清晰”起来,那就变成“游戏”了。

实际上,阿凡达,就已经不是电影美学了,至少我看的巨幕版,就感觉像一个3D游戏,其动作已经超出了我们的生活经验,呈现了一种怪怪的感觉,但因为它是科幻片,所以也无所谓了,但如果平常的电影也是这么拍,那么肯定有问题。

还有,电影的清晰度和帧速率没有关系,只和胶片的尺寸有直接关联,要不,就不会有70毫米和35毫米之分了。

而彼得·杰克逊自己也早已意识到了这个问题,他的原话:电影原教旨主义者可能会批评缺乏模糊和频闪的电影没有艺术品味道,但我们剧组中有很多这样的电影纯粹主义者都已经转变了。你会很快习惯电影的新面貌,并发现它给我们带来了更逼真和更舒适的视觉体验。

我希望他能够让我适应,但是,《阿凡达》始终让我感觉:这是一个游戏!而不是电影。

在这里,有些回帖的人,已经跌入技术的窠臼,完全忘记电影的本性是为了还原我们的眼睛所看到的世界。

题外话:我担心更严重的是,电影越搞越不像电影,越搞越脱离其文化的本质,成为技术和堆积和炒作的附庸,《阿凡达》已经烧红了几乎所有制片商的眼睛,对商业价值和利润的无止尽追求,导致我们的审美越来越低,前几年是炒作“数字电影”的概念,最开始说:数字电影的色彩和清晰度都大大超过胶片电影,结果,最终还是被观众的买票回击了,不得不更正为“CCD技术的色彩还原度仍然还需要继续研究”,其实,就算是清晰度,数字电影也远远赶不上胶片电影。

我曾经有幸在一家最好的电影院,看了一盘刚刚空运过来的、尚未拆封的奥斯卡电影,也就是所谓的“母片”,或者叫“原盘”,当时那个活动是跟相关国政府做的一个文化交流,对方拿来的胶片。当时,前一场刚好放了《盗梦空间》的数字版,接着放这个,一下子我个人被震惊了,可以说,我从未见过国内电影院放映的胶片拷贝能达到这种水准的,这是不可能的!无论是色彩,清晰度,画质,观感……,胶片都可以达到极度的完美,什么所谓的“频闪”、“噪点”、“晃动”……一类的说辞,其实根本就不存在!!导致胶片放映出现这样或者那样的问题,大部分是因为胶片拷贝洗印质量和放映的不负责!!而不是胶片本身有什么问题!

与之前的数字版《盗梦空间》比较,《盗》的数字版几乎就是一个优酷视频和1080P视频的比较。所以,我几乎可以肯定的是:推广和吹嘘数字电影的“绝对优势”,仅仅是因为“利润”,而不是所谓的“技术进步”。

PS:今早起床,打电话给一个动画工程师,专门问了帧速率和清晰度的关系,他的回复如下:1、无论任何视频,人眼可以接受的范围是在15-30帧一秒之间,24帧最接近正常状态,30帧是极限。我问他:什么极限?他说:还原现实生活的极限,超过30帧,没有半点意义,至少在2D非动画电影中,或者说传统电影的正常摄影中,不包括特技和特效。我问:那么在传统电影中,如何提高清晰度呢?他说:最直接有效的办法,就是革新胶片制作和放映技术,这是最最有效的取得原始素材的办法。我问:那《金刚》又怎么说?他说:你看《金刚》那动画做的猩猩,是真的吗?那种打斗确实刺激和“顺畅”,但,是真的吗?至少我一看就知道是建模出来的。不过,在3D电影中,超过30帧一秒的摄制究竟是否有意义,那就不好说了,因为3D电影的本质已经脱离传统电影,成为一种玩具或者杂耍,观众看得不是内容,而是一种“视觉奇观”。

2、关于《阿凡达》的技术问题,他说:“我感觉比较失望吧,因为开始炒作的太厉害了,但是我看了之后,感觉被骗了。技术是有突破,但并没有预想的期望值那么大,卡梅隆制作的动画并没有真正还原到现实生活那么厉害,其实,在动画制作中,难度最大的并不是“炫”和“酷”,而是你能做的天衣无缝,这个是最难的,但是卡梅隆显然在用一个“游戏机”的“炫酷”来搪塞其无法突破的技术瓶颈,这只能说明:对方的电影发行太厉害了,完全转换了概念。”

后记:本来,这是一篇很小的东西,起因是因为杰克逊在文章中说的“24帧一秒是出于胶片成本的考虑”这样偷龙转凤的欺骗!这是完全视观众的智商于不顾的行为,稍微有一点点电影常识的人,都知道24帧一秒,是因为“人类经过模拟视频实验,从‘视觉暂留’原理中发现并经过精确计算,出来的数据”,而根本不是他恶毒攻击的那种原因。这种数据的恒定,乃是基于“还原真实的时间和我们真实的肉眼生活观感”为基准的,如果你一定要推翻我们的肉眼极限,那么,电影将彻底失去其“纪录现实”的作用,沦为街边的杂耍和奇观,观众只是本着“好奇”的心态冲入电影院,“炫酷”一番之后,就完毕了。

看来,塔尔科夫斯基说的“电影已经彻底放弃了将‘时间’烙印在赛璐珞上的可能,成为一种街头卖艺和杂耍,这是电影本质最大的丢失”一说,今天真的要实现了。只是这一次与塔尔科夫斯基了解的不同,他说的,乃是指“严格的戏剧结构剧本”对电影还原生活的一种束缚,电影丢失了“记录性”,完全成为“故事”的附庸。但是,今天这一次的欺骗,连基本的视觉都要完蛋了。

大家都进电影院打游戏机吧!

我对电影充满了怜悯,它已经被逼迫到跟游戏去竞争生存空间了。

48帧是不是技术的进步(二)人眼能否分辨30帧以上的画面

来自:http://www.guokr.com/post/465764/

上一贴反方观点中有几个硬伤的地方就不重复了,不过最后还剩下的几个矛盾处在于:

1.人眼能否分辨30帧以上的画面

2.人眼如果不能分辨30帧以上的画面,游戏画面为什么刷新率在60~120帧?

3.为什么游戏60~120有时会卡顿,而电影24却很流畅?

以下转自360图书馆,不代表楼主观点。只是贴出来供大家讨论一下:

公元1000年间汉人发明的走马灯也许是世界上最早应用到视觉暂留原理的东西了,灯内点上蜡烛,烛产生的热力造成气流,令轮轴转动。轮轴上有剪纸,烛光将剪纸的影投射在屏上,图象便不断走动。因多在灯各个面上绘制古代武将骑马的图画,而灯转动时看起来好像几个人你追我赶一样,故名走马灯.后来法国人保罗·罗盖在1828年发明了留影盘,它是一个被绳子在两面穿过的圆盘。盘的一个面画了一只鸟,另一面画了一个空笼子。当圆盘旋转时,鸟在笼子里出现了。

究其原理,物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1-0.4秒左右的图像,这种现象被称为视觉暂留现象。是人眼具有的一种性质。人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像。但当物体移去时,视神经对物体的印象不会立即消失,而要延续0.1 -0.4秒的时间,人眼的这种性质被称为“眼睛的视觉暂留”。

当年的宋朝人显然没有意识到视觉暂留的重大意义,时至今日,这种现象广泛的应用在人们生活的方方面面,无论是之前的CRT显示器,还是液晶或者等离子;无论是胶片,模拟信号还是蓝光,数字图像,无一例外用到了人眼的视觉暂留。

而帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。

人眼分辨帧数 关于“人眼不能分辨超过每秒30帧的画面

后来人们通过研究发现,高的帧率可以得到更流畅、更逼真的动画,要生成平滑连贯的动画效果,帧速率不能小于8;每秒钟帧数 (fps) 愈多,所显示的动作就会越流畅,但与此同时,文件体积会变得越大。一般来说人眼能继续保留其影像1/24秒左右的图像,所以一般电影的帧速率为24fps。相对于游戏而言,无论帧率有多高,60帧或120帧,最后一般人能分辨到的不会超过30帧。



大家可能会问:既然人眼每秒只能分辨出30帧的图像,那么游戏30帧就流畅啦,那干嘛还要到60帧,甚至是120帧?而很多人都有切身体验,30帧对于FPS为代表的游戏来说,是远远不够的,而即使平均帧速率超过30FPS不少,依然不能杜绝卡顿的现象,这非常之不科学啊!

事实上游戏画面的帧数并不像电影那样间隔时间相等,而是忽快忽慢,所以肉眼观察出30帧游戏有卡顿现象完全是有可能的!

之前的游戏性能测试,均是利用软件或者游戏自带的Benchmark程序,测试出一段场景内的最大最小平均帧数。一般来说这种测试方法可以反映显卡的真实性能,但并不完美。为了研究清楚上面提到的现象,我们引入了最近关注度比较高的另一种测试方法,来让显卡的测试更加科学——每帧生成时间测试。



测试方法就是使用我们的老朋友Fraps fps软件,在上面并不常用的Frametimes选项前面打勾。

这样测试完毕的结果是我们有了下面的数据:



黄色和灰色数据是Fraps软件自动生成的数据,绿色部分是我们通过一个简单的函数算出来的每帧生成时间。



我们选择了一款要求比较低的DX10游戏FarCry2来测试,这款游戏自带Benckmark,而且各种游戏特效选项一应俱全。测试设置如上图所示,DX9模式下,所有特效全部开到最高,包括8XAA。





整个测试过程生成了数千帧,本次测试我们考察了前一千帧数据,这个数据量已经足以说明问题。而两次测试相似的曲线也说明出现较大延迟并非偶然。

可以看出基本上每帧的生成时间都在10-15ms,但是极个别帧数冲到了20多毫秒甚至35毫秒秒以上!同样如果是大多数帧数在30-40ms,那有可能个别帧数会冲到100ms以上,如果在游戏中感觉到了卡顿,那么这些帧无疑就是罪魁祸首!

看到这里,前面的设想可以说得到了初步的验证。游戏卡顿现象终于揭开了面纱的一角。

现在我们离真相已经很近了,电影虽然只有24帧每秒,但由于每两帧之间的间隔均为1/24秒,所以人眼不不会感觉到明显的卡顿,游戏即使达到30帧每秒,但如果这一秒钟内,30帧不是平均分配,就算是每秒60帧,其中59帧都非常流畅,而有一帧延时超过1/24秒,依然会让我们感觉到明显的卡顿。请注意,这种情况下,最低帧数依然是60FPS/s!

那那些因素会造成个别帧渲染时间超长呢?

想要论证这个现象,首先有必要提一下游戏画面渲染的原理。和电影的顺序播放不同,游戏的帧数完全是实时渲染而成的。每一帧从生成到渲染完毕,过程非常复杂。

简单来说,先要生成三维图像模型(几何模型),将它们保存在自身的建模空间,然后通过模型变换将单独的几何模型移动到世界坐标系中,然后通过被称为“相机变换”的过程,将几何模型的世界坐标系转换为摄像机坐标。相机坐标的参数包括投影方式、近平面、远平面、视野和屏幕的长宽比例,它们决定了物体从相机坐标系投影变换到屏幕坐标系的位置。

这些参数实际上定义了一个视域四棱锥,也叫做视锥体。然后通过裁剪优化算法,通过投影到平面生成最初的二维画面。接着通过消隐、光照计算、纹理映射、颜色融合等光栅化操作来算出相对正确的像素颜色,呈现出凹凸感、阴影、景深等效果,生成最后的游戏画面。一帧画面的诞生,至少包含了上述所有步骤,而其中每一步出现问题和延迟,都会对最终成像速度造成影响。

了解了这些,我们可以大胆猜测一下,可能是其中某些环节的不正常迟滞造成了个别帧渲染时间过长,最后导致画面卡顿。于是我们做了下面几组测试以求获知真相。



首先笔者怀疑是某些特效拖了后腿,火焰效果,物理加速和真实树这几个特效嫌疑很大,试想爆炸瞬间,如果火焰效果占用资源,或者物理加速和CPU的沟通延时这些都有可能是导致个别帧效率低下的罪魁祸首。



关闭了这几个特效,依然有几帧出现了夸张的延时,看来他们并不是关键症结。



众所周知,动态阴影的实时渲染是一项非常考验显卡的特效,问题会不会出在它身上呢?我们降低特效测试以期有所发现。





最有嫌疑的几种特效都证明是无辜的,或者说至少不是主犯,莫非一开始就想错了方向?不管怎样,这次的测试应该有所收获了。



将特效分别调至高和低,出现了更多的异常帧。这说明了什么呢?说明我们依然没有找到延迟的问题所在,但我们离真相已经不远了,因为按照排除法,剩下的特效已经不多了。



我们将画质和AA都调至最低,仅仅保留所谓的DX10效果,这时候异常帧已经变得非常罕见,看来AA是让帧时间变长的重要原因,但它依然没有完全杜绝,那最后我们只剩下一线希望了,如果这一次依然无果,我们前面所有的努力都将变得毫无意义。



测试的最后,我们终于获得一份满意的答案,在开启DX9模式,不开启AA,但是开启其他特效的情况下,我们终于获得了这样的一组光滑完美的曲线!

这意味着我们终于找出了让游戏卡顿的罪魁祸首——AA和DX10。

回过头来我们分析一下为什么他们会让个别帧产生如此夸张的延迟。

抗锯齿(Anti-aliasing):标准翻译为”抗图像折叠失真“。由于在3D图像中,受分辨的制约,物体边缘总会或多或少的呈现三角形的锯齿,而抗锯齿就是指对图像边缘进行柔化处理,使图像边缘看起来更平滑,更接近实物的物体。它是提高画质以使之柔和的一种方法。如今最新的全屏抗锯齿(FullSceneAnti-Aliasing)可以有效的消除多边形结合处(特别是较小的多边形间组合中)的错位现象,降低了图像的失真度。全景抗锯齿在进行处理时,须对图像附近的像素进行2-4次采样,以达到不同级别的抗锯齿效果。简单的说也就是将图像边缘及其两侧的像素颜色进行混合,然后用新生成的具有混合特性的点来替换原来位置上的点以达到柔化物体外形、消除锯齿的效果。

通过以往的测试,编辑认为抗锯齿对显存的容量和带宽、延迟都提出了很高的要求,虽然FarCry2这款游戏对显卡核心要求不高,但抗锯齿倍数过高造成频繁的像素采样,依然有可能堵塞存储堆栈,造成个别画面延迟异常。

DirectX 10

DirectX 10最大的革新就是统一渲染架构(Unified Shader Architecture)。DX9之前的各类图形硬件和API均采用分离渲染架构,即顶点渲染和像素渲染各自独立进行,前者的任务是构建出含三维坐标信息的多边形顶点,后者则是将这些顶点从三维转换为二维,这样便可以通过视觉欺骗在屏幕上显示出“三维”的场景。

微软在DirectX 10中提出了统一渲染架构的思想:在相同物理类型的渲染单元上执行不同类型的渲染程序。换句话说,只用一种渲染单元,让它既能完成顶点渲染,也能完成像素渲染,甚至还能实现几何渲染。这样一来,渲染单元可以得到最大程度的利用,减少了资源闲置的情形。但是,相对顶点渲染来说,像素渲染将面临大规模使用纹理所带来的材质延迟,这是统一渲染架构不得不面对的现实。

最为流行的FPS游戏依然采用DX9C,职业竞技选手不喜欢高画质高AA也许并非偶然,文章的最后,我们几乎可以得出这样一个结论:高AA和DX10特效是流畅画质的杀手。限于篇幅的限制,我们很难在此进一步探索不同硬件对超时帧产生的影响,本文的测试和讨论也只是揭开了渲染效率的冰山一角。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息