为什么玩游戏帧数很高 画面很卡,却偶尔突然卡顿

【科普贴】为什么有时候帧数很高我们却觉得卡_单机游戏吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,019,702贴子:
【科普贴】为什么有时候帧数很高我们却觉得卡
很多人玩游戏时都喜欢开着Fraps,看着左上角的数字显示,有人说低于60帧就没法玩,有人说30帧即可流畅,也有人说要60帧才行,RPG只要30帧即可,还有一句话,说主机的30帧比PC的30帧玩着要感觉流畅,大伙可能会觉得这个理论很可笑,尤其是没有主机的PC玩家会觉得这是主机优越党说出来的话。这里先不说这个理论是否正确,一会再讨论。其实,很多时候我们有这种感觉,明明是稳定60帧,我怎么就感觉有卡顿感呢?老黄震个楼先,下面我们慢慢降。
吧友如果对信用卡方面有...
看到新狮子舞的50w防御...
最近贴吧的外设小白实在...
梁山六年荣誉出品,无需下载,免费享玩!万人在线,服服爆满!多人在线PK页游!背景清晰,画面唯美,技能特效绚丽多彩!刺激带感尽在51wan!
不到20帧就感觉很流畅了怎么破
10流畅无压力
以下内容很长,而且很枯燥,没耐心的基友们我给你们大体说上一下,看完这段话就差不多了,而且我也只是复制粘贴,有耐心的可以看下去,有收获。
其实除了帧数,还有一个帧生成时间问题,
每帧生成时间是指游戏每一帧画面从计算渲染到输出到屏幕上的时间。它对于游戏的影响在于当游戏中的所有帧的生成时间小于30ms时,我们肉眼看到的动画画面将是流畅的,而当游戏中某些帧生成的时间在30-50ms之间时,我们会感觉有卡顿的现象。当这个值超过50ms越多时,我们感觉到的卡顿感就越严重。
在实际应用中我们都有过这样的体验,一款游戏明明帧速很高,我们却感到卡顿。这是因为在游戏中某些时候或某些帧从渲染计算到输出的时候过长。超过我们肉眼可以感受到的哪个值,所以我们就感觉到了卡顿。
谈了上面这些理论,某些朋友可以会说我的硬件配置和游戏设置都没问题为什么会发生卡顿,是什么造成了每帧生成时间变长呢?其实很多时候这些原因出在WINDOWS身上,WINDOWS系统并不是一个实时操作系统,它不是在某个周期内执行任意一条指令,而是在其准备好执行时才能够执行。就像现在大家热议的办证难一样,中间环节太多,某些办事人员又不给力或者故意刁难进一步影响了办证的效率。我们的系统也一样看似一个简单的操作却要产生大量的数据和众多程序硬件的响应,某一个环节慢1ms那么到了游戏中就不知道要慢多少了。
所以说,主机的30帧流畅比PC的30帧流畅并不是没有实际根据的优越而已,主机因为硬件和架构原因,CPU,GPU,RAM和各硬件协调有序,有着稳定的帧生成时间,所以会感觉比较流畅,当然,这个流畅感要保证在稳定的帧数基础上,不能突然掉帧才行。还有一个例子就是早期PS1,N64等主机,包括NDS和PSP掌机上,都有很多20帧的游戏,同样不会让人感觉有不流畅的感觉。
现在微软推出的DX12和AMD的Mantle API都在致力于增加各硬件之间的协调性,为这方面都在做着自己的优化,让我们小小期待一下吧。
显卡的3D渲染过程以及延迟的真正定义  
解释帧时间之前需要先了解一下Windows系统的渲染过程(Rendering Pipeline)。渲染过程本身并不复杂,但是因为要涉及到Windows系统、CPU、GPU以及驱动等层面,需要知道是哪个环节出了问题才造成延迟的。  
从基本原理上看,渲染主要有3个过程,应用程序需要将数据传递给Windows系统,Windows则通过驱动管理这个处理过程,最后等系统和驱动准备完成了,GPU就会输出一帧图像并显示出来。
长话短说,Windows系统中负责管理的就是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)用了很长时间也会导致卡顿;如果CPU/OS太忙导致不能预期发送指令也会导致卡顿,总之就是造成卡顿有各种可能,每一个步骤出了意外情况都可能导致卡顿现象发生。 
而造成这些现象的根本原因是Windows系统并不是一个实时操作系统(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来手动测量的,其截图、录像功能也非常实用。
虽然它很实用,但是AMD还是认为这个软件有问题,它记录的帧时间并不一定准确。
还是要先了解一下fraps的工作原理,它通过dll文件注入到应用程序中,然后开始拦截D3D
Present命令,在这里fraps可以延迟输出指令以便插入自己的绘制指令。当用户按键激活帧数及帧时间测试时,fraps就会计算present指令,当它每次察觉到发出一个present指令之后就会记录下来,认为生成了一帧新图像,然后再允许present指令通过。 
这套流程对大部分应用都很管用,这也是fraps如此受欢迎的原因之一。用fraps软件测量游戏的平均帧还好,但是用它来测量游戏的帧间隔(也就是我们说的延迟、卡顿的原因)就不靠谱了。 
Fraps过早地开始注入渲染过程,它比GPU优先、比驱动程序还要优先,甚至比D3D还以及context
queue还要优先,因此fraps可以告诉你进入渲染过程之前发生了什么,但是它无法告诉你渲染完成之后发生了什么,而真正决定游戏卡顿与否的关键就在后一个阶段上。 
因此用fraps来判断游戏卡顿与否是有问题的。从前面的渲染过程介绍中我们知道,只有当context
queue准备好接受指令之后程序才会开始渲染新的一帧图像,而fraps记录的只是渲染开始的部分,并非整个渲染过程,因此它只能告诉你它看到了什么,而不能告诉你渲染末期的帧间隔。
AMD对fraps担忧的问题有两点,首先根据我们前面的定义,fraps实际上是不能真正测量游戏的延迟的,context
queue会阻挡任何试图测量真正的帧延迟的努力,两个present指令之间的时间并不等于渲染完成一帧所需的时间,特别是在下一个present指令因为任何原因被延迟的情况下,二者更没有关系了。  
AMD的第二个顾虑就是fraps越来越多地被用作帧延迟的测量工具,但是因为它过早介入了渲染过程,实际上它看到的延迟并非用户感受到的,如果fraps认为AMD显卡有更多卡顿但是用户并没有感觉到这个问题,这是AMD显卡的错吗? 
需要指出的是,我们的最终目标还是尽可能将卡顿变得更小更少,而AMD也在为这个目标而努力,但是让AMD担心的是fraps测量的结果使得他们显卡的卡顿现象看起来更多了。 
原文后面还有很多内容,包括对另一个测量工具GPU
View的分析,还有单卡下的卡顿及多卡系统下的卡顿问题的探讨,不过我们的目的现在已经达到了,来看看最后的总结吧。
总结:  
Anandtech这篇文章很强大,虽然读起来会比较费力,但是多多少少让我们了解了显卡的渲染过程以及什么才是真正的延迟,对fraps原理的解析也有助于我们理解为什么AMD认为fraps软件测量的“延迟”并不能成为真正的延迟,这也是Anandtech网站没有采用帧延迟的方式来衡量显卡性能的原因之一。 
原文的总结部分也很长,长话短说就是AMD以及NVIDIA对滥用fraps帧时间测试的评测方法也是有一定顾虑的,不过AMD的态度还不错,他们也承认了测试反应出的问题,并且在驱动中不断优化这个问题,毕竟就算fraps测量的不准,记录出来的结果中N卡的卡顿还是要比A卡平均好一些。 
Anandtech说他们也在考虑新的测试方法,未来几周就会露面。这对我们来说也是一个提醒,超能习惯用的测试成绩表格主要是基于平均帧数,平均帧或许很粗略,但是从小编使用几年的感觉来说它还是有说服力的,因为帧时间以及最低帧给我的感觉是太随机了,同一个测试重复几次得到的结果都不一样,反倒是平均值更有可重复可验证性。 
当然,我们也不会就此停步不前,也会尝试用更多的方式来展现所测产品的真实性能,这一点还会继续改进。 
最后,Anandtech也强调了他们这篇文章也不是否定fraps的价值,它依然是一个非常好用、实用的测量工具。
母鸡啊        现已加入肯德基豪华午餐!!!\(☆o☆)/
为「皇室战争」玩家量身打造的玩家社区,实用攻略,下载手机游戏独家福利活动等你来!
头一次评论啊,好紧张啊,该怎么说啊,打多少字才显的有文采啊,这样说好不好啊,会不会成热门啊,我写的这么好会不会太招遥,写的这么深奥别人会不会看不懂啊,怎样才能写出飘逸潇洒的水平呢,半小时写了这么多会不会太快啊,好激动啊!
psp合金装备和平行者满贞20从不觉得丝毫卡顿
4楼醉了   --谁要是敢欺负我,我就把他挂在尾巴上!!!
字太多懒得看o(╯□╰)o但支持个   --谁要是敢欺负我,我就把他挂在尾巴上!!!
字多懒得看,但是好文章还是要顶一下
COD10 70多帧,有的时候还顿卡
我居然全部看完了技术贴要顶
青铜星玩家
百度移动游戏玩家均可认证(限百度账号),
别开那东西,看着一会儿59帧一会儿60帧,简直受不了
我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦我来水贴啦
不明觉厉系列,请不要伤害PC就行了
我玩刺客1时,帧数高也觉得卡 -     - 晚饭后去理发店理发。老板问我怎么剪?我悠悠地来了一句:往帅了剪……旁边一位在焗油烫头发的大妈说:别这样为难老板,人家赚点钱不容易
其实帧生成造成的卡顿不太常见,一般pc上的卡顿还是掉帧。比如大革命爆显存造成掉帧,战地4联机cpu渲染更不上造成卡顿。还有看门狗爆内存的卡顿。
pc上也有稳定二十多帧流畅的。刺客信条4就是这样,我调的极高特效22帧左右玩的,降低画面就能30,但我就觉得22够了
我是个新手,请告诉我垂直同步有什么用,为什么有人说关掉垂直同步能减少延迟。还有我刺客信条黑旗用fraps显示只有20多帧不觉得卡。按你说的,在渲染之前就只有20帧,那渲染之后不就更卡了吗?
买个g-sync的显示器,再来4790k、980就酸爽了(1080p)通杀所有游戏。
fc4 40多帧照样卡
贴吧热议榜
使用签名档&&
保存至快速回贴[求助] 游戏帧数突然过高而且很卡 怎么办??拜托你们看看下描述好不好 我不是来晒帧数的
老司机们救救我E3-的组合昨天还好好的 今天一更新完TGP助手开lol进去就发现帧数飙到了600多 人在漂移就是很卡 。。。ping值没问题 稳定在10 开了别的游戏测试也是这个问题 反正就是卡[color=red]重启过 而且已经在游戏里面和显卡驱动里面设置过垂直同步了 没有用 更新了显卡驱动 也是照旧[/color]看网上也好像没有什么好的解决办法 要么就是重装系统 有遇到过相同情况的么?[color=red]PS:我本来也就100多的帧数 现在突然飙到了600多 而且还很卡 这才是问题所在啊!!!PS2: 问题莫名其妙解决了 搞了一晚上 结果再重启一次就好了 呵呵哒[/color]
帧数高 还不好?
帧数高难道不是好事[s:ac:咦]
你们lol都几千几百的帧数为啥?wow玩了那么多年30~60就很爽了
[b]Reply to [pid=22458,1]Reply[/pid] Post by [uid=]温拿哥哥[/uid] ( 20:34)[/b]不是 这明显就是异常情况 而且很卡啊 其实显示器60赫兹的刷新频率,理论上帧数高于60都一样的了
帧数高是更清晰流畅吧......低了才麻烦。你是不是玩游戏时运行其他程序了有些贱格输入法很坑爹,玩游戏后台运行一卡一卡坑死你
同步垂直自己限制帧数这个B我给0分[s:ac:反对]
[b]Reply to [pid=22458,1]Reply[/pid] Post by [uid=552633]空白斑鸠[/uid] ( 20:39)[/b]我说了垂直同步无法限制帧数啊
[quote][tid=8822458]Topic[/tid] [b]Post by [uid=391860]yittian[/uid] ( 20:33):[/b]老司机们救救我E3-的组合昨天还好好的 今天一更新完TGP助手开lol进去就发现帧数飙到了600多 人在漂移就是很卡 。。。ping值没问题 稳定在10 开了别的游戏测试也是这个问题 反正就是卡[color=red]重启过 而且已经在游戏里面和显卡驱动里面设置过垂直同步了 没有用 更新了显卡驱动 也是照旧[/color]看网上也好像没有什么好的解决办法 要么就是重装系统 有遇到过相同情况的么?[color=red]PS:我本来也就100多的帧数 现在突然飙到了600多 而且还很卡 这才是问题所在啊!!!PS2: 问题莫名其妙解决了 搞了一晚上 结果再重..[/quote]你是把延迟和帧数看反了吧[s:ac:喷]
[b]Reply to [pid=22458,1]Reply[/pid] Post by [uid=]钥匙先生[/uid] ( 20:35)[/b]lol我能300多默认(不玩,修改了下垂直限制60),ff14最高特效100多(同样限制60)其他没卵用
以前有位 chh的写了篇科普,帧数不能代表流畅度,只有稳定的帧数才行。不过找不到这篇文章了[s:ac:哭1]
玩什么游戏
从来都是垂直同步锁60
最近LOL 更新 帧数越高越卡在游戏里设置 锁定120FPS 就好了毕竟小作坊 好嘛。The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.电脑玩游戏卡怎么处理?笔记本电脑玩游戏卡屏/卡顿的原因及解决方法
作者:佚名
字体:[ ] 来源:互联网 时间:08-11 09:03:22
电脑玩游戏卡怎么办?小编带来了笔记本电脑玩游戏卡屏/卡顿解决方法,随着电脑使用时间的延长,玩游戏的流畅度也越来越低,那么该如何解决呢?请试一试下文的方法吧
  我们在闲暇无聊的时候都会玩些游戏解解闷,有些小游戏是所有的电脑都可以运行,但是对于一些大型游戏的话对我们的电脑配置就需要很高了,如果你的电脑配置不够那么运行起来的游戏就会很卡,玩起来非常的不舒服。那么我们是否有方法解决这种问题呢?其实所有的游戏都根据不同的电脑设置了不同的游戏效果,我们可以根据自己的电脑的配置调整相应的效果。下面介绍具体的方法。 &
  最常见的原因还是笔记本电脑由于散热不足,处理器温度升高到90℃或者95℃以上(该温度因机型而异),电脑便会自动降低CPU的功率,从而降低CPU的温度,同时CPU的性能也随之大幅度缩减,从而造成游戏的帧数下降,便产生了游戏的卡顿的问题。&
  从上图AIDA64监测的CPU电压就可以清楚的看到整个造成卡顿的过程,当温度超过阈值时便降低CPU的电压,温度降低后便恢复电压,如此往复就造成了烦人的游戏卡顿问题。左下方红色的CPU Throttling则显示了CPU的降频幅度,这个数值越高游戏帧数下降的也就越明显,而右侧CPU温度曲线的凹槽处则代表游戏卡顿的时间。&
  解决办法:拆机清灰,同时更换导热系数高的硅脂
  解决散热问题最直接的办法还是拆机清灰,由于各种机型的拆机方法不同,清灰的难易度也各不相同。有的机型可能只需要打开后盖即可取出风扇清灰,有的机型没有设置后盖则需要整机拆解清理,在这就不一一的介绍如何拆机了,还请大家自行去各大论坛搜索对应机型的拆机教程。
第一步,将电脑的独显打开。
电脑的配置高低显卡占很大的比重,因为显卡是一个游戏能否运行的直接原因。每台电脑调节显卡的方法不同,根据各人的电脑进行相应的设置。
1)NVIDIA显卡设置方法:打开英伟达控制面板,选择左侧的管理3D设置,在全局设置界面中将自动选择改为你的NVIDIA显卡。然后选择程序设置界面将你要玩的游戏添加上,然后将其选择为独显。
2)AMD显卡设置方法:AMD显卡设置方法和英伟达控制面板设置方法一样。只需要将程序添加上即可。
第二步,调整显卡的显示效果(以英伟达为例)。
选择图像预览的选项,进入后更改图形优先选择,将其该为性能。我们可以看到改为性能后画质会变的很粗糙,又很多的锯齿。
第三步,更改电池的模式。
1)要想玩大型游戏一定要注意一个问题就是必须将电池模式改为高性能,这只是其一。
2)最重要的是你的电脑是否有手动省电开关(显卡切换开关),如果你的有手动开关的话一定要将其改为正常模式。
第四步,降低游戏的效果。
所有的游戏都有各种不同的画质上的要求,如果你只要求流畅的运行游戏的话,那么就将游戏的画质降低,调低画面的显示效果然后调低分辨率即可。
第五步,窗口化运行游戏。
1)这时最有效的运行游戏的方法,将游戏窗口化运行大大降低了对电脑配置的要求,可以让我们的电脑轻松运行很多的大型游戏,前提是你的电脑能看到游戏的菜单,如果连菜单都看不到那就没办法了。
2)对于极品飞车类的游戏一般按 alt+回车键 即可切换。
第六步,结束掉没用的进程。
在运行游戏时我们要尽量的将系统没用的进程结束掉,否则会影响我们的运行速度,最好的方法直接使用360游戏模式更改,方便快捷。
大家感兴趣的内容
12345678910
最近更新的内容}

我要回帖

更多关于 电脑玩游戏偶尔卡顿 的文章

更多推荐

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

点击添加站长微信