DX12/Vulkan API开销测试:RX 480/GTX 1060谁更好?
时间:2023-03-06 04:36:44
在2013年Hawaii核心的显卡发布会上,AMD还宣布了Mantle优化,它优化了底层API效率,提高了GPU性能,最终可以简化游戏开发、提高游戏性能。
尽管Mantle最终还是被放弃了,但Mantle的问世某种意义上影响甚至推动了DX12及Vulkan两大API的发展,也算是死得其所了。
现在越来越多的游戏从DX11转向DX12或者Vulkan,显卡及驱动也早做好了准备,3DMark上月底又发布了API开销功能更新,现在已经同时支持DX11、DX12及Vulkan的API开销测试了,那底层API优化会影响玩家们如何选择显卡吗?比如RX 480 8GB与GTX 1060 6GB这对冤家?
根据3DMark官方所示,API开销功能实际上只是用来对比同一系统下三种API的性能差距,这并不是一个通用的GPU性能测试,不应该用来对比显卡性能(因为它实际上API测试,而非硬件测试)。
不过AMD、NVIDIA的显卡在不同API下确实有不同的表现,这多少也会影响玩家的选择,所以测试一下还是有必要的。
对于不同API下不同显卡的表现,韩国Bodnara网站就做了详细的测试,对比的主要是RX 480 8GB及GTX 1060 6GB显卡。我们先来看看不同的API对GPU应用有什么影响吧。
这张图是GTX 1070显卡、Ryzen 7 1800X处理器下的GPU占用率曲线图,从左到右分别是DX11 ST单线程、DX11 MT多线程、DX12、Vlukan下的GPU占用率,可以看到DX11 API下,GPU占用率都没超过30%,但在DX12及Vulkan下GPU占用率接近100%——GPU占用率越高,说明对显卡的利用越充分。
此外,从图中也可以看到DX12与Vulkan的一些不同,DX12中GPU占用率是有个爬坡过程的,而Vulkan下GPU占用率很快就上去了。
API开销性能测试中他们对比的是RX 480 8GB、GTX 1060 6GB FE,驱动分别是Radeon software Crimson Relief Edition 17.2.1、GeForce 378.66,处理器是Ryzen 7 1800X、DDR4-2933 8GB*2、技嘉AX370 Gaming5主板及Windows 10 RS1 x64系统。
在DX11下,虽然GTX 1060、RX 480基数都很低,但GTX 1060领先后者35%,性能差距明显,但在DX12、Vulkan低级API下双方的差距缩小,Vulkan下GTX 1060领先幅度减少到13.8%,DX12下甚至被RX 480反超,被后者领先6.5%。
此外,DX11下有ST单线程、MT多线程之分,不过MT多线程效率也很差,并没有性能提升,而DX12、Vulkan差不多是DX11的10倍多,效率提升之大可见一斑。
换算成效率百分数就更明显了,DX11下ST、MT都可以看作100%,GTX 1060在DX12、Vulkan下分别是951%、1136%,而RX 480在Vulkan、DX12下分别是1353%、1447%。
这里的测试中对比的是CPU核心/线程对API开销的影响,将8C/16T的Ryzen 7 1800X降成了4C/4T处理器,模拟主流四核处理器对API开销的影响。
从16线程降到4线程只剩下1/4的线程,DX11下影响不大(因为DX11的多线程根本就是摆设),不过DX12及Vulkan的API开销就受到影响了。这里要说一下原文这里的表格做的其实并不太好,应该把8C/16T、4C/4T的成绩做到一起才方便对比。
之后他们又换了Ryzen 7 1700处理器,其3.0-3.7GHz的频率要比1800X的3.6-4.0GHz低不少,所以对比的是CPU频率对API开销的影响。
从这张图可以看出相比CPU核心/线程数,Ryzen 7 1700的频率差异对性能的影响微乎其微,并不会成为瓶颈——估计这跟两者的频率其实并没有拉开实质性差距有关,毕竟本身频率都已经够高了。
汇总这些测试结果,原文还给出了一些购买建议:
如果玩家的CPU比较强(从这里的测试来看应该是只8线程或者8核16线程这种),那么DX12下建议选RX 480,Vulkan下建议选GTX 1060。如果CPU性能稍次一些,那么GTX 1060在DX12、Vulkan都能受益良多。(测试中从16线程降到4线程,RX 480在DX12下从领先又变回落后GTX 1060了)
PS:以上建议是Bodnara针对API开销测试来说的,不过API开销只是个专项测试,实际上并不能完全代表DX12、Vulkan下的游戏表现,真正选择哪款显卡要考虑的因素比这个更多更重要,所以原文的建议只供参考。