fps怎么算的,玩刺客刺客信条大革命卡顿一点可见的卡顿都没有,转视角跑动都流畅,为什么才10几fps?

【科普贴】为什么有时候帧数很高我们却觉得卡_单机游戏吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,028,260贴子:
【科普贴】为什么有时候帧数很高我们却觉得卡
很多人玩游戏时都喜欢开着Fraps,看着左上角的数字显示,有人说低于60帧就没法玩,有人说30帧即可流畅,也有人说要60帧才行,RPG只要30帧即可,还有一句话,说主机的30帧比PC的30帧玩着要感觉流畅,大伙可能会觉得这个理论很可笑,尤其是没有主机的PC玩家会觉得这是主机优越党说出来的话。这里先不说这个理论是否正确,一会再讨论。其实,很多时候我们有这种感觉,明明是稳定60帧,我怎么就感觉有卡顿感呢?老黄震个楼先,下面我们慢慢降。
见好多小学妹小学弟生涩...
吧友如果对信用卡方面有...
看到新狮子舞的50w防御...
游戏特效培训,毕业年薪20w,来CGWANG吧!
不到20帧就感觉很流畅了怎么破
10流畅无压力
以下内容很长,而且很枯燥,没耐心的基友们我给你们大体说上一下,看完这段话就差不多了,而且我也只是复制粘贴,有耐心的可以看下去,有收获。
其实除了帧数,还有一个帧生成时间问题,
每帧生成时间是指每一帧画面从计算渲染到输出到屏幕上的时间。它对于游戏的影响在于当游戏中的所有帧的生成时间小于30ms时,我们肉眼看到的动画画面将是流畅的,而当游戏中某些帧生成的时间在30-50ms之间时,我们会感觉有卡顿的现象。当这个值超过50ms越多时,我们感觉到的卡顿感就越严重。
在实际应用中我们都有过这样的体验,一款明明帧速很高,我们却感到卡顿。这是因为在游戏中某些时候或某些帧从渲染计算到输出的时候过长。超过我们肉眼可以感受到的哪个值,所以我们就感觉到了卡顿。
谈了上面这些理论,某些朋友可以会说我的硬件配置和设置都没问题为什么会发生卡顿,是什么造成了每帧生成时间变长呢?其实很多时候这些原因出在身上,并不是一个实时操作系统,它不是在某个周期内执行任意一条指令,而是在其准备好执行时才能够执行。就像现在大家热议的办证难一样,中间环节太多,某些办事人员又不给力或者故意刁难进一步影响了办证的效率。我们的系统也一样看似一个简单的操作却要产生大量的数据和众多程序硬件的响应,某一个环节慢1ms那么到了游戏中就不知道要慢多少了。
所以说,主机的30帧流畅比PC的30帧流畅并不是没有实际根据的优越而已,主机因为硬件和架构原因,,GPU,RAM和各硬件协调有序,有着稳定的帧生成时间,所以会感觉比较流畅,当然,这个流畅感要保证在稳定的帧数基础上,不能突然掉帧才行。还有一个例子就是早期PS1,等主机,包括和掌机上,都有很多20帧的,同样不会让人感觉有不流畅的感觉。
现在推出的DX12和的Mantle API都在致力于增加各硬件之间的协调性,为这方面都在做着自己的优化,让我们小小期待一下吧。
的3D渲染过程以及延迟的真正定义  
解释帧之前需要先了解一下的渲染过程(Rendering Pipeline)。渲染过程本身并不复杂,但是因为要涉及到Windows系统、、GPU以及驱动等层面,需要知道是哪个环节出了问题才造成延迟的。  
从基本原理上看,渲染主要有3个过程,应用程序需要将数据传递给,Windows则通过驱动管理这个处理过程,最后等系统和驱动准备完成了,GPU就会输出一帧图像并显示出来。
长话短说,中负责管理的就是Direct3D API,它是DX
API中最主要的3D渲染API,是一个庞大的、复杂的API命令与函数的的集合。D3D首先也是最主要的作用就是收集应用程序的各种绘制命令(draw),并将其结合起来,为进一步的工作做处理。一旦某个完整帧的帧绘制命令都收集完了,D3D就会把它处理完成的工作传递给驱动堆栈的第一个组成部分——UMD(
User Mode Driver)。 
  UMD主要负责D3D的输出,并将其变成GPU可以处理的工作批次(work batches)。这些工作批次、命令缓冲器(也叫做显示列表,Display
Lists)都是适合目前GPU处理的指令及数据的集合。  
UMD另外一个工作就是着色器编译(shader compilation)以及将正确而且最适合的表面格式(surface formats)分配给GPU。
UMD的工作完成之后,它就会把命令缓冲器传递回D3D,D3D再依次把命令交给上下文队列(context
queue),这是可能会造成卡顿的第一个瓶颈,至于它为什么会造成瓶颈,后面还会继续讲到。
上下文队列之上还有GPU调度器,它负责管理原本应该通过context queue送到KMD( kernel mode GPU
driver)而实际上却脱离的命令缓冲导致的爆音(popping)意外。 
  通过上面的一系列过程我们在GPU的后端缓冲器里最终渲染出了一帧完整的图像,但是这一帧并不会自动输出到显示设备上,命令缓冲器批次的最后一步是Direct3D
Present,Present命令的作用就是告诉GPU将后端缓冲器发到前端,然后将渲染的图像输出给用户,只有present指令执行完之后图像才会输出。 
以上就是一个3D渲染过程的简单介绍,下面我们再来看看什么是真正的帧延迟。
延迟的真正定义 
卡顿(shutting)的定义有很多,实际中我们一般这么定义:任何可能导致每帧时间显著变化的情况都可以定义为卡顿,这是一个通用的定义,但是造成卡顿的情况有很多,还得分别来看。 
Anandtech将卡顿分为单卡卡顿和多卡卡顿两个部分来讲,不过首先还是看各种可能造成卡顿的原因。如果GPU用了超过预期的时间(要知道不可能先于时间精确预计需要渲染多少次)来渲染图像这就会造成卡顿;如果驱动程序需要等待很长时间才能为GPU准备好需要渲染的某一帧,这也会造成卡顿;如果游戏的仿真步长(
simulation
step)用了很长时间也会导致卡顿;如果/OS太忙导致不能预期发送指令也会导致卡顿,总之就是造成卡顿有各种可能,每一个步骤出了意外情况都可能导致卡顿现象发生。 
而造成这些现象的根本原因是并不是一个实时操作系统(real-time operating
system),这意味着它不能在某个周期内执行任意的一条指令,只有当它准备好执行的时候才可以进行操作。为了达到这种毫秒级的反应,应用和驱动程序需要确保每个过程都是平滑进行的。  虽然Windows系统一直在努力保证各项工作都是即时进行的,但是要知道PC是由各种各样的硬件组成的,种类和数量都非常庞大,这就造成了它很难消除卡顿。 
最回到我们的问题上来,如果禁用了,卡顿就是一个很常见(虽然不是一直出现)的问题。如果开了垂直同步,以目前LCD的60Hz刷新率来算,平均生成每帧至少需要16.6ms。由于60fps这个限制,开了垂直同步之后,任何低于16.6ms的帧生成时间都会被阻挡在上下文队列中,这种固定16.6ms的帧时间就大大减少了卡顿现象。
在讨论帧时间时我们还必须要区分两个定义,一个是延迟(latency),一个是帧间隔(frame
interval)。延迟在这里的定义是指完整渲染完一帧图像的时间,而帧间隔跟延迟有关,但是又不同,它指的是每帧的间隔时间,典型的来说就是在渲染完成的末尾、正在显示的每帧间隔时间。
我们通常所说的卡顿实际上并不是这个延迟决定的,而是帧间隔(frame
interval)时间决定的。帧延迟可以用独立测量出来,fraps软件就是最常用的工具了。我们这里谈的则是帧间隔。 
虽然我们可以建立一个存在帧间隔分割点的模型,在这个点上可以视其为卡顿或者不卡顿,但是帧间隔这个概念对每个人的感觉也是不同的,生成这一帧需要的时间比前一帧多了5ms,这样会导致卡顿吗?10ms?20ms?30ms?如果是在30fps
vs 60fps之间呢?
在与AMD的交谈中,AMD就提出了这样一个简单而又重要的问题:我们可以用工具客观测量出卡顿的存在,但是我们不能客观地衡量卡顿对每个用户的影响。 
下面的讨论就有点哲学味道了,总之Anandtech及AMD更倾向于认为卡顿这个事就算可以测量出来,但是它对每个人的影响也是很难评估的。 
在了解了3D渲染过程以及什么才是卡顿的真正定义之后,我们再回头看看frpas这类软件是如何捕捉延迟的,是否真的靠谱。
Fraps记录延迟为什么不靠谱及总结Frpas记录帧速解读  
Fraps软件的名头和作用不用多费笔墨了,这个软件是评测编辑最常用的工具之一,很多没有内建benchmark工具的程序及游戏都是靠fraps来手动测量的,其截图、录像功能也非常实用。
虽然它很实用,但是还是认为这个软件有问题,它记录的帧时间并不一定准确。
还是要先了解一下fraps的工作原理,它通过注入到应用程序中,然后开始拦截D3D
Present命令,在这里fraps可以延迟输出指令以便插入自己的绘制指令。当用户按键激活帧数及帧时间测试时,fraps就会计算present指令,当它每次察觉到发出一个present指令之后就会记录下来,认为生成了一帧新图像,然后再允许present指令通过。 
这套流程对大部分应用都很管用,这也是fraps如此受欢迎的原因之一。用fraps软件测量游戏的平均帧还好,但是用它来测量游戏的帧间隔(也就是我们说的延迟、卡顿的原因)就不靠谱了。 
Fraps过早地开始注入渲染过程,它比GPU优先、比驱动程序还要优先,甚至比D3D还以及context
queue还要优先,因此fraps可以告诉你进入渲染过程之前发生了什么,但是它无法告诉你渲染完成之后发生了什么,而真正决定游戏卡顿与否的关键就在后一个阶段上。 
因此用fraps来判断游戏卡顿与否是有问题的。从前面的渲染过程介绍中我们知道,只有当context
queue准备好接受指令之后程序才会开始渲染新的一帧图像,而fraps记录的只是渲染开始的部分,并非整个渲染过程,因此它只能告诉你它看到了什么,而不能告诉你渲染末期的帧间隔。
对fraps担忧的问题有两点,首先根据我们前面的定义,fraps实际上是不能真正测量游戏的延迟的,context
queue会阻挡任何试图测量真正的帧延迟的努力,两个present指令之间的时间并不等于渲染完成一帧所需的时间,特别是在下一个present指令因为任何原因被延迟的情况下,二者更没有关系了。  
的第二个顾虑就是fraps越来越多地被用作帧延迟的测量工具,但是因为它过早介入了渲染过程,实际上它看到的延迟并非用户感受到的,如果fraps认为有更多卡顿但是用户并没有感觉到这个问题,这是AMD显卡的错吗? 
需要指出的是,我们的最终目标还是尽可能将卡顿变得更小更少,而也在为这个目标而努力,但是让AMD担心的是fraps测量的结果使得他们显卡的卡顿现象看起来更多了。 
原文后面还有很多内容,包括对另一个测量工具GPU
View的分析,还有单卡下的卡顿及多卡系统下的卡顿问题的探讨,不过我们的目的现在已经达到了,来看看最后的总结吧。
总结:  
Anandtech这篇文章很强大,虽然读起来会比较费力,但是多多少少让我们了解了的渲染过程以及什么才是真正的延迟,对fraps原理的解析也有助于我们理解为什么认为fraps软件测量的“延迟”并不能成为真正的延迟,这也是Anandtech网站没有采用帧延迟的方式来衡量显卡性能的原因之一。 
原文的总结部分也很长,长话短说就是以及对滥用fraps帧测试的评测方法也是有一定顾虑的,不过AMD的态度还不错,他们也承认了测试反应出的问题,并且在驱动中不断优化这个问题,毕竟就算fraps测量的不准,记录出来的结果中N卡的卡顿还是要比平均好一些。 
Anandtech说他们也在考虑新的测试方法,未来几周就会露面。这对我们来说也是一个提醒,超能习惯用的测试成绩表格主要是基于平均帧数,平均帧或许很粗略,但是从小编使用几年的感觉来说它还是有说服力的,因为帧以及最低帧给我的感觉是太随机了,同一个测试重复几次得到的结果都不一样,反倒是平均值更有可重复可验证性。 
当然,我们也不会就此停步不前,也会尝试用更多的方式来展现所测产品的真实性能,这一点还会继续改进。 
最后,Anandtech也强调了他们这篇文章也不是否定fraps的价值,它依然是一个非常好用、实用的测量工具。
母鸡啊        现已加入肯德基豪华午餐!!!\(☆o☆)/
CGWANG影视后期包装培训 专业培训机构
头一次评论啊,好紧张啊,该怎么说啊,打多少字才显的有文采啊,这样说好不好啊,会不会成热门啊,我写的这么好会不会太招遥,写的这么深奥别人会不会看不懂啊,怎样才能写出飘逸潇洒的水平呢,半小时写了这么多会不会太快啊,好激动啊!
psp合金装备和平行者满贞20从不觉得丝毫卡顿
4楼醉了   --谁要是敢欺负我,我就把他挂在尾巴上!!!
字太多懒得看o(╯□╰)o但支持个   --谁要是敢欺负我,我就把他挂在尾巴上!!!
字多懒得看,但是好文章还是要顶一下
COD10 70多帧,有的时候还顿卡
我居然全部看完了技术贴要顶
青铜星玩家
百度移动游戏玩家均可认证(限百度账号),
别开那东西,看着一会儿59帧一会儿60帧,简直受不了
我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦
不明觉厉系列,请不要伤害PC就行了
我玩时,帧数高也觉得卡 -     - 晚饭后去理发店理发。老板问我怎么剪?我悠悠地来了一句:往帅了剪……旁边一位在烫头发的大妈说:别这样为难老板,人家赚点钱不容易
其实帧生成造成的卡顿不太常见,一般pc上的卡顿还是掉帧。比如大革命爆造成掉帧,联机渲染更不上造成卡顿。还有爆内存的卡顿。
pc上也有稳定二十多帧流畅的。刺客信条4就是这样,我调的极高特效22帧左右玩的,降低画面就能30,但我就觉得22够了
我是个新手,请告诉我有什么用,为什么有人说关掉垂直同步能减少延迟。还有我刺客信条黑旗用fraps显示只有20多帧不觉得卡。按你说的,在渲染之前就只有20帧,那渲染之后不就更卡了吗?
买个g-sync的,再来4790k、980就酸爽了()通杀所有。
fc4 40多帧照样卡
贴吧热议榜
使用签名档&&
保存至快速回贴}

我要回帖

更多关于 swiper不流畅 卡顿 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信