本帖最后由 ft5555 于 2016-5-23 22:22 编辑
首先要读一下这个[译文]三重缓冲:为什么我们爱它
http://bbs.expreview.com/forum.php?mod=viewthread&tid=21762&highlight=%E4%B8%89%E9%87%8D%E7%BC%93%E5%86%B2
文章来源:http://www.anandtech.com/video/showdoc.aspx?i=3591&p=1
文章标题:Triple Buffering: Why We Love It
文章作者:Derek Wilson
文章时间:2009年6月26日
这个应该是对三重缓冲技术讲得最清楚的文章了。
===============================================
下面这个介绍是NV的FAST SYNC
Nvidia is adding a new SYNC mode. This mode works especially well with high FPS games, the folks that like to play Counter-Strike at 100 FPS. With this feature, Nvidia is basically decoupling the render engine and display by using a third buffer. This method was specifically designed for that high FPS demographic, the new sync mode will eliminate stuttering and screen tearing with high FPS games and thus offers low latency across the board. It can be combined with GSYNC (which works great with the lower spectrum of refresh rates). Fast Sync is a latency-conscious alternative to traditional Vertical Sync (V-SYNC) that eliminates tearing, while allowing the GPU to render unrestrained by the refresh rate to reduce input latency. If you use V-SYNC ON, the pipeline gets back-pressured all the way to the game engine, and the entire pipeline slows down to the refresh rate of the display. With V-SYNC ON, the display is essentially telling the game engine to slow down, because only one frame can be effectively generated for every display refresh interval. The upside of V-SYNC ON is the elimination of frame tearing, but the downside is high input latency. When using V-SYNC OFF, the pipeline is told to ignore the display refresh rate, and to deliver game frames as fast as possible. The upside of V-SYNC OFF is low input latency (as there is no back-pressure), but the downside is frame tearing. These are the choices that gamers face today, and the vast majority of eSports gamers are playing with V-SYNC OFF to leverage its lower input latencies, lending them a competitive edge. Unfortunately, tearing at high FPS causes a vast amount of jittering, which can hamper their gameplay.
NVIDIA has decoupled the front end of the render pipeline from the backend display hardware. This allows different ways to manipulate the display that can deliver new benefits to gamers. Fast Sync is one of the first applications of this new approach. With Fast Sync, there is no flow control. The game engine works as if V-SYNC is OFF. And because there is no back-pressure, input latency is almost as low as with V-SYNC OFF. Best of all, there is no tearing because FAST SYNC chooses which of the rendered frames to scan to the display. FAST SYNC allows the front of the pipeline to run as fast as it can, and it determines which frames to scan out to the display, while simultaneously preserving entire frames so they are displayed without tearing. The experience that FAST SYNC delivers, depending on frame rate, is roughly equal to the clarity of V-SYNC ON combined with the low latency of V-SYNC OFF.
可以看出FAST SYNC其实就是垂直同步+三重缓冲技术,只是这回在宣传中NV说它可以在D3D可以实现了,而不再是之前的预渲染队列(从0到8张, 3是默认值)。
如果一个G-SYNC显示器的刷新率是144HZ,帧速高于最大刷新率时,比如电脑跑cs可以跑到200fps。FAST SYNC可以让玩家得到更小的输入延迟。
而对于普通的60HZ显示器。帧速比刷新率高时FAST SYNC可以让输入延迟更小。 帧速比刷新率低时。同样可以让 平均fps/秒 更高。
但由于帧生成时间的关系。如果帧生成时间大于1/60秒(16.67毫秒),比如1/45秒。玩家实际上看到的这一帧将在显示器上停留1/30秒(显示器得不到新画面就会用相同的画面填充一次刷新时间。就像玩过gba模拟器,ppsspp模拟的跳帧功能,因为要保证时间同步)。
这样就可以讲:对于45fps/s的画面,假设帧生成时间均相同。G-SYNC可以做到1/45秒(45HZ)均匀在屏幕上更新画面。
普通显示FAST SYNC 则是1/30,1/60,1/30,1/60.....玩家实际看到的画面会是这样更新的(输出2张画面,2/45 < 1/30+1/60, 因为缓冲区的关系第二帧生成在显示器第二次刷新前,显示器只会等待第一帧,而不用等第二帧。只要前缓冲区填充时间高于1/60秒,就会发生等待)
自然要比G-SYNC有卡顿感,但是要比垂直同步的降到30帧效果好。
================
目前很多D3D游戏中使用的 垂直同步+预选染队列 ,只能做到帧速小于刷新率时更高的FPS。 帧速大于刷新率时,不让个别生成时间暴增的帧导致卡顿发生。
但是因为队列中的帧不会被丢弃。会有 时长=队列数*刷新时间 这样的输入延迟。
普通的高刷新率显示器+高帧速 比如120HZ 90fps/s,卡顿感觉会少。毕竟1/90与1/120的差异感 要小于1/30跟1/60.
这样就可以理解为帧速越高G-SYNC效果越不明显?因为帧速剧烈波动G-SYNC也一样会感觉卡顿。
|