在底层优化方面,这三家的G P U做得都不错,AMD承诺GCN架构、NVIDIA承诺Fermi及之后、Intel的Haswell及之后架构都可以支持。
异步运算方面值得重点说,A M D、N V I D I A双方已经打过不少口水战了,是目前的热点。从技术上来讲,异步运算是指G P U在运算过程中同时支持图形及计算队列,大家可以把它理解为C P U指令的顺序及乱序执行,异步运算就相当于乱序指令,可以不按顺序处理指令,它支持图形及计算指令混合运算,这样做的好处就是提高效率,进而提升性能。当然,异步运算不仅能让游戏受益,V R应用中也可以受益。
在这两家中,AMD强调他们从GCN架构开始就重视异步运算,这几代架构都做了支持,当然每代G P U支持的混合指令数量并不完全相当,但确定都是支持异步运算的。
A M D强调他们是唯一完整支持异步运算的,言外之意就是NVIDIA或者Intel的G P U不支持异步运算,这在《奇点灰烬》游戏测试中也有过交锋,有一种说法是NVIDIA的GPU功能上是支持异步运算的,但驱动没做好,但这个解释其实很有问题,驱动之前没做好可以理解,但是直到现在也没做好,这恐怕就是有问题了。
对此,我们查阅过相关资料,个人倾向于认为NVIDIA直到Maxwell 1.0架构中都是不能真正支持异步运算的,只能执行纯图形指令,不支持混合指令,Maxwell 2.0架构中可以支持混合指令,但性能较之对手略逊一筹,直到P a s c a l架构中,这个问题可能才得以解决——此前发布新闻中,N V I D I A强调了P a s c a l架构的异步运算性能。
至于Intel核显,在Intel官网可以找到有关MIC众核架构中对异步运算的支持,但目前没证据证实他们的核显是否支持异步运算,对此,个人倾向于认为不支持。
在D X12的几个主要特性中,N V I D I A从Maxwell 2.0架构开始做得确实比AMD好了,并且还支持DX12_1,不过话说回来,DX12_1本来就是可选的,并非强制标准,实际应用中开发者选择什么级别的功能来开发游戏也比较复杂,在这一点上,NVIDIA的领先并不足以击倒AMD,因为后者的GCN显卡也做到了DX12_0支持。
A M D的变数发生在P o l a r i s及V e g a显卡上,也就是GCN 4.0架构,此前A M D并没有公开新架构的D X12支持程度,乐观点看,AMD可能会趁机补足对D X12_1的支持,减少被NVIDIA攻击的弱点,不过真要是不做改动的话,大家也不要惊讶,这也没什么大不了的。
主要的DX12游戏一览
在API层面,DX12_0还是DX12_1的支持其实并没有那么重要,影响用户的还得看DX12游戏,这里简单统计了已上市及未上市但基本确定支持DX12的游戏,虽然这不是所有DX12的列表,但挑选的绝对是目前的热门或者知名游戏。