用新浪微博登录

只需一步,快速搞定

 找回密码
 立即注册

用新浪微博登录

只需一步,快速搞定

查看: 2961|回复: 1
打印 上一主题 下一主题

[讨论] 关于游聚垂直同步、三重缓冲、显卡优化要不要开的研究

[复制链接]

该用户从未签到

18

主题

62

帖子

260

积分

LV 5.会员

积分
260
跳转到指定楼层
楼主
发表于 2020-1-27 00:57:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 |          
“垂直同步”虽然能彻底杜绝画面撕裂,但是它的副作用同样很明显——操作延迟。

在帧率比显示器刷新率高很多的情况下,为了将显示器的刷新时间和显卡向缓冲区写入画面的时间保持同步,必然就需要人为地增加延迟,来延后“过快生成的画面“向显示器的输出。因此在竞技游戏中,开启垂直同步后的手感会大打折扣。开启了垂直同步后可以看得出画面撕裂的问题确实得到了解决,但为了将帧缓存**的时间和显示器刷新时间保持同步,帧缓存中的画面将会延后一个刷新周期被显示出来。在使用 60Hz 显示器时,一个刷新周期的时间高达 16.67ms,也就是说本来一秒五帧的图像延迟只有3.3ms,现在因为要干等一个刷新周期,延迟一下子就增加到了 13.3ms,对于连 5ms 和 1ms 显示器都能分清的电竞选手而言,这多出来的10毫秒延迟是非常要命的。

“三重缓冲”,既然垂直同步的延迟是因为显卡输出完一幅图像就歇着等待红绿灯了,无法响应鼠标键盘最新的操作,那么我们为啥不让显卡一直工作呢?这样不就能一直响应最新的输入操作了吗?三重缓冲就是基于这种思路设计的,它在双重缓冲的基础上再加入了一个帧缓冲区,组成了一个前缓冲区,两个后缓冲区的规格。程序来回向两个后缓冲区写入图像,每次显示器刷新时,前缓冲区就和最近完成写入的那个后缓冲区**。可以看到,即便有一个缓冲区要受到红绿灯的管控,另外两个缓冲区还是可以来回写入图像,于是就不需要人为增加画面延迟了。

不过三重缓冲也并非完美无瑕。首先由于需要一个额外的帧缓冲区,因此它会占用更多的显存空间。比如我们在 4K 分辨率下运行《质量效应:仙女座》,三重缓冲额外占用了约 200MB 的显存,对我们而言尚可接受。其次,它的延迟虽然远远低于双重缓冲下的垂直同步,但相比不开垂直同步还是可能略微高一点,因为无垂直同步的画面在给你带来撕裂的同时,也会包含最新帧的图像,如果开启了三重缓冲,那么画面中这“后面一帧“的多余元素就会被剔除,延迟自然会略微高于前者一点点。

总结:
垂直同步和三重缓冲到底该不该开呢?如果游戏支持,条件允许的话(对于 60Hz 显示器的用户,显卡能跑到 60 帧以上),可以开起来试试。但如果你的显卡达不到这么高的速度,或者你经过试验发现某一款游戏在三重缓冲下的操作延迟依然很高,那还是把它关了吧。至于显卡优化,能不开就不开,画面掉帧严重才需要开,开了多少还是增加点延迟的。

回复

使用道具 举报

该用户从未签到

18

主题

62

帖子

260

积分

LV 5.会员

积分
260
沙发
 楼主| 发表于 2020-1-27 00:58:44 | 只看该作者
另外我用FPS帧率测试软件实测游聚会跳帧,模拟器不会,模拟器并没有开启垂直同步
回复 支持 反对

使用道具 举报

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

本版积分规则

     
    Archiver|手机版|小黑屋|( 沪ICP备12034951号 )

GMT+8, 2024-11-14 13:16 , Processed in 0.125956 second(s), 27 queries .

© 2001-2011 Powered by Discuz! X3.1

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