DX 12 为发烧友打造的 “新功能”!
泡泡网CPU频道9月15日 现今的多GPU游戏开始于DirectX? 9时代,在长寿的DirectX? 11时代变得非常流行。即便如此,许多上市销售的PC游戏没有特定支持到多GPU系统。这些游戏无法体现额外GPU所带来的性能提升,甚至导致性能下降。
第1,我们的 AMD游戏演进计划通过和主要的游戏开发商合作,在游戏和游戏引擎当中支持多GPU,圆满地解决了这些问题。针对那些没有参加AMD游戏演进计划的应用程序,AMD有聪明的软件工程师通过驱动程序更新1,也能让它们支持AMD 交火技术? 。
所有这一切都源自于一个事实,即DirectX? 11 没有明确地支持多GPU,当然,DirectX? 11不会阻碍多GPU配置,但是它对支持多GPU不那么热衷,没有包含相关的工具或者功能。因此,大多数游戏使用了经典的变通办法,即交替帧渲染(AFR)来支持多GPU。
AFR 如何工作
显卡基本上对一系列缓存进行操作,这些缓存包含最终在显示器上显示的渲染结果。在多GPU交替帧渲染模式下,每张显卡将已经完成对帧画面缓冲到队列当中,多个GPU轮流将画面显示到显示器上。
AFR交替帧渲染因为能够提供更高的游戏帧数率而非常受到欢迎,如果新画面能够及时跟进用户看到的当前画面,那么每秒就能获得更多的帧画面。
但是AFR并非没有代价,大排长龙的帧缓冲会增加鼠标移动和反应到屏幕上的角色运动之间的时间差,即游戏玩家所谓的“鼠标滞后”。
第2,DirectX? 11 AFR模式在性能大致相同的多GPU上有最好的性能, DirectX? 11常常无法为非对称配置提供实际的性能好处,这种非对称配置当中,一个GPU性能往往比另一个GPU性能强大很多,性能羸弱的GPU往往无法及时完成它应该渲染的帧画面,因此无法为用户提供有意义的性能提升。
第3,DirectX? 11 当中温和的GPU多线程处理方式,让它无法充分利用到多GPU资源,因为它很难将大型图形工作分割成小块。
隆重介绍“明确支持多张显卡并行工作“功能
DirectX? 12解决了这些挑战,将多GPU支持第一次直接纳入DirectX? 规范,并且有一个名为”明确支持多张显卡并行工作“功能,此功能让游戏开发者精确控制他们引擎的工作负荷,并且直接控制系统中每个GPU提供的资源。这种功能如何在游戏当中使用?让我们来看几个选项。
分割帧渲染
DirectX? 12 引入多个全新多GPU渲染模式,其中包含分割帧渲染(SFR)模式,SFR可以将游戏帧画面分割多个更小的区块,将它们分配给系统中每个GPU进行处理,多GPU并行渲染这些区块,最终将其组合成游戏玩家看到的最终画面。并行使用GPU可以减少渲染延迟,提升游戏帧数率和虚拟现实响应度。
有些人将SFR形容为“两颗GPU的表现就像一颗更强大的GPU,让人非常兴奋!“
花絮: AMD Mantle API在 Firaxis Games出品的《席德梅尔文明:超越地球》游戏当中已经探索和记录了SFR带来的好处。
非对称多GPU
DirectX? 12原生支持非对称多GPU。关于非对称多GPU,我们在前文AFR如何工作一节已经进行了介绍。 这里我们举个例子:一台PC同时内建AMD APU和一张高性能AMD Radeon? GPU。这个例子并非不同于AMD Radeon? 双显卡技术,但是更具典型性和通用性!
借助DirectX? 12支持对非对称渲染,一个引擎可以为系统中每个GPU分配适当大小的工作负载。因此,在 DirectX? 11 游戏当中,因为独立显卡存在而空闲的APU,在DirectX? 12游戏当中可以成为3D协处理器,负责诸如物理或者光照等较小的任务。性能强劲的GPU可以处理3D几何等繁重的任务,整个场景可以合成带给用户,同时兼具更高的整体性能。
4+4=8?
在DirectX? 9和11的世界里,玩家们都习惯了双GPU系统只提供一个GPU的显存容量,这也是AFR渲染模式的缺陷之一,因为AFR要求每个GPU 必须包含完全一样的游戏数据集拷贝,以确保同步,同时防止游戏场景出现 崩溃。
不过,DirectX? 12再次将创新和智慧发挥得淋漓尽致,它没有要求多GPU系统一定要使用AFR,因此,它并不要求每个GPU必须包含完全相同的游戏数据拷贝。这就为在多个GPU之间分配更大的游戏工作负载和数据集打开了大门,让多个GPU将它们的显存组合成一个更大的显存池,这肯定会提升未来游戏的逼真感!
总结
现在让我们看看现实情况,值得指出的是,游戏开发者必须在新一代PC游戏开发过程当中选择这些功能。不是每个功能都会被开发者拿来同时使用,或者在DirectX? 12的生命周期当中立即出现。那些不想立即触碰DirectX? 12的开发者令DirectX? 11还有很长的寿命 。
即便考虑到这些事情,我还是激动于PC游戏的未来,因为开发者已经对“明确支持多张显卡并行工作”功能带来的好处感兴趣,这也是DirectX? 12加入这项功能的原因。所以假以时日,在玩家强烈要求和AMD帮助之下,我们可以让高端PC游戏比以往更加强大和灵活!■