玩游戏时为了让画面更流畅,“OpenGL”中的三重缓冲应该打开还是不打开?计算机配置:
如果开启垂直同步,有助于缓冲画面,提高流畅度,但锁定垂直同步本身就无法实现流畅显示,不如关闭。
扩展数据:
原则
三重缓冲是一种图像处理技术。
英文名Triple Buffering是一种图像处理技术。
三重缓冲使用一个预缓存和两个后缓存。对第一个后缓冲区的数据着色后,将立即处理第二个后缓冲区。
如今很多新游戏都使用三倍缓冲,三倍缓冲正逐渐成为发展趋势,因为它没有Vsync(屏幕垂直刷新频率)的等待时间,游戏会更流畅。
三重缓冲区,有了三个缓冲区,显卡可以随时将渲染结果放入第三个缓冲区,而不用等前端缓冲区清空后再空出后端缓冲区。
实现
也就是说,你可以在保持帧率的情况下开启垂直同步。ATi和nVidia驱动程序都可以选择打开三倍缓冲。可惜这只能起到一半的作用,因为驱动中的三重缓冲选项只对OpenGL游戏有效。
此外,OpenGL游戏远不如D3D游戏,所以事实上,驱动程序驱动的3倍缓冲选项在超过一半的情况下都不起作用。三级缓冲是低帧率的完美解决方案,但这不是免费的午餐。
打开三级缓冲区也意味着需要多50%的缓存空间。在一定条件下,还可能对游戏效果产生负面影响。
app应用
举个简单的例子来说明这个潜在的问题:比如我们在1600x1200的分辨率下运行一个游戏,每个像素需要32bit来存储信息,1600 x1200 x32 = 61,440,000 bit换算成MB。
使用二级缓冲,需要14.64MB显存;为了使用三级缓冲器,需要21.96MB的视频存储器。内存占用率不是问题。然而,一旦开启4x FSAA,这个数字将迅速扩大。
当打开4x FSAA时,有四倍多的像素可以采样,因此21.96MB乘以4就变成了一个相当大的87.84MB!这超过了总内存容量的1/3。
如果这个游戏需要200MB的空间来存储材质、光影、各种纹理等。,游戏效果会变得很差,并且会因为时不时访问硬盘而出现大量的停滞。
这里只是提醒大家,如果在游戏过程中发现硬盘访问过于频繁,可能意味着三级缓冲占用了太多的显存。这时候你就要考虑降低游戏的屏幕设置,或者购买显存容量更大的更高端显卡。
参考资料:
百度百科,三重缓冲