标题: 转帖:技术文 Xbox One的架构 [打印本页] 作者: dddog 时间: 2013-9-26 04:11 标题: 转帖:技术文 Xbox One的架构
posted by wap, platform: iPhone
纯技术文:摆事实,讲道理,说说 Xbox One 的系统架构
新闻来源:Eurogamer
离次时代主机发售只有两个月的时间了,在游戏还没有发售的现在想必很多人都已经对于哪台主机更厉害有自己的想法。单单靠比较图像和内存带宽规格可以看出 PS4 完胜 Xbox One,直接甩掉几条街,让人觉得把两台主机摆一块比较各自优点就是一个笑话。两台主机核心都使用同样的 AMD 技术,PS4 的内存和 GPU 更强,但是事情就是简简单单看起来这样么?
自打有不知名的人说 PS4 要比他的对手 Xbox One 强大很多,微软就一直想把事情说明白了。上周二 Digital Foundry 在电话会议上和两位 Xbox One 项目的主要技术人员聊了聊,这两位工程师都一直想有这么一个机会来在深层的技术层面把事情摊开了说说。谈话刚开始不久,这次谈话的主题就确定了:平衡。
Xbox One 的设计原则
微软的一位技术人员 Andrew Goosen 说:“设计一台平衡的主机要考虑软硬件的所有方面,只有把两者结合得平衡才能得到完美的表现。非常高兴能有这次机会和你说说设计问题。现在外面有很多错误的消息,很多人都没有真正明白,我们对自己的设计很有信心。我们认为我们设计的主机非常平衡,性能非常好。我们开发出的东西除了单单处理 GPU 的算术逻辑,还能处理其他的东西。另外我们注意其他的一些设计方面和需求,例如延迟、帧数稳定性、游戏防止被操作系统干扰等。你会看到在系统设计中到处都贯彻着这个主题。
硬件架构团队经理 Nick Baker 补充:“Andrew 说的很好,我们的确想做出一台高性能、高效率的游戏机。新的主机要和现代的起居室风格相容,只有我们把主机做成了一个多媒体硬件,而这个多媒体硬件就是你家的娱乐中心。”
Xbox One 的内存方案
我们已经看到 Xbox One 界面和媒体功能都非常强大,但是重中之重还是游戏,毕竟它是台游戏机。关于 Xbox One 主要有两个争论的地方。第一个是硬件没有 PS4 强大,内存和 GPU 相比之下较弱。两台主机的系统都有 8GB 的内存,索尼选择了速度更快的、峰值带宽 176GB/s 的但是高延迟的 GDDR5,而微软选择了峰值带宽只有 68GB/s 但是延迟小的 DDR3,相比之下差多了。但是这可以通过 ESRAM(增强静态随机存储器)来弥补,带宽峰值可以达到 204GB/s。理论上来说虽然两台主机分配资源的方法是影响主机的一个因素,但是 Xbox One 很明显能够保证系统内足够的带宽。
关于 ESRAM 的争论让设计团队很吃惊。有人还说在 Xbox One 上不好进行开发,还不如自己的上一代 Xbox 360。众所周知 Xbox 360 一直对开发者非常友好。Andrew Goosen 说到:“这些说法让我很吃惊,特别是把 ESRAM 看成是 eDRAM 的进化产物的时候。没有谁会问开发者是否可以在 Xbox 360 上同时获取 eDRAM 和系统内存的带宽,因为本身设计的就是这样。在系统内存和 eDRAM 中的渲染目标缓存、色彩缓存、深度缓存和模版缓存共同作用的时候,我们必须把系统内存中所有的顶点缓存和材质都搁置在一边。Xbox One 上我们也使用同样的原理让 ESRAM 工作。这是 Xbox 360 的完美进化,能够让我们突破原来 eDRAM 上很多局限。”
“Xbox 360 是最容易进行开发的平台,eDRAM 对于开发者们不是很难,但是有时候开发者会说:天啊,如果整个渲染目标都不在 eDRAM 上该多好。所以我们在 Xbox One 上修复这这点,我们可以在 ESRAM 和 DDR3 之间游刃有余,ESRAM 完全整合到了地址列表,开发者可以自由调配。在我看来这是很大的进步,在 Xbox 360 基础上很大的进步。我自己都非常吃惊”
微软其实知道还有一些性能的提升空间,但是现在就开始生产了。Goosen 把这个称作为“时刻在调整的系统”。在制作的游戏可以用来决定如何利用这些可用的提升空间。平衡性对于实际效果表现非常重要。这点在 Xbox One 的身上体现得很好。Nick 的团队做出了一个我们可以检测平衡性并进行相对的调整的系统。
Nick 说:“我们知道我们还有提升的空间,但是在有真正的游戏之前我们不知道该做什么,该提升 GPU 多少?改提升 CPU 多少?在主机发售之前能意识到我们还有提升的空间是很自豪的事,通常情况下应该都在讨论如何降频,我们得到了这么一次机会可以找到我们想进行优化的地方并优化它,对于首发游戏来说能利用这些已知的提升空间进行优化太美妙不过了,Xbox One 的硬件上其实还有额外的计算单元。这个冗余的硬件(零售机上两个计算单元没有使用)可以让我们来调整计算频率和时钟频率支架的关系。”
Goosen 说:“每台 Xbox One 的开发机都有 14 个计算单元,其中两个在零售机上保留了,但是我们可以进行一些测试,如果 14 个都都使用那么比用 12 个好么?如果提升 GPU 的始终频率的话我们会得到什么样的效果?在一些游戏上深度进行测试了之后,我们发现使用 14 个计算单元的效果没有把时钟频率提升 6.6 好。”