最后一步就是渲染到屏幕了。
In most games your GPU frame rate will be highly volatile
When new GPU frame updates in the middle of last screen frame, screen tearing occurrs
游戏中 V-Sync 关掉的话,会发现有画面错开的情况,这种学名叫 Screen Tearing。
本质是引擎在疯狂渲染,但引擎每一帧时间是不一定的,有时候场景复杂,有时候场景简单。但是显示器刷新频率是一定的,如果不巧刚好错过显示器的刷新频率,就会出现等待的情况。
V-Sync Technology
Synchronizing buffer swaps with the Vertical refresh is called V-sync
V-Sync can be used to prevent tearing but framerates are reduced, the mouse is lagging & stuttering ruins gameplay
每一次都要等 Frame Buffer 写完之后,等到下一次刷新的时候,整个 Frame 刷新过去,而不是写到一半再刷新。
这样还可能出现画面一会快一会慢,错过一点点。这对非常专业的游戏玩家可能会注意到,但是现在显示器刷新频率高所以还好。
Variable Refresh Rate
Nvidia、AMD 都有对应的名字,这个方案简单的说就是把显示器的刷新频率变成动态可调的。
游戏按照什么帧率渲染,显示器就对接在一起,这样就不会 Screen Tearing。