帖子详情 您在阅读帖子内容并对帖子进行投票之后,可发表回复。

微软在天蝎座时代的黑科技:内置硬件加速的DX12指令处理器

分享到: 分享到QQ  分享到Twitter
作者:kideny    访问次数:1437    投票总数:2   
创建时间:2020-02-25 12:31:17   

下一代的XboxSeriesX即将在2020年圣诞节期间上市,我一直跟朋友们说XboxSeriesX将会是历史上最为梦幻的游戏主机。当我们赞叹次世代Xbox的强大时,我们要认识到XboxSeriesX成为梦幻主机,实际上源自XboxOneX天蝎座时期奠定的基础。为什么这么说呢,这里就不得不提到天蝎座架构当中微软的一项鲜为人知的黑科技:硬件加速的DX12指令处理器。请大家记住,技术名词当中带有硬件两个字的,一般都很牛逼。比如说XSX时代的,硬件加速的光线追踪,SSD硬件解压缩等技术。

 

微软的黑科技始于XboxOne

 

EuroGamer在2017年DF被邀请去Xbox总部,并发布天蝎座的技术预览视频后,没多久就发表了一篇文章,更加详细的描述了事情的经过以及后期微软对这件事情的回应。链接地址是:https://www.eurogamer.net/articles/digitalfoundry-2017-project-scorpio-tech-revealed

 

在EuroGamer的这篇文章发布后, 微软的安德鲁·古森(Andrew Goossen)一直在与外界联系,以澄清在硬件级别上对DX12的支持实际上也是现有Xbox One和Xbox One S的一部分。要知道XboxOne是2013年底发布的,而DirectX12是2014年发布的,真正面世则要等到2015年底。初代XboxOne在硬件层面上对DX12的支持,肯定不是那么强。但是,对于支持DX12的XboxOne游戏来说,也能以1.4T的性能实现跟1.8T的PS4同样的分辨率。对于没有优化能力或者不愿意为Xbox做优化的第三方厂商来说,那就没办法了。

 

从时间上来估算,从2014年发布DX12,到2017年发布天蝎座。微软应该在天蝎座硬件集成DX12这个技术方面,投入了有3年之久。

 

关于Andrew Goossen的趣事:从业30年的老研究员了

 

这里要补充一下,关于Andrew Goossen这个人。这为大神加入微软公司近30年,推特不给人看。根据领英网站的资料显示,30年来他在微软的职位一直都是技术研究员。但是,每次新世代的Xbox发布,都是这哥们带着少数几家技术媒体做技术预览,像外界展示Xbox的最新技术。

 

天蝎座在游戏机历史上首次实现:硬件加速图形API

 

2017年,DF数毛社曾经在天蝎座上市前被邀请去微软提前预览了天蝎座的一些技术。DF做了一期天蝎座的节目,在DF数毛社的节目中就披露了一些天蝎座的技术架构。其中我认为最为重要的一项,奠定了Xbox在架构上的性能优势最为重要的一项技术就是:天蝎座的SoC内部集成了高完成度的硬件加速DX12指令处理器。

 

硬件集成DX12指令处理器意味着可以让GPU以超高效率和CPU进行通讯。处理GPU的draw calls(绘图指令,即告知GPU该去处理啥的指令),是一项很占CPU的活计。过去一条管线的draw call可能需要几千条的CPU指令来操作,甚至是几十万条。但现在只需要11条指令、9次状态切换就可以了。这极大的减轻了CPU的负担,也提高了GPU的绘图效率。你感受一下这个数量级上的差别。

 

但是最关键的是:这一改动对于开发者来说是透明的,也就是说他们不需要做什么修改,就可以让现在的DX12游戏利用上它所带来的优势。这也是为什么天蝎座后期,第三方原生4K游戏,甚至60帧的游戏那么多的原因。微软已经把饭都给你送到嘴边上了,第三方再不给力就说不过去了。

 

本来天蝎座6T的浮点也不算太高,但是因为硬件层面内置DX12处理器,导致CPU和GPU性能都大幅提升。在PC的主流分辨率还在1080P的时代,天蝎座上原生4K的游戏已经非常多了,就足以证明这个黑科技的厉害之处,甚至很多游戏都已经能跑到4K/60帧了。要知道,哪怕是到了2020年,索尼的PS5在10T的性能下,甚至部分游戏也只有4K/30帧。

 

Eurogamer的文章中关于DX12指令处理器的描述部分原文翻译

 

However, potentially the most exciting aspect surrounding the CPU revamp doesn't actually relate to the processor blocks at all, but rather to the GPU command processor - the piece of hardware that receives instructions from the CPU, piping them through to the graphics core.

"We essentially moved Direct3D 12," says Goossen. "We built that into the command processor of the GPU and what that means is that, for all the high frequency API invocations that the games do, they'll all natively implemented in the logic of the command processor - and what this means is that our communication from the game to the GPU is super-efficient."

Processing draw calls - effectively telling the graphics hardware what to draw - is one of the most important tasks the CPU carries out. It can suck up a lot of processor resources, a pipeline that traditionally takes thousands - perhaps hundreds of thousands - of CPU instructions. With Scorpio's hardware offload, any draw call can be executed with just 11 instructions, and just nine for a state change.

"It's a massive win for us and for the developers who've adopted D3D12 on Xbox, they've told us they've been able to cut their CPU rendering overhead by half, which is pretty amazing because now the driver portion of that is such a tiny fraction," adds Goossen.

 

但是,围绕CPU改造的最激动人心的方面实际上可能与处理器块完全无关,而与GPU命令处理器有关-GPU命令处理器是从CPU接收指令并将它们通过管道传输到图形核心的硬件。

 

微软的安德鲁·古森(Andrew Goossen) 说:“我们实质上是移动了Direct3D12。” “我们将其内置到GPU的命令处理器中,这意味着,对于游戏执行的所有高频API调用,它们都将完全在命令处理器的逻辑中实现-这意味着我们从游戏到GPU的通讯非常高效。”

 

处理绘图调用-有效地告诉图形硬件要绘图的内容-是CPU执行的最重要任务之一。它会占用大量处理器资源,而该管道通常需要数千(甚至数十万)条CPU指令。利用Scorpio的硬件卸载功能,只需11条指令即可执行任何绘制调用,状态更改只需9条指令即可执行。

 

“对于我们和在Xbox上采用D3D12的开发人员来说,这是一次巨大的胜利,他们告诉我们他们已经能够将CPU渲染开销减少一半,这非常了不起,因为现在其中的驱动程序部分是很小的一部分。”

 

英文版里有这么一段话: When a game using D3D12 starts up, we reprogram the GPU's Command Processor front-end.

翻译过来就是:当一个游戏使用DX12启动,我们重新编写了GPU的前端命令处理器。

 

天蝎座并不在意Ryzen内核 

 

EuroGamer的文章中还有这么一段话:那么,需要明确一点:天蝎座项目没有Ryzen内核,但是Xbox团队对此并不那么在意。Kevin Gammill指出:“在CPU方面,我们仍然可以通过进行自定义更改来达到设计目标。” “归根结底,我们仍然是一种消费产品。我们想达到消费者想要购买的价格点。这是平衡两者。”

 

Zen1的IPC相较于美洲豹提升了有30%,而Zen2的IPC则提升了15%。微软通过硬件集成DX12,将效率提升了100%,甚至更多,已经超过两代Zen的性能提升。这就是为什么天蝎座并不在意Ryzen,他通过游戏机架构的升级,弥补了数代CPU的性能差距。

 

回过头来说,Sony的PS5使用的是RDNA1代加上部分RDNA2的特性,这就好理解,为什么PS5游戏的分辨率和帧数与天蝎座处于同一水平了。

 

对比PC和PS5,了解XboxOneX天蝎座的真实性能

 

在分析了这么多以后,你一定想简单明了的知道,天蝎座的真实性能到底是怎样的。虽然CPU都是X86架构,但是从天蝎座开始,游戏机的架构与通用计算机已经产生了很大的区别。这一代XboxOneX天蝎座,可以说彻底和传统的X86 PC架构拉开了性能差距。核心就在于SoC内部集成了DX12指令处理器。过去由软件执行的图形API,转变为由硬件加速,效率翻了一倍以上。由于AMD的显卡和NVIDIA的显卡在架构上不同,NVIDIA的执行效率还要比AMD的更高,所以我们可以根据游戏的实际表现来评判天蝎座的真实性能。

 

如果是AMD平台的,效率则提升一倍以上。天蝎座的6T浮点约相当于AMD 16nm显卡12T浮点的效率,正好与14nm的VEGA64 12.7T浮点相差不多。两者在4K游戏下的表现,基本都在30帧左右。经过特殊优化的Xbox游戏,可能帧数会比VEGA64要高一些,能够达到60帧。

 

 

如果是NVIDIA平台12nm的RTX系列,效率提升约在20%之间。6T浮点运算能力的天蝎座,分辨和帧数与7.2T浮点运算能力的RTX 2060 Super一致,你也可以看作与2060Super帧数几乎一样的RTX 2070。

 

另外我要强调的是,天蝎座整机的功耗玩战争机器5这种大型3A游戏,也不到130W。而RTX 2060 Super光一张显卡的TDP,就有175W。VEGA64更牛逼,功耗接近300W。

 

虽然天蝎座与这两张显卡的性能表现持平,但是毫无疑问,天蝎座的执行效率会更高。当然,PC架构在画质细节上也会好一些。综合来讲,两者基本打平吧。

 

XboxSeriesX集成更为强大的DX12指令处理器

 

美洲豹那么垃圾的CPU在微软Xbox的黑科技加持下,3A大作都能跑到4K/60帧。那么XboxSeriexX跑到8K/60帧,我是一点都不奇怪。所以说,XboxSeriesX将会是梦幻主机,而XboxOneX天蝎座正是梦幻的开始。

 

XboxSeriexX在天蝎座架构上进一步扩展了DX12指令处理器,把光追和机器学习的API,也集成到DX12指令处理器当中。毫无疑问,硬件级别的加速将使XboxSeriexX拥有最高效率的机器学习和光追性能。在光线追踪和通过机器学习进行AI补帧的执行效率方面,碾压同时代的PC架构和PS5架构。而这一切,都源自于天蝎座时代奠定的架构基础。

 

其他厂商能否实现同样的架构

 

有朋友问我,微软的架构这么牛逼,索尼能做到吗?还有人问我,同样是X86的架构,微软的黑科技真的这么牛逼?我的观点是,天蝎座的架构可能只有微软能实现,全世界任何其他公司都无法单独实现这一架构。

 

硬件级别集成图形API,需要三个要素同时具备:

 

第一:操作系统完全掌控,游戏机在执行游戏的时候,不要再去执行操作系统自带的图形API。这一点索尼是可以做到的,因为操作系统是开源的,能够自己修改。

第二:图形API完全掌控,索尼的PS采用Vulkan这一开源的图形API,并不完全掌握。如果在硬件集成Vulkan以后社区修改了Vulkan,那么很容易就会修改后的图形API和硬件加速器不兼容导致Bug。

第三:AMD这样的SoC供应商配合下,将图形API移动到GPU里。只有微软和AMD这样的合作关系,说白了就是多花钱请AMD帮忙呗。这一点索尼也能做到,可惜就差图形API不能自主掌握了。

 

以上这三点,纵观地球上的其他任何技术公司,似乎都无法单独做到。哪怕是AMD配合你,也很难。微软在这个技术方面,恐怕要长期垄断下去。换句话说,相同浮点性能下,Xbox架构在性能方面要始终比PS架构强50%以上,比PC架构要强100%以上。这就是为什么PS5的10T浮点,竟然在分辨率和帧数方面和6T的天蝎座一致。两者架构不同,导致效率刚刚好差了50%。

 

DX12和Vulkan性能表现没有区别

 

这篇文章发出去后,有一些朋友在没有详细阅读我的文章之后,在网络上散播微软的DX12如何牛逼,如何黑科技。这里我要补充一下,先辟谣一下。我的文章里讲的是,硬件加速的DX12指令处理器。DX12图形API ,不等于DX12指令处理器。天蝎座的黑科技是,DX12指令处理器,而不是DX12图形API。

 

很多测试数据表明,Vulkan和DX12图形API,在PC端性能几乎一致,没有什么区别。

 

我的总结

 

最后再说一点,这个黑科技导致天蝎座时代,索尼在机能上被吊打。没有原生4K游戏,画质落后一个时代。如果索尼不能在PS5以后的游戏机当中内置Vulkan的处理器,那么毫无疑问Xbox将会继续在机能方面保持绝对的领先。。。经过了XboxOne时代机能弱势导致的惨败,微软的黑科技可能要在性能方面世世代代吊打索尼了。。。Oh,My God。

 

参考资料:

 

官方DX官方博客,2014年8月12号:《DirectX 12 – High Performance and High Power Savings》

 

 

帖子投票

名称 是否有价值
kideny
BigLoser