游戏玩家的图形显示设置指南(10)
作者:Koroush Ghazi  
翻译:芈希有  

第十关 图形设置--三缓冲

三缓冲

在“图形处理”这一章节下的第8部分,概述了显卡如何在帧缓冲区保存被渲染的帧。实际上有现代显卡的缓冲区中都有两个缓冲,主缓冲区及第二缓冲区,也常常被称为前缓冲区和后台缓冲区。这两者都存放在显卡的显存储存区中,在同一时间使用这两个缓存的过程被称为双缓冲。直到最近,显卡的显存容量才大到能够容纳所有的分辨率下的两个缓存,因为高分辨率下的帧由于有很详细的图像信息而需要占用大量的显存,更不用说有两个这样的帧了。

显卡使用后备缓冲区来组建一个新的帧,此时主缓冲区正在将一个已经存在的完成的帧送给显示器。当这些工作完成后,这两个缓存就会“交换”,所以原来的后备缓冲区中的完成的帧就会成为主缓冲区中帧并被送往显示器,同时一个新的帧将在前面的主缓冲区中开始构建。这过程是这是一遍又一遍地重复进行的,就是说使用两个缓冲区,意味着显卡不用在获得更多的帧之前一直等待一个帧缓冲被清除。就好比是使用两个水桶来灭火,--当一个水桶正在向火上浇水的时候另外一个桶正在灌水,这个过程不断地进行的话,灭火的效率明显比使用一个水桶要快很多。

使用双缓冲还有一个问题,那是当的VSync启用的时候,显卡往往可以填补两个缓冲区,然后必须停止下任何更新新帧的工作,直到显示器表明它正在为它的下一次刷新帧准备就绪。只有这样,显卡才能清除主缓冲区,交换缓冲区并在后备缓冲区中准备下一帧的渲染工作。这种等待就是在许多系统中启用VSync时导致的FPS下降的原因,这在“垂直同步”这章中有详细的解析。

那么使用两个以上的缓冲区是不是更有意义一些呢?为什么不是3个缓冲区,例如--这会给显卡提供更多的空间,而不必担心他们在发送到显示器之前的储存位置是否够用,即使启用了VSync。那么有一个选项就可以做到了这一点,就是所谓的三重缓冲(Triple Buffering)。顾名思义,它会在显存中创建第三个缓冲,我们可以称之为第三缓冲区第三缓冲区。

开启三缓冲

许多游戏都有选项可以设置三缓冲,无论是从游戏中的设置菜单或使用高级版本的Tweaks(见我的相关游戏调整指南)。但是,如果您使用的游戏没有任何这样的选项,那么你可以尝试用以下方法来在游戏中强制开启三重缓冲。

在基于OpenGL的游戏中,如Doom 3和雷神之锤4,Prey或者Enemy Territory:Quake Wars,启用三重缓冲是很简单的--到您的图形卡的控制面板直接开启就好。但有在基于Direct3D的游戏--现代大多数游戏都是这样的--中开启三缓冲需要更多的努力。您将需要使用名为D3DOverrider的工具,这个工具由RivaTuner为NVIDIA显卡定制--可以在我的Nvidia Forceware Tweak中的这一页的底部看到详细信息;或在我的ATI Catalyst Tweak Guide的Advanced Tweaking章节中使用ATI Tray工具。请注意,SLI的用户可能会遇到问题,使三重缓冲需要各SLI的模式实验来使得其正常工作。

三缓冲的问题

这看起来有些奇怪,如果三重缓冲可以解决VSynce启用时低帧问题,那么为什么它不会出现在许多的游戏中,或者在Direct3D标准的选择有关的Nvidia或ATI显卡控制面板设置中呢?这里有三个似乎是背后的原因:

1。如果游戏没有正确的支持,它会导致视觉故障。正如撕裂是显卡中的缓冲区由于显示内容转移太快而显示器无法跟上而造成的,因此也从理论上讲,三倍缓冲也会同样造成视觉异常,例如由于游戏时间的问题。

2。三缓冲将使用额外的显存,因此在板载显存的显卡上就会产生一些问题。尤其是拥有这样硬件的人也想在高分辨率下使用高品质的材质和类似反锯齿和各向异性过滤额外的效果,因为每个帧都需要更多的显存。在显存不够的显卡上启用三缓存会增加额外的故障(略有停顿),特别是当你在游戏中进入一个新的区域的时候将会有新的纹理被交换。你甚至会由于使用了额外的三缓冲而导致整体性能大幅下跌。

3。三缓冲也会引入控制延迟。作为一个明显的滞后的表现为:当您发出命令到您的PC,它的影响会被延后显示在屏幕上。这可能主要是由于本身的VSync问题或在某些系统中由于低显存和三重缓冲需要额外的显存开销而带来的。

不过,看来最近的图形卡和大多数新游戏将无法体验到三重缓冲。鉴于它可以帮助消除撕裂,同时也防止VSync启用时FPS下降的问题,它至少是值得你在你的机器上尝试看看。

顺便说一句,我没有任何令人信服的理由,说明为什么ATI和Nvidia不将三缓冲作为Direct3D设置的标准而纳入其标准图形控制面板选项。目前,如果你想使用D3D游戏三倍缓冲你将不得不使用第三方工具,直到更多的游戏和图形驱动程序到控制面板将其加入其中。

上一篇

下一篇

转载于:https://www.cnblogs.com/mixiyou/archive/2009/12/01/1614230.html

游戏玩家的图形显示设置指南(10)(The Gamer's Graphics Display Settings Guide)相关推荐

  1. 游戏玩家的图形显示设置指南(9)(The Gamer's Graphics Display Settings Guide)

    游戏玩家的图形显示设置指南 (9) 作者:Koroush Ghazi  翻译:芈希有  第九关 图形设置--垂直同步 垂直同步 垂直同步(Vertical Synchronization, Verti ...

  2. 荣耀10 Turbo版将上线发布,游戏玩家欢呼的手游利器

    在6月6日,荣耀新品发布会上,华为消费者业务CEO余承东亲自发布了引发热议的华为"很吓人的技术" GPU Turbo.根据余承东的介绍,GPU Turbo提升了手机软件.硬件之间的 ...

  3. 游戏玩家都不爱 Windows 11?网友:没必要,Windows 10 足矣

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 尽管 Windows 11 的问世伴随着一系列质疑,但今年年初微软官方曾声称:"用户升级 Windows 11 的速度是当年升 ...

  4. 逼死游戏玩家的10大酷刑

    游戏好像总是想方设法的从玩家手里捞取利润,所以就会想方设法的让玩家氪金,在游戏玩家的圈子里面流传着逼死游戏玩家的十大酷刑排行榜. 第1名.游戏托.总有人在游戏里面加你的好友,不断的怂恿你充值充值充值. ...

  5. bada 2D游戏编程之一——图形绘制

    bada 2D游戏编程之一--图形绘制 在2D游戏中,用户见到的画面通常是通过两种方式实现的,一种是图形绘制,就是在屏幕上绘制各种几何图元,如线条和矩形等:还有一种是图像绘制,也就是常说的贴图,游戏中 ...

  6. DeepMind爆发史:决定AI高峰的“游戏玩家”|深度学习崛起十年

    翻译|刘晓祯.沈佳丽.胡燕君.许晨阳.周亚坤 很少有人会否认,过去十年,AI领域最耀眼的明星组织当属DeepMind,没有之一. 那个震动世界的高光时刻发生在2016年3月的一天,AI选手AlphaG ...

  7. Cg教程_可编程实时图形权威指南(扫描清晰版)+部分unity shader 知识

      Cg教程_可编程实时图形权威指南(扫描清晰版) .pdf (34.5 MB, 下载次数: 239) Shader Model(在 3D 图形领域常被简称SM)就是"优化渲染引擎模式&qu ...

  8. 面向游戏玩家的六款最佳Linux发行版

    面向游戏玩家的六款最佳Linux发行版 Linux系统技术交流QQ群(290864)验证问题答案:刘遄Linux就该这么学 导读 Linux过去是完全基于命令行的操作系统,后来它有了基本的图形用户界面 ...

  9. unity敌人面向玩家_面向游戏玩家的五种便捷(免费)Windows工具

    unity敌人面向玩家 Windows is the home of PC gaming, but that doesn't mean it can't use a little bit of rem ...

最新文章

  1. spring源码构建以及模块划分和依赖
  2. MySQL教程(一)—— 数据库设计
  3. 回溯算法解决八皇后_4皇后问题和使用回溯算法的解决方案
  4. Xen Documentation - Hypercall Interfaces
  5. Q109:用PBRT渲染Blender导出的模型 (2)
  6. python公开课乐博学院_乐搏学院VIP36期全栈班学习群 - 乐搏软件教育 - 软件测试 - Powered By EduSoho...
  7. matlab里的svmtrain的输出model里,各参数的含义
  8. myBatis之入门示例
  9. 军用设备环境试验方法高温振动试验标准
  10. TiDB-explain详解
  11. java excel 批注_Java 添加、修改、读取、复制、删除Excel批注
  12. 考研英语单词-近义词分类-Second Day
  13. python标准库os中用来列出_雨课堂答案在哪查,雨课堂2020试题及答案
  14. cad用键盘放大缩小_cad放大的命令多少(CAD的放大缩小快捷键是什么?)
  15. 百变红茶的10种搭配喝法
  16. ssh 连接报错:Unable to negotiate with 192.168.xx.xx port 22: no matching key exchange method found.
  17. C语言经典红白机坦克大战
  18. 使用在线编辑 svg 软件修改 svg 图片
  19. java写键盘鼠标录制器,易语言仿按键精灵录制键盘鼠标操作的代码
  20. 技术管理如何管理,如何构建领导力、构建团队文化

热门文章

  1. 雨林木风系统md5值_除了华为鸿蒙OS系统以外!都还有哪些国产操作系统:好用又美观呢?...
  2. 利用svn的blame功能查出代码的每一行是谁写/改的
  3. [AutoHotkey]mytimer.ahk
  4. 小波变化笔记-Wavelet Tutorial - Part 3
  5. java 线程池 简介
  6. 2021年电工(中级)免费试题及电工(中级)模拟考试题库
  7. Eureka 的 Application Service 客户端的注册以及运行示例
  8. TCP协议疑难杂症全景解析 1
  9. 华为员工详述华为加班内幕 在华为不加班不现实
  10. 【单调栈】 扶桑号战列舰