第 15 章
云端的幻象与现实
2015年E3展的微软发布会上,一段演示视频让全场屏住了呼吸。画面中,一座未来城市的高楼正在崩塌。不是脚本预录的倒塌动画,不是固定点位的爆炸效果,而是整栋建筑的每一个混凝土块、每一根钢筋、每一扇窗户都在独立计算自己的受力、速度和碎裂轨迹。子弹击中承重柱,裂纹沿着力学模型蔓延;火箭弹轰击外墙,数以千计的碎片以各自不同的抛物线飞散。演示者操控着角色穿过这片毁灭的风景,瓦砾在脚下滚动,尘埃遮蔽了视线,而服务器在数百英里外的数据中心里,正实时运算着这一切。
这段《除暴战警3》的演示在那一年的E3上被反复播放。微软的演讲者将它称为“云计算的游戏时刻”,一个本地硬件永远无法实现的壮举。Xbox One的处理器无法负担这种级别的物理模拟,但Azure云可以。
微软的工程师们为此工作了数年,他们的逻辑链条清晰而诱人:如果云端服务器能够承担游戏中最消耗算力的任务——物理运算、光照渲染、非玩家角色的行为逻辑——那么Xbox One相对竞争对手的硬件劣势就不再重要。本地主机只需要处理基础画面输出和输入响应,所有复杂的计算都交给云端完成。这个概念在理论上并非空想。早在Xbox One开发的初期,微软的架构师们就已经在思考一个问题:在这个世代,摩尔定律的减速让每一代主机的性能跃升不再像过去那样显著,而索尼的PlayStation 4在纸面规格上已经占据了明显优势。
如果Xbox One要在性能竞赛中获胜,就必须找到一条不同的路。这条路最终指向了微软最庞大的基础设施资产——Azure云服务。在雷德蒙德的工程会议上,Xbox硬件团队的成员们反复听到一个词:“架构整合”。这不是一个技术术语,而是一个战略概念。
微软拥有游戏主机、操作系统和全球第二大的云计算网络,这三者之间的协同效应,是索尼和任天堂都不具备的结构性优势。如果Xbox One能够成为第一台真正利用云端算力的游戏主机,那么它的竞争对手将不是在和一个硬件盒子竞争,而是在和一个分布式的超级计算机竞争。这个愿景在2013年Xbox One发布会之前就已经在微软内部流传。当时的演示文稿中有一页专门阐述了“云端力量”的概念:一台Xbox One的GPU拥有1.31万亿次浮点运算能力,但通过Azure云,它可以获得数倍于此的算力补充。幻灯片上画着一个简单的图示——本地主机连接到一个巨大的云端图标,箭头指向“无限的可能性”。
但幻灯片不会告诉你延迟是多少。光速是每秒三十万公里,这是物理学不可逾越的硬边界。当一个玩家按下手柄上的扳机,信号需要从客厅传到路由器,经过本地网络、互联网服务提供商的节点、骨干网,最终到达数百甚至数千英里外的Azure数据中心。
服务器完成计算后,结果必须沿着同样的路径返回。整个过程所需的时间,在理想条件下是几十毫秒,在现实网络环境中可能超过一百毫秒。对于回合制游戏或策略游戏,一百毫秒的延迟可以忽略不计。但对于第一人称射击游戏,对于需要实时反馈的动作游戏,一百毫秒意味着玩家感觉到的是一个迟钝的、不跟手的、让人沮丧的体验。人类的神经系统能够在二十毫秒内感知到触觉反馈的延迟,职业电竞选手对超过三十毫秒的输入延迟就会产生明显的不适感。
这是“云端力量”概念的根本矛盾:任何需要实时交互的计算任务,都无法承受网络延迟的代价。而游戏中最消耗算力的部分——精确的碰撞检测、即时的物理反馈、流畅的角色操控——恰恰是最需要低延迟的任务。
云端可以处理那些不需要立即反馈的计算,比如大型多人在线游戏中服务器端的逻辑同步,或者异步的背景任务。但它无法替代本地硬件完成核心游戏循环中的实时运算。这个矛盾在微软内部并非没有被讨论过。
据参与过早期技术评估的工程师回忆,当“云端辅助运算”的概念第一次被正式提出时,会议室里就有人举手提出了延迟问题。答案是:可以通过预测算法和本地缓存来弥补。理论上,如果云端能够提前计算出可能的物理状态变化,并将结果预先传输到本地,那么当玩家真的触发这些事件时,本地主机就可以立即调用缓存的结果,从而消除延迟。这个答案在理论上成立,在实验室的受控环境中也取得了一些令人鼓舞的数据。
但实验室不是客厅,受控的网络环境不是真实的互联网。在现实世界中,玩家的网络连接质量千差万别,从光纤宽带到移动热点,从稳定的低延迟到间歇性的丢包。一个依赖云端实时运算的游戏,在演示中可能完美运行,但在成千上万种不同的网络条件下,它的表现将变得不可预测。而不可预测性是游戏设计的大忌。
当《除暴战警3》在2015年E3上展示那个惊人的物理破坏效果时,它实际上是在一个极优化的网络环境中运行的——很可能就是发布会现场与Azure数据中心之间的直连线路。
观众们看到了瓦砾飞溅、高楼倾覆,但他们没有看到的是,支撑这一切的网络条件在普通家庭中几乎不可能复现。
另一个问题正在第三方开发商的办公室里悄然浮现。Xbox One的系统级芯片设计,从一开始就承载着多重使命。微软希望这台主机不仅仅是一台游戏机,而是一个综合性的家庭娱乐中心。它要能播放蓝光电影,要能接收电视信号,要能同时运行多个应用程序,还要支持Kinect 2.0的持续语音和手势识别。这些功能都需要在系统资源中占据固定的份额,而不能全部让渡给游戏。
为了实现这些目标,微软的芯片架构师们在设计Xbox One的处理器时做出了一个关键选择:使用嵌入式静态随机存储器来作为GPU和主内存之间的高速缓存。这个被称为ESRAM的组件,理论带宽可以达到每秒204GB,远高于系统主内存DDR3的每秒68GB。设计思路是,开发者可以将最频繁访问的数据放在ESRAM中,从而弥补DDR3带宽不足的缺陷。
但这个设计给开发者带来了一个索尼PlayStation 4上没有的负担。PS4使用的是8GB的GDDR5统一内存,带宽高达每秒176GB,而且全部对游戏开放。开发者不需要考虑数据应该放在哪个内存池中,不需要手动管理不同速度的内存之间的数据搬运。他们只需要写代码,硬件会自动处理剩下的事情。
在Xbox One上,情况完全不同。ESRAM只有32MB,而主内存是8GB的DDR3。开发者必须自己决定哪些数据需要这32MB的高速缓存,哪些可以放在较慢的主内存中。如果判断失误,GPU就会频繁等待数据从主内存搬运到ESRAM,导致帧率下降。即便判断正确,管理这个过程本身也会消耗额外的CPU周期和开发时间。
对于微软的第一方工作室,这不是一个问题。他们有足够的时间和资源来深度优化,有来自硬件团队的直接技术支持,有动力去挖掘Xbox One架构的每一分潜力。
但对于第三方开发商——动视、育碧、EA这些每年要同时为多个平台开发游戏的公司——这就是一个实实在在的成本。
当动视的开发团队拿到Xbox One和PS4的最终开发套件时,他们面对的是一个清晰的数字对比。PS4的GPU拥有1152个着色器核心,能够提供1.84万亿次浮点运算能力。Xbox One的GPU拥有768个着色器核心,浮点运算能力为1.31万亿次。这是30%的原始算力差距,不是靠优化能够完全弥补的。
更棘手的是内存。PS4的8GB GDDR5统一内存,带宽176GB/s,全部可用。Xbox One的8GB DDR3加上32MB ESRAM,主内存带宽68GB/s,ESRAM带宽204GB/s但容量极其有限。在实际开发中,这意味着跨平台游戏在Xbox One上往往无法以相同的分辨率运行,因为高分辨率帧缓冲需要占用大量带宽,而ESRAM的32MB容量不足以容纳1080p分辨率下的完整帧缓冲数据。动视的工程师们尝试了各种优化方案。
他们将帧缓冲分割成多个区块,分批载入ESRAM处理,然后再拼接输出。这个方案可行,但会消耗额外的处理时间,导致帧率在某些场景下不稳定。他们尝试降低后处理效果的质量,减少动态光源的数量,简化粒子效果,目的都是为了让游戏能够在Xbox One上稳定运行在目标帧率。
最终的结果是,《使命召唤:高级战争》在PS4上以原生1080p分辨率运行,而在Xbox One上只能达到动态分辨率,最高1360x1080,在复杂场景下会进一步降低。对于普通玩家来说,这个差异可能不会在游戏过程中被明显察觉,但对于那些在论坛上逐帧对比画面的核心玩家群体,这是一个不可原谅的缺陷。
2014年11月,游戏发售后的一周内,知名技术分析机构Digital Foundry发布了一篇详细的对比评测。文章附带着高分辨率的截图,将两个版本的画面并排展示。PS4版本的画面清晰锐利,远处的细节一目了然。Xbox One版本的画面在同样场景下略显模糊,某些边缘出现了轻微的锯齿。
文章措辞专业而克制,但结论毫不含糊:PS4版本提供了更好的视觉体验。这篇评测在Reddit的游戏板块被顶到了首页,在NeoGAF论坛引发了数十页的争论,在Twitter上被转发了数千次。截图被反复放大、标记、对比。Xbox One的玩家们感到愤怒和背叛——他们花了同样的六十美元购买游戏,却得到了一个技术上更差的版本。PS4的玩家们则用这些对比图作为论据,证明自己的选择是正确的。
育碧的《刺客信条:大革命》在同一个月发售,情况更加糟糕。这款以法国大革命为背景的开放世界游戏,以其庞大的场景和密集的NPC人群对硬件提出了极高的要求。在PS4上,游戏勉强维持在900p分辨率和30帧。在Xbox One上,分辨率进一步降低到720p,而且帧率在某些场景下会跌到25帧以下。
更讽刺的是,这两款游戏都没有使用任何云端辅助运算。它们是完全基于本地硬件运行的传统游戏,Xbox One版本的表现完全取决于其自身的硬件能力。
微软在发布会上承诺的“云端力量”,在实际的第三方大作中毫无踪影。在雷德蒙德的某些办公室里,工程师们清楚地知道问题出在哪里。Xbox One的硬件架构不是为单纯的游戏性能最优而设计的。它是在一个更复杂的约束条件下做出的妥协——要支持Kinect的持续运行,要为电视和多媒体功能预留系统资源,要控制成本以便在捆绑Kinect的情况下仍能维持一个有竞争力的价格。这些约束条件中的每一个都是合理的,但它们的叠加效应,就是一台在纯游戏性能上明显落后于竞争对手的主机。
Kinect 2.0是一个特别沉重的世代债务。初代Xbox 360的Kinect在2010年推出时取得了超出预期的商业成功,八百万台的销量让它成为了一个无法被忽视的资产。当Xbox One进入规划阶段时,Kinect的继承不是一个选项,而是一个既定前提。微软的管理层相信,体感和语音控制是客厅娱乐的未来,而Xbox One必须成为这个未来的中心。
这个信念让Xbox One的硬件设计背负了一个结构性的成本负担。Kinect 2.0的传感器组件——1080p摄像头、红外深度传感器、麦克风阵列——不仅增加了物料成本,还消耗了系统芯片中本可以分配给GPU的晶体管预算和功耗配额。每一美元花在Kinect上,就意味着少一美元花在提升游戏性能上。
当索尼在2013年2月公布PS4的规格时,这个取舍的代价变得一目了然。索尼的硬件团队在马克·塞尔尼的领导下,做出了一个几乎完全相反的选择:放弃所有非游戏核心的功能,将一切资源集中在GPU、内存和开发者友好性上。PS4没有捆绑摄像头,没有电视整合功能,没有复杂的多媒体中心野心。它就是一台纯粹的游戏机。
这个选择在市场上的效果是立竿见影的。当核心玩家们比较两台主机的规格时,他们看到的不是微软的“家庭娱乐中心”愿景,而是30%的GPU性能差距和更复杂的内存架构。
在游戏论坛上,一个简单的叙事迅速形成并固化:Xbox One性能更差,价格更贵,还强迫你买一个你不想要的摄像头。这个叙事是粗暴的,在某些方面甚至是不公平的。Xbox One的电视整合功能对于某些用户群体确实有吸引力,Kinect的语音控制在家庭环境中也确实好用。
但在2013年那个时间点,决定主机战争胜负的不是家庭用户,而是那些会在午夜排队购买首发主机的核心玩家。而这些玩家关心的只有一件事:游戏性能。
微软试图用“云端力量”来弥补这个叙事劣势。这个策略在逻辑上是自洽的:如果本地硬件确实不如对手,那就用一个对手没有的能力来扳回一局。Azure云是微软独有的资产,索尼和任天堂都没有同等规模的云基础设施。如果“云端辅助运算”真的能够成为现实,Xbox One将拥有一张独一无二的王牌。
但逻辑自洽不等于现实可行。物理法则不会因为商业策略而改变,网络延迟不会因为良好的愿望而消失。
那些在会议室里听起来令人振奋的云计算蓝图,在现实世界的网络环境中撞上了一堵无形的墙。《除暴战警3》的漫长开发周期,最终成为了这堵墙最清晰的见证。
这款游戏在2014年的E3上首次公布,当时的预告片展示了一个被犯罪集团控制的反乌托邦城市,玩家将扮演一名超级特工,使用各种超能力武器来摧毁敌人的据点。云端物理破坏的概念还没有被正式宣布,但微软的发言人暗示,这款游戏将展示“Xbox One的独特能力”。
2015年E3的演示将这个概念推向了巅峰。全场景物理破坏的视觉效果令人震惊,游戏媒体将其称为“真正的次世代体验”。微软宣布游戏将于2016年发售。
2016年,游戏没有发售。微软发布了另一段演示视频,展示了更多的破坏效果,但发售日期被推迟到2017年。
2017年,游戏仍然没有发售。开发团队发表了一篇博客文章,解释说他们需要更多时间来“完善云端物理系统的稳定性和可扩展性”。发售日期再次推迟。2018年,关于这款游戏的新闻几乎从媒体上消失了。
偶尔有传言称,开发遇到了严重的技术困难,云端物理系统在实际网络条件下的表现远不如演示中的效果。有报道称,游戏的本地计算和云端计算之间的同步问题一直没有得到满意的解决。
2019年2月,《除暴战警3》终于发售。距离它首次公布已经过去了五年,距离那个震撼E3的物理破坏演示已经过去了四年。
最终的成品是一个大幅缩水的版本。全场景物理破坏仍然存在,但被限定在一个独立的多人模式中,而且破坏的规模和精度远不如2015年的演示。在主要的单人战役中,破坏效果基本上是脚本化的,与传统的游戏没有本质区别。那些曾经承诺的“每一个混凝土块独立计算”的壮观场面,在最终的游戏中无处可寻。
游戏评测的反应是冷淡的。Metacritic上的媒体平均分停留在60分左右,玩家评分更低。评测者们的批评集中在平庸的玩法、陈旧的设计和与宣传严重不符的技术表现上。
Digital Foundry的技术分析指出,即便在缩水后的形态中,云端物理系统在某些网络条件下仍然会出现明显的延迟和不同步。《除暴战警3》成为了“云端力量”概念最讽刺的证词。它证明了,无论微软的工程师们多么聪明,无论Azure的数据中心多么强大,光速和网络基础设施的现实都无法被克服。那些在实验室里看起来可行的技术方案,在数百万玩家千差万别的网络环境中,注定会崩溃。而在这五年间,Xbox One在跨平台游戏上的性能劣势,已经成为了一个无法忽视的市场现实。2015年的《巫师3:狂猎》在PS4上以1080p运行,在Xbox One上以动态分辨率运行,最低降至900p。2016年的《战地1》,同样的情况再次出现。2017年的《命运2》,PS4 Pro版本提供了接近4K的分辨率,而Xbox One X尚未发售,Xbox One S只能维持在900p。
2018年的《荒野大镖客:救赎2》,在Xbox One X上表现出色,但在基础版Xbox One上,分辨率再次低于PS4版本。每一次这样的对比,都在社交媒体上引发一轮新的讨论。截图被并排展示,帧率曲线被叠加对比,技术分析视频在YouTube上获得数百万的播放量。
对于普通消费者来说,这些对比传递了一个简单而有力的信息:如果你想玩跨平台游戏,PS4能给你更好的画面。
微软试图通过Xbox One X来扭转这个局面。2017年发售的这台中期升级主机,拥有6万亿次浮点运算能力的GPU和12GB的GDDR5内存,在纸面规格上全面超越了PS4 Pro。对于那些愿意支付五百美元的硬核玩家来说,Xbox One X确实提供了当时最好的主机游戏体验。
但Xbox One X的销量只占Xbox One总销量的一小部分。绝大多数玩家购买的仍然是基础版Xbox One或Xbox One S,而这些型号的硬件性能,从2013年起就没有改变过。
对于第三方开发商来说,他们必须为最广泛的基础型号优化游戏,而不是为少数高端型号。这意味着,跨平台游戏在Xbox One生态中的基准体验,始终落后于PS4。
“云端力量”的承诺,加剧了这个问题。当微软的营销团队在2013年和2014年反复强调云端将如何弥补硬件差距时,他们实际上是在暗示玩家:不要只看纸面规格,我们有秘密武器。但当这个秘密武器年复一年地无法兑现时,玩家们感受到的不是期待,而是欺骗。
在游戏开发者大会的闭门讨论中,第三方开发商的技术总监们对Xbox One的ESRAM架构表达了持续的挫折感。一位来自大型发行商的工程师在2015年的一次圆桌会议上直言不讳地说:“我们花在Xbox One版本优化上的时间,是PS4版本的两倍,但最终结果仍然更差。这不是我们的问题,这是硬件设计的问题。”
微软意识到了这个问题的严重性。从2015年开始,Xbox部门内部的技术支持团队大幅增加了对第三方开发商的协助力度。他们派遣工程师到开发商的办公室,帮助优化ESRAM的使用,提供底层代码的修改建议,甚至直接参与移植工作。这些努力在一定程度上改善了情况,但无法从根本上改变硬件的物理限制。
到2016年底,一个共识在Xbox团队内部逐渐形成:这一代主机的硬件劣势已经无法逆转。唯一的出路,是将资源集中在下一代主机的开发上,同时在这一代的剩余时间里,用内容和价格来维持市场地位。
这意味着,微软必须放弃用技术叙事来赢回玩家的幻想,转而依靠游戏本身。这是一个痛苦但必要的转向。
它意味着承认“云端力量”的失败,承认Xbox One的硬件设计在游戏性能的优先级上犯了错误,承认索尼在这个世代做出了更正确的选择。对于一个以技术实力为傲的公司来说,这种承认是极其艰难的。
但在2017年的某个时间点,当Xbox One X的硬件设计工作接近完成时,Xbox部门的领导层开始意识到,下一代主机的竞争将不再由云端承诺或多媒体功能决定。它将回归到最基本的要素:谁能为玩家提供最好的游戏体验,谁就能赢得市场。这个认识,最终塑造了Xbox Series X的设计哲学。但那已经是后话。
在2015年到2017年之间,当《除暴战警3》的开发陷入困境,当跨平台游戏的性能对比截图在论坛上持续传播,当“云端力量”从一个令人兴奋的承诺变成一个令人尴尬的笑柄时,Xbox One正在经历它最黑暗的时期。它的硬件根基从一开始就建立在多重妥协之上,而用来弥补这些妥协的云端叙事,最终被物理法则和工程现实击得粉碎。
在微软雷德蒙德总部的某些会议室里,当初绘制“云端力量”蓝图的工程师们不得不面对一个残酷的事实:他们创造了一个在理论上优雅、在实践中无用的解决方案。它不是被竞争对手打败的,它是被光速打败的。
这就是Xbox One世代留给微软最深刻的教训:硬件工程与内容承诺之间的断裂,不能靠营销叙事来弥合。当玩家按下手柄上的按钮时,他们需要的不是云端的数据中心,而是此时此刻、在客厅的机器里,一个能够立即响应的计算核心。这个教训的代价是整整一个世代的落后。
在2013年11月到2017年11月的四年间,Xbox One在全球销量上始终落后于PS4,差距从最初的数十万台扩大到最终的三千万台以上。这不是一个可以通过价格战或促销活动扭转的差距,而是一个由硬件设计决策、技术承诺失信和市场竞争态势共同铸就的结构性劣势。当Xbox One S在2016年取代了笨重的原版主机,当Xbox One X在2017年以最强劲的主机姿态登场,微软试图用更精美的工业设计和更强大的中期升级来修复品牌的创伤。
但那些在2013年5月21日的发布会后流失的核心玩家,那些在论坛上反复对比分辨率截图的硬核用户,那些在游戏店里被告知“PS4版本画面更好”的普通消费者,已经做出了他们的选择。在这个世代的末尾,Xbox One留给微软的,不是一场可以翻盘的战斗,而是一笔必须偿还的债务。这笔债务将在下一代主机的设计中被反复审视,成为每一个技术决策的反面教材。而偿还这笔债务的唯一方式,就是回到游戏本身,回到玩家最关心的那个问题上:这台机器,能不能让我玩到最好的游戏?
在《除暴战警3》最终发售的那个二月,几乎没有玩家还记得2015年E3上的那个震撼人心的演示。那些曾经承诺的全场景物理破坏,那些曾经被描绘为“云计算游戏时刻”的壮观场面,在最终的产品中只剩下了苍白的回响。在加利福尼亚的数据中心里,Azure的服务器仍在运行,但已经没有游戏在调用它们进行实时物理运算。
那些为《除暴战警3》编写的云端计算代码,最终成为了一个技术演示的墓碑,安静地躺在某个被遗忘的代码仓库里。Xbox One的硬件性能劣势——1.31万亿次浮点运算对1.84万亿次,68GB/s的DDR3带宽对176GB/s的GDDR5,32MB的ESRAM对统一内存架构——这些数字在2013年是技术规格表中的对比项,在2015年是论坛争论的焦点,在2017年已经成为行业共识。而当这个世代结束时,它们成为了一个更宏大叙事的注脚:当一家公司试图用云端来弥补本地硬件的不足时,它不是在创造未来,而是在逃避现在。