stefen 发表于 2013-2-28 09:46

【科普贴】……一张图 说明游戏30帧 为什么比电影的24帧卡… 我提出应该引入另外一种参数HPS来定义每秒人眼感受最卡(低)帧率

本帖最后由 stefen 于 2013-2-28 15:08 编辑


(下面说明只是具体阐述分析下观点,废话较多,其实只看图就说明一切了{:3_130:})


游戏玩的时候fps显示会跳动,前一秒是60下一秒是45下一秒可能还会是30,而这只是这秒内的统计数据
本身游戏和软件显示的fps的帧数输出在时间上就不是连续的时间间隔、忽高忽低,在每一秒中内也是,而不是每一秒内的时间间隔分布就都是均等和连续。
只要某个瞬间任意两帧时间间隔超过了一定程度(可能是1/24秒或1/10秒 ),眼睛必然看得出卡来。软件统计30帧并不意味着每两帧之间都是1/30秒

客观上每秒帧数fps的概念应该类似瞬时速度,这个每秒的概念是单位时间。速度分为平均速度和瞬时速度两个概念,一秒内的帧数说明了这一秒的平均渲染速度,而这一秒钟里头无数的瞬间有着无数的不同的瞬时渲染速度,有着无数不同的快与慢。只要任意两帧时间间隔超过一定程度(可能是1/24秒或1/10秒 ),画面就不会连续就会卡。没看出只能是因为当时的画面比较静止! 如果你当时快速转头肯定感觉得出来 。而这未必也很多时候可能根本不会影响到这一秒钟的软件fps统计数字!
我们需要看的真正体现画面连续与否的是瞬时渲染速率或者每秒内最长间隔的两帧而不是软件给出的每秒帧数总和;fps帧数统计显示给出的只能是很小时间间隔内的平均统计结果


电脑游戏渲染是一种预演和预言,是对未发生的事情的计算和推演;电影是对发生过程的一种记录,每一帧就是那一静点时刻应该出现的帧,不存在推演计算困难和困扰——这是两者逻辑技术上根本不一致不能统一而论的根源所在
游戏中大部分的场景都是互动的,不是预先排演好的,每一秒下一秒发生的事情都是靠cpu gpu去计算、渲染的,即使电脑知道下一帧该渲染这一画面最好在0.XXX毫秒后出现到显示器才能让人眼感觉不卡,可惜它的计算能力跟不上

抱歉我并不赞同电影是由于画面记录时的动感模糊 和 运动速度不够高这两种观点。动画也是24~25静帧,手绘没有动感模糊
我认为只要电脑计算和预算预计能力达到神力,能在每1/24秒渲染出那一时点那一最该出现的静帧并无延迟输出到显示器,那我们无论转头多快都不会感到卡。——个人观点





stefen 发表于 2013-2-28 10:47

本帖最后由 stefen 于 2013-2-28 15:18 编辑

我没有找到fraps这类正规软件的算法,在一个开发小游戏的博客上看到了下面这样的DirectX内嵌FPS统计代码,如果fraps和各大FPS游戏内置算法都是如此,那就印证了我的说法:

Code:
LPD3DXFONT g_FPSFont = NULL;// 指向FPS字体的指针   
RECT g_FPSFontPos = { WINDOW_WIDTH - 100, WINDOW_HEIGHT - 15, WINDOW_WIDTH, WINDOW_HEIGHT};// FPS所在的矩形框   
INT g_FrameCount = 0;// 帧的计数器   
INT g_lastTime = 0;// 记录上一秒的时间   
INT g_currentTime = 0;// 记录当前的时间   
CHAR g_FPSstr = { 0 };// 记录当前帧率的字符串

[*]// 计数器开始计数(以毫秒计)   
[*] g_currentTime = GetTickCount();   
[*] if ( g_currentTime - g_lastTime > 1000 )   
[*] {   
[*]sprintf_s( g_FPSstr, 25, "当前FPS:%d", g_FrameCount );   
[*]g_lastTime = g_currentTime;   
[*]g_FrameCount = 0;   
[*] }   
[*] else g_FrameCount++;


而我认为,这种算法对于GPU显卡的渲染能力描述是公平公正的;但对于我们人眼的感受是不公正的!!
我认为应该指定一种规范另定义一种每秒人眼感受最低帧速率HPS,目的是统计出每秒中最长间隔的两帧并给出即时帧率

算法如下:

时间开始
计算第二帧和第一帧的时间间隔——存入变量A

计算下一帧和上一帧的时间间隔,存入变量B
如果B>A,则把B赋值给A
循环至1秒钟结束

输出这一秒内的最低瞬间帧速率HPS=1/A 或 1/A+1

这个参数形象的体现出了你游戏每一秒钟内顿卡的程度,而不是显卡的渲染能力

假设有一种显卡或游戏渲染引擎具有类似人性的缺陷,工作时比较会偷懒:轻松时喜欢多干一些活多做一些成果,困难时喜欢拖沓让工作效率降低,但单位时间内的成果总和还是一样的,那用这种参数去检测比较下它们就无法遁形。 假使有一种显卡或游戏引擎,再能干再牛B,就喜欢避重就轻专挑简单的活干不喜欢重活累活,那最终对我们还是讨厌的。我们最终需要的毕竟不是显卡的能力而是要它为自身的感受服务。
我认为这种说法解释了为什么有的朋友觉得同样是45帧,孤岛危机比使命召唤感觉卡

而对于电影和电视、动画片,他们相对于游戏都相当于"匀速直线运动",FPS=HPS=24、25







px721 发表于 2013-2-28 11:41

这说的既到位又通俗易懂,比前头那个罗里八嗦一大堆的好多了。

as1229323061 发表于 2013-2-28 11:49

学到东西了

moonisle 发表于 2013-2-28 11:51

无法做到想电影那样平均帧数对吗

猴子小PP 发表于 2013-2-28 11:54

科普帖啊
玩习惯了
没45帧感觉整个世界都是难受的

jvsygood 发表于 2013-2-28 12:54

moonisle 发表于 2013-2-28 11:51 static/image/common/back.gif
无法做到想电影那样平均帧数对吗

电影和游戏是不同概论,电影是真实拍摄,而且技术特效是超级电脑处理和业界人士制作出来的产物.他们有后台有资本,一个家庭电脑是不能想象的,就比喻成一个身家过亿万的明星跟我们一介草民是不能对比的.这中行业职位更是无法对比.
而玩的游戏是用国外多方面的软件制作完成,例如建模,数据,体积的泛光也必须多场景运用等等,火焰效果,物理效果等等很多很多,这个归纳于统一数据,他们称为这个叫"游戏引擎".
再说业界追求真实发展,所以出现DX纹理技术,而且每新一年对硬件要求越来越高,这些都称为市场规则,我们称为硬件市场,所以硬件行业这么多年都是一种硬件潮流..风魔不断永远不会减退...
说白了同等于手机,相机行业..每年都一帮年轻人追求,最后要说的是,电影24帧永远不会卡不会变,游戏帧数永远是越高越好.

leoeahu 发表于 2013-2-28 12:55

每日问候,来自浏览器十六字的小尾巴

xty707 发表于 2013-2-28 13:37

必须支持下!

丶我嫉妒のTA 发表于 2013-2-28 13:46

好贴必顶!!!{:3_121:}

abcg 发表于 2013-2-28 14:35

好复杂....

supwang 发表于 2013-2-28 14:55

本帖最后由 supwang 于 2013-2-28 14:58 编辑

其实用手柄玩FPS,视觉感受效果要比用鼠标来的好很多,因为用手柄移动准星是平滑匀速移动的,鼠标移动准星则是无序变速的(降低鼠标灵敏度应该也可以提高视觉感受)。各位如果有手柄的话 ,可以试一下。

恒温恒湿试验箱 发表于 2013-2-28 14:55

wanghaotong 发表于 2013-2-28 14:59

a952025 发表于 2013-2-28 15:00

收藏了 懂了很多

paladinli 发表于 2013-2-28 15:24

首先指出一点,动画是存在模糊的,这是后期处理的成果。你可以下载一个1080P的高质量动画,例如去年的境界线2,画面高速运动时按下暂停键,图像会有点模糊,并不是完全清晰的。

其次,HPS这种新计算方法其实已经有人用过了,叫每帧渲染时长,很多评测报告都曾用过。但实际缺陷很明显,无法直观对比出显卡性能的级别,突发情况很多,高级别的显卡也可能瞬间顿卡。

paladinli 发表于 2013-2-28 17:27

这个不稀奇啊···我们平常用的Fraps里面就有这个功能了,度娘找了个给你看看
http://tieba.baidu.com/p/1769933588不知道这里能发么?

manhoi 发表于 2013-2-28 18:18

這個好似叫"每幀畫面生成時間"
我(個人)認為一般來說 每幀畫面生成時間是20ms 即是1/50秒 即是平均"穩定"有50fps 就足夠了

有個好詳盡的介紹 如果覺得太麻煩的話 只看第8,80 兩頁就夠了
http://www.inpai.com.cn/doc/hard/176864_8.htm

cwj8122 发表于 2013-3-13 03:11

不要在讨论24帧的电影顺不顺畅了。
电影很快将进入48 和60帧,现在已有48帧霍比特人上映了。

http://news.mtime.com/2011/04/13/1456277.html

cwj8122 发表于 2013-3-13 03:21

jvsygood 发表于 2013-2-28 12:54 static/image/common/back.gif
电影和游戏是不同概论,电影是真实拍摄,而且技术特效是超级电脑处理和业界人士制作出来的产物.他们有后台 ...

你有没有拿看过60FPS的电影,看了你就会觉的24FPS的电影是多么的卡。。。。。。。

lf1018 发表于 2013-3-13 11:45

完全不是一种东西
游戏的帧是独立的帧数直接拼凑起来的
而电影的帧是有模糊过渡帧的,你去在电影中动态画面中截个图试试,看有没有像相片一样清晰的。
你用连续的24张照片连续播放,是不可能达到电影那效果的,而游戏就是这种原理,用独立的帧直接拼凑的。
应该来说,游戏可以用差值算法算出前后两帧之间的过渡帧,但我敢说,如果那样的话,没有任何一款显卡能做到24帧的帧率,且游戏中的画面随着控制者的操作,会有随机性,显卡更是不能胜任。而电影则是固定的。
而电影的后期制作处理是需要很长时间的

cwj8122 发表于 2013-3-13 15:36

cwj8122 发表于 2013-3-13 03:21 static/image/common/back.gif
你有没有拿看过60FPS的电影,看了你就会觉的24FPS的电影是多么的卡。。。。。。。

...

游戏卡,电影因为有模糊效果没那么卡。但是一样能看出24针和60针的电影差距。 60针电影一样模糊,但是画面很顺畅。完全不觉的卡顿。 24针电影遇到画面大幅度移动,会产生跳跃感。家里用的电视屏幕越大,画面的跳跃感越明显。


jvsygood 发表于 2013-3-13 15:41

本帖最后由 jvsygood 于 2013-3-13 15:49 编辑

cwj8122 发表于 2013-3-13 03:21 static/image/common/back.gif
你有没有拿看过60FPS的电影,看了你就会觉的24FPS的电影是多么的卡。。。。。。。

...
你可以开过Fraps软件,在电脑看电影就可以知道统一24-25帧数上盘回..
如果电视上看在于30FPS的情况下.....也可能我说得不够具体...
如果卡得話,就是这电影的压缩率码和参数不好过低导致卡顿..通常封装的电影是不卡的.
游戏和电影是两码事,一些玩游戏里面出现CG动画也通常在于30FPS盘回..

你说的3D效果在48FPS之间,这种是2D和3D,2个不同技术方面说...

cwj8122 发表于 2013-3-13 15:46

拜托,各位。
你们现在的电脑CPU是不是4核心的。
如果是,大家下个软件。测试一下不就明白了。
这个是我发的贴,里面有插帧软件。试了就明白,不用几分钟。
http://bbs.3dmgame.com/thread-3716654-1-1.html

lf1018 发表于 2013-3-13 17:10

没错,这个道理我明白。24的电影比24的游戏顺畅很多,但并不代表效果是完美的。24针电影遇到画面大幅度移动遇,还是会产生跳跃感家里用的电视屏幕越大,画面的跳跃感越明显。   发表于 2013-3-13 15:40
==============================================
这个不是因为24帧电影的画面不好的问题,而是电视的刷新率与电影的帧率不同步的问题,液晶还强点,要是碰见等离子或crt,问题会很严重,那是因为随着尺寸变大,视线很难将整个画面收入其中,往往会发现角落在跳动或闪烁,其实就算小尺寸电视也有这问题,只是感觉不出来,这个问题可以通过提升电影帧数和播放设备同步来解决,即使帧数上去了,实际观看效果没有多大变化

cwj8122 发表于 2013-3-14 00:07

哎,楼上的敢问你的电脑CPU是不是4核心的。
如果是请你到我发的贴下载SVP插帧。
按照我贴中的设置方法试试看。
一眼就能看出24针和60针的不同之处。

安装一个软件。打开720P以下的电影,拉到电影结尾处,一般电影结尾后是黑底白字,从画面底处不停往上滚动。
这时候,很明显能看出24和60针是完全不一样的。

只用最多不超过3,4分钟就可以看出来了。
说的再多,也没用。结果胜于雄辩。

http://bbs.3dmgame.com/thread-3716654-1-1.html

cwj8122 发表于 2013-3-14 00:16

lf1018 发表于 2013-3-13 17:10 static/image/common/back.gif
没错,这个道理我明白。24的电影比24的游戏顺畅很多,但并不代表效果是完美的。24针电影遇到画面大幅度移动 ...

怎么,不敢试吗?还是电脑太烂,不过没关系,下个480P的电影,插到60.
对现在的电脑CPU来说还是小菜一碟。

不要老是抱着死观点不放。
24对于电影,尤其是大屏幕的电视来说,是远远不够的。

记住,这不是什么高深的科学论文,要你去做什么高难度的科学实验。


只要你去下在一个小软件,插到60.只要几分钟就行了。




http://bbs.3dmgame.com/thread-3716654-1-1.html

玩死N多游戏主角 发表于 2013-3-14 01:08

虽然看不懂不过貌似很厉害的样子

没钱仔 发表于 2013-3-14 01:42

学习了 顶一下

cwj8122 发表于 2013-3-14 02:46

楼上几位,试了有用的顶顶吧。
页: [1] 2
查看完整版本: 【科普贴】……一张图 说明游戏30帧 为什么比电影的24帧卡… 我提出应该引入另外一种参数HPS来定义每秒人眼感受最卡(低)帧率