自从DirectX12面世以来,在谁能为新的API和其它特性提供更好的支持这个问题上,AMD和Nvidia从没有停止过争论。其中AMD不断地强调一个优势,即是其GCN对异步计算的完美支持。而就在不久前,Oxide Games的一个员工道出消息说,Nvidia的产品似乎并不支持异步计算,而且当想办法硬要尝试这样做时,带来的结果是性能变得更加糟糕。
不过这里需要明白一个区别,就是AMD和Nvidia两方之前所说的支持异步计算其实在硬件实现上并不是一回事。AMD的GPU内部使用异步命令引擎,它可以在低至一个命令周期的短延时下执行新的任务。一个高端AMD显卡有8个ACE,而每个ACE又有个队列。而Nvidia的Maxwell则只是有两个管路,其中,一个是高优先级图形管路,另一个管路具备31队列深度。而且,Nvidia并不能像AMD一样快速转换任务。
在之前的GDC2015大会上,就有人提到过Nvidia的优先级处理能力上的限制。有一段话是这么写的:Nvidia的GPU只能在绘制调用边界转换情境。在以后的GPU上,将会使用细粒度的优先级,不过这目前还比较遥远。
AMD在首款正式支持DX12的游戏《奇点灰烬》测试中占尽优势
在一些专业论坛比如Beyond3D and Overclock上,一些人就对AMD和Nvidia的硬件进行了异步计算性能测试。不过这些测试只是为了检测产品的延迟特性,并不是整体的性能测试,也就是说只是简单为了看下到底两者是不是具备异步计算的能力。
AMD R9 290显卡测试
第一张图是AMD的R9 290的测试。黄线是最佳参考线,就是GPU即时转换并执行任务的最佳状况。红线是异步执行表现,也就是我们首要关注的,结果表明GCN在多数情形下还是表现理想,即使线程不断增加,它也能保持性能稳定。
Nvidia的GTX 980 TI测试