3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 16067|回复: 39
打印 上一主题 下一主题

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

  [复制链接]

40

主题

1586

帖子

1608

积分

游戏狂人

Rank: 6Rank: 6

贡献度
64
金元
13519
积分
1608
精华
0
注册时间
2006-11-4
跳转到指定楼层
主题
发表于 2013-2-28 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 stefen 于 2013-2-28 15:08 编辑


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


游戏玩的时候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秒渲染出那一时点那一最该出现的静帧并无延迟输出到显示器,那我们无论转头多快都不会感到卡。——个人观点






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

6

查看全部评分

回复

使用道具 举报

40

主题

1586

帖子

1608

积分

游戏狂人

Rank: 6Rank: 6

贡献度
64
金元
13519
积分
1608
精华
0
注册时间
2006-11-4
舒服的沙发
 楼主| 发表于 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[25] = { 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








回复 支持 反对

使用道具 举报

8

主题

1572

帖子

1345

积分

游戏狂人

Rank: 6Rank: 6

贡献度
49
金元
11489
积分
1345
精华
0
注册时间
2009-9-15
硬硬的板凳
发表于 2013-2-28 11:41 来自手机 | 只看该作者
这说的既到位又通俗易懂,比前头那个罗里八嗦一大堆的好多了。
回复 支持 反对

使用道具 举报

41

主题

1572

帖子

1198

积分

游戏狂人

Rank: 6Rank: 6

贡献度
30
金元
10775
积分
1198
精华
0
注册时间
2011-10-1
冰凉的地板
发表于 2013-2-28 11:49 | 只看该作者
学到东西了
回复 支持 反对

使用道具 举报

33

主题

1696

帖子

1650

积分

游戏狂人

Rank: 6Rank: 6

贡献度
41
金元
14855
积分
1650
精华
0
注册时间
2009-6-29
5#
发表于 2013-2-28 11:51 | 只看该作者
无法做到想电影那样平均帧数对吗
回复 支持 反对

使用道具 举报

99

主题

2173

帖子

2105

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
68
金元
18327
积分
2105
精华
0
注册时间
2012-2-22
6#
发表于 2013-2-28 11:54 | 只看该作者
科普帖啊
玩习惯了
没45帧感觉整个世界都是难受的
回复 支持 反对

使用道具 举报

20

主题

2842

帖子

2181

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
62
金元
19327
积分
2181
精华
0
注册时间
2009-11-1
7#
发表于 2013-2-28 12:54 | 只看该作者
moonisle 发表于 2013-2-28 11:51
无法做到想电影那样平均帧数对吗

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

使用道具 举报

4

主题

828

帖子

857

积分

超级玩家

Rank: 5Rank: 5

贡献度
4
金元
8409
积分
857
精华
0
注册时间
2012-11-3
QQ
8#
发表于 2013-2-28 12:55 | 只看该作者
每日问候,来自浏览器十六字的小尾巴
回复 支持 反对

使用道具 举报

4

主题

200

帖子

206

积分

中级玩家

Rank: 3Rank: 3

贡献度
3
金元
1938
积分
206
精华
0
注册时间
2012-5-7
9#
发表于 2013-2-28 13:37 | 只看该作者
必须支持下!

回复 支持 反对

使用道具 举报

1527

主题

9251

帖子

2万

积分

骨灰玩家

这昵称不代表啥...我真不是非主流...

Rank: 10Rank: 10Rank: 10

贡献度
1796
金元
201236
积分
27308
精华
0
注册时间
2012-7-27
10#
发表于 2013-2-28 13:46 | 只看该作者
好贴必顶!!!
回复 支持 反对

使用道具 举报

105

主题

1万

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
387
金元
125891
积分
14137
精华
0
注册时间
2009-12-29
11#
发表于 2013-2-28 14:35 | 只看该作者
好复杂....
回复 支持 反对

使用道具 举报

14

主题

1374

帖子

1040

积分

游戏狂人

Rank: 6Rank: 6

贡献度
20
金元
9595
积分
1040
精华
0
注册时间
2006-2-20
12#
发表于 2013-2-28 14:55 | 只看该作者
本帖最后由 supwang 于 2013-2-28 14:58 编辑

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

使用道具 举报

头像被屏蔽

0

主题

244

帖子

59

积分

禁止发言

贡献度
-20
金元
1986
积分
59
精华
0
注册时间
2012-11-14
QQ
13#
发表于 2013-2-28 14:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

6

主题

365

帖子

219

积分

禁止发言

贡献度
6
金元
2551
积分
219
精华
0
注册时间
2008-2-14
14#
发表于 2013-2-28 14:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

490

主题

5875

帖子

1万

积分

资深玩家

在你頭上拉屎的未必是敵人 把你從屎堆拉出來的未必是朋友

Rank: 9Rank: 9Rank: 9

贡献度
684
金元
101382
积分
12874
精华
0
注册时间
2012-1-5

3DM MOD站(白银)

QQ
15#
发表于 2013-2-28 15:00 | 只看该作者
收藏了 懂了很多
回复 支持 反对

使用道具 举报

7

主题

425

帖子

408

积分

高级玩家

Rank: 4

贡献度
13
金元
3561
积分
408
精华
0
注册时间
2010-3-15
16#
发表于 2013-2-28 15:24 | 只看该作者
首先指出一点,动画是存在模糊的,这是后期处理的成果。你可以下载一个1080P的高质量动画,例如去年的境界线2,画面高速运动时按下暂停键,图像会有点模糊,并不是完全清晰的。

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

使用道具 举报

7

主题

425

帖子

408

积分

高级玩家

Rank: 4

贡献度
13
金元
3561
积分
408
精华
0
注册时间
2010-3-15
17#
发表于 2013-2-28 17:27 | 只看该作者
这个不稀奇啊···我们平常用的Fraps里面就有这个功能了,度娘找了个给你看看
http://tieba.baidu.com/p/1769933588  不知道这里能发么?
回复 支持 反对

使用道具 举报

19

主题

704

帖子

670

积分

超级玩家

Rank: 5Rank: 5

贡献度
22
金元
5818
积分
670
精华
0
注册时间
2008-11-23
18#
发表于 2013-2-28 18:18 | 只看该作者
這個好似叫"每幀畫面生成時間"
我(個人)認為一般來說 每幀畫面生成時間是20ms 即是1/50秒 即是平均"穩定"有50fps 就足夠了

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

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
19#
发表于 2013-3-13 03:11 | 只看该作者
不要在讨论24帧的电影顺不顺畅了。
电影很快将进入48 和60帧,现在已有48帧霍比特人上映了。

http://news.mtime.com/2011/04/13/1456277.html
回复 支持 反对

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
20#
发表于 2013-3-13 03:21 | 只看该作者
jvsygood 发表于 2013-2-28 12:54
电影和游戏是不同概论,电影是真实拍摄,而且技术特效是超级电脑处理和业界人士制作出来的产物.他们有后台 ...

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

回复 支持 反对

使用道具 举报

9

主题

310

帖子

215

积分

中级玩家

Rank: 3Rank: 3

贡献度
9
金元
2385
积分
215
精华
0
注册时间
2008-7-6
21#
发表于 2013-3-13 11:45 | 只看该作者
完全不是一种东西
游戏的帧是独立的帧数直接拼凑起来的
而电影的帧是有模糊过渡帧的,你去在电影中动态画面中截个图试试,看有没有像相片一样清晰的。
你用连续的24张照片连续播放,是不可能达到电影那效果的,而游戏就是这种原理,用独立的帧直接拼凑的。
应该来说,游戏可以用差值算法算出前后两帧之间的过渡帧,但我敢说,如果那样的话,没有任何一款显卡能做到24帧的帧率,且游戏中的画面随着控制者的操作,会有随机性,显卡更是不能胜任。而电影则是固定的。
而电影的后期制作处理是需要很长时间的
回复 支持 反对

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
22#
发表于 2013-3-13 15:36 | 只看该作者
cwj8122 发表于 2013-3-13 03:21
你有没有拿看过60FPS的电影,看了你就会觉的24FPS的电影是多么的卡。。。。。。。

...

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


回复 支持 反对

使用道具 举报

20

主题

2842

帖子

2181

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
62
金元
19327
积分
2181
精华
0
注册时间
2009-11-1
23#
发表于 2013-3-13 15:41 | 只看该作者
本帖最后由 jvsygood 于 2013-3-13 15:49 编辑
cwj8122 发表于 2013-3-13 03:21
你有没有拿看过60FPS的电影,看了你就会觉的24FPS的电影是多么的卡。。。。。。。

...

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

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

回复 支持 反对

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
24#
发表于 2013-3-13 15:46 | 只看该作者
拜托,各位。
你们现在的电脑CPU是不是4核心的。
如果是,大家下个软件。测试一下不就明白了。
这个是我发的贴,里面有插帧软件。试了就明白,不用几分钟。
http://bbs.3dmgame.com/thread-3716654-1-1.html
回复 支持 反对

使用道具 举报

9

主题

310

帖子

215

积分

中级玩家

Rank: 3Rank: 3

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

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
26#
发表于 2013-3-14 00:07 | 只看该作者
哎,楼上的敢问你的电脑CPU是不是4核心的。
如果是请你到我发的贴下载SVP插帧。
按照我贴中的设置方法试试看。
一眼就能看出24针和60针的不同之处。

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

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

http://bbs.3dmgame.com/thread-3716654-1-1.html
回复 支持 反对

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
27#
发表于 2013-3-14 00:16 | 只看该作者
lf1018 发表于 2013-3-13 17:10
没错,这个道理我明白。24的电影比24的游戏顺畅很多,但并不代表效果是完美的。24针电影遇到画面大幅度移动 ...

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

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

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


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




http://bbs.3dmgame.com/thread-3716654-1-1.html
回复 支持 反对

使用道具 举报

11

主题

404

帖子

437

积分

高级玩家

Rank: 4

贡献度
6
金元
4131
积分
437
精华
0
注册时间
2013-3-11
28#
发表于 2013-3-14 01:08 | 只看该作者
虽然看不懂不过貌似很厉害的样子
回复 支持 反对

使用道具 举报

5

主题

2201

帖子

1857

积分

游戏狂人

Rank: 6Rank: 6

贡献度
33
金元
17246
积分
1857
精华
0
注册时间
2010-8-5
29#
发表于 2013-3-14 01:42 | 只看该作者
学习了 顶一下
回复 支持 反对

使用道具 举报

17

主题

943

帖子

772

积分

超级玩家

Rank: 5Rank: 5

贡献度
39
金元
6163
积分
772
精华
0
注册时间
2003-12-11
30#
发表于 2013-3-14 02:46 | 只看该作者
楼上几位,试了有用的顶顶吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-12 20:48 , Processed in 0.214744 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表