每天在说的优化优化到底是什么,节选A9《顽皮狗和它的神海冒险》
以下只是一台相当于7800GTX显卡的PS3的游戏开发一角,性能弱(相对于现在的PC),专有平台,这些是其关键词从中我们只要知道一台专有平台的设备,都需要这么多人,这么投入,花这么多时间去研究,何况我们的开放平台(通用平台确实开发难度小,但问题就是没有人围着我们不同的配置去针对开发!),以及可以看到我们在PC认识到的7800GTX性能和在这样开发下专有平台上的7800GTX有些本质的区别,对自己一直在说的“优化”有个大致的了解
如果没有记错的话,那句著名的“使用了30%机能”的话出自Christophe Balestra,顽皮狗的现任联席总裁之一。取决于你的立场,你可以把这句话理解成PS3潜力巨大或者是PS3难以开发。为此在各个游戏新闻网站唇枪舌剑的玩家不在少数。如何精确的给出这样一个数字来描述游戏使用了主机性能的百分比,确实是一个匪夷所思的问题。后来顽皮狗联席总裁中的另一位,Evan Wells,给这个说法园了场。他的描述更加具体一些:《神秘海域》时,顽皮狗所写的代码只能让PS3 的Cell处理器在大约30%的时间全力运转。想来这多少是拜Cell不对称多核结构的诡异体质所赐。幸好索尼手下有顽皮狗这帮狂热的技术宅,在经过了两年的进一步探索,优化之后,在《神秘海域2》中,按Evan Wells的话说:“Cell处理器至少是100%的时候都在工作了,而不至于像一代那个时候有70%处理器时间闲置。”当然,100%的时间都在工作也未必就是实现了100%的效率,好比你可以一周只工作3天,也可以一周工作7天,但也许这7天时间你其实都在办公室上网。但无论如何那6个SPU不再只是充当啦啦队员的角色了。我们所看到的从一代到二代的巨大进步,和顽皮狗对Cell编程孜孜不倦的优化密不可分。从二代到三代,虽然也有进步,但就不再那样的显著。这一次的进化主要是依赖对程序细节的优化,不光要让Cell 100%的忙起来,还要忙得有效率。顽皮狗曾经公开过一个内部程序员培训的ppt,长达114页的幻灯从理论到实例向招进来的新手们介绍SPU的编程和优化。介绍其中的具体内容既超出了我的能力,我想也超出了99%的读者的兴趣,但我还是想引用一下这个ppt最后的一句话:“Why on earth can’t the compiler do a better job?”
在绝大多数PS3开发者选择对这个做不好本职工作的编译器投降听之任之的时候,顽皮狗选择了手工优化。从下面两张图里,你可以形象的了解在游戏的某个具体时刻,Cell的工作状况和顽皮狗调教SPU的工作量。ICE小组是一个专门负责底层软硬件支持的小组,不制作具体的游戏,只负责核心技术开发和协助。他们和顽皮狗也是在同一栋楼里工作。
还有一些技术上的细节同样体现了顽皮狗对游戏质量的追求。比如HDR和SSAO。这里所需要的智慧和调教SPU不同。对SPU代码的优化是实打实的纯技术,如果一般的“码农”干不了,顽皮狗和ICE的“码神”们可以代劳。而对HDR和SSAO效果的调教更多的是“艺术感”上的追求。《神秘海域2》采用了电影风格的色调映射,来实现更加饱、清晰的暗部,同时避免高光部分的偏色。SSAO是另一个顽皮狗重点微调的效果。SSAO所提供的“地面附着”效果对于光照环境多元而复杂的《神秘海域》系列来说非常重要,同时也可以强化暗部的效果。综合起来,游戏画面的层次感和真实干大大提高。顽皮狗认为这方面的优点大大超过了其带来的诸如景深不连续和“白边”的副作用(这些副作用在3代里非常明显,效果本身也略显过度)。和一般的猜测不同,SPU处理SSAO负担很小。下面是另一张处理器线程分析图,这里只标明了全屏光照和SSAO,你可以看到他们占用SPU的比例。顺便一说,顽皮狗非常不喜欢Xbox360的Gamma曲线。他们认为Xenon的HDR在暗部太过于明亮,而最终的输出曲线对比高过了头。
在合作方面,除了前面提到的ICE,他们还从Insomniac和Guerrilla那里学习triple-buffer v-sync。而在这之前游戏的屏幕撕裂现象要严重得多。
《神秘海域2》中的火车关卡是很多玩家印象深刻的一幕场景。这幕场景背后,顽皮狗付出了很多的辛劳。举两个简单的例子。第一,这是一列真正在运动的有着很多节车厢的火车。你可能觉得这是一句废话。但从程序的角度来说,这是一个巨大挑战。传统而言,将火车做成固定的而让背景卷动是容易的多得方式。而顽皮狗也完全可以把所有火车车厢设计成一个整体。但在实际游戏中,车厢之间是存在真正的牵引关系的。这些机制上的改变极大的增强了玩家体验的真实感。第二,这个关卡直接导致了游戏射击判断程序的全盘推翻重写。原因很简单,原本的程序在弹道计算和目标位置计算之间存在一帧的延迟。《神秘海域2》游戏30帧每秒,当你躲在掩体后面射击的时候,这个延迟当然不是什么大问题。但当敌人跟着火车一起高速运动的时候,这样的延迟足以让玩家无所适从。(一个简单的计算可以告诉你这相当于1~2米的误差,具体数字取决于目标运动的速度和游戏的帧数。)
索尼给PS3打造了一个“机能领先”的形象,然而受限于开发工具的落后和机器构架的“非主流”,玩家似乎很长时间找不到一个能够对得起那宣传中的高高在上的机能的实际的游戏。在这方面,顽皮狗的辛勤付出给索尼带来的积极影响是巨大的。在《神秘海域》的开发中,顽皮狗放弃了之前自己独特的以Lisp为基础GOAL语言,回到了当初因为效率低下而被他们抛弃的C++上。这么做并非因为顽皮狗突然间爱上了C++,而是因为作为索尼新成立的全球工作室的一员,他们必须使用通用的编程工具来保持和其他索尼旗下第一方工作室的交流。如此的改变即使对于顽皮狗这样的天才程序员群落来说也是痛苦的,以至于他们不得不在开发进展到将近一年的时候彻底放弃原先的工具,掉头回来重新建立游戏的引擎。好在成果最终被继承下来,并在随后自己的游戏开发中一再得到积极的验证。有些讽刺的是,索尼曾经试图在第一方范围内推广神海的游戏引擎,最终却发现除了顽皮狗自己,没有其他任何小组能够用的起来。不知道应该说是顽皮狗智商太过超常,还是他们的代码写的太有“创意”。
除了对Cell,顽皮狗也是索尼蓝光政策的积极支持者。《神秘海域3》在游戏制作过程中使用的数据量达到了25000G,游戏曾经一度考虑过使用不止一张的蓝光碟(超过50G)发行。虽然大并不一定意味着好,但就《神秘海域》这个具体的例子而言,顽皮狗塞进光碟的东西(视频,原画,配音等等)基本上还都是物有所值的。《神秘海域》本身也是一个注重演出效果和产品价值的游戏,在音画效果上堆积容量并不算偏离它的特质。游戏也先后支持了六轴手柄和3D电视,游戏一直反复强调标配硬盘对于实现无缝读取的重要性。综合来看,顽皮狗的《神秘海域》是索尼PS3世代当仁不让的第一男模,身上穿戴了所有索尼大肆宣传的PS3 的技术卖点。 舒服的沙发。我顶一下。 神优化靠技术,但是渣优化通常不是没有技术,而是出于种种的原因,没有去做优化
其实和生活中的三百六十行是一样的,做好很难,做烂很简单
你现在的工作能做得更好吗,估计绝大多数人的答案都是“能”,但是你为什么没那样去做呢?因为工作表现太差,可能会失业(特殊行业例外啊),工作表现很好,也未必能多赚多少钱,所以,就这样过了。
游戏的优化也是一个道理,通常都是态度决定能力吧
就像乔帮主虽然天赋异禀,但训练之刻苦也是nba史上数一数二的超级bt 能赚钱才会有优化,越赚钱优化越神{:3_91:} yu0711 发表于 2014-3-25 18:21 static/image/common/back.gif
能赚钱才会有优化,越赚钱优化越神
卡马克说,ps3性能是x360的1.5倍,cod一直都很赚钱,ps3版cod为什么一直不如盒子版,只要玩家肯买单,厂商就乐的偷懒,都是js
wtxwii 发表于 2014-3-25 16:33 static/image/common/back.gif
舒服的沙发。我顶一下。
顶的菊花痛:lol
ps3神海畫面很讚 問題是幀數不爽,至今沒通任何一作(2代玩得比較多章)
我想就是日後ps4新作,為了保證原生1080p+高品質畫面
幀數依然不會高於30 神海2/3我至今还没买呢,赶紧买神海2/3+TLOU年度版拉倒 神海2/3我至今还没买呢,赶紧买神海2/3+TLOU年度版拉倒
有ps3为啥这两个不买呀 emudemo 发表于 2014-3-26 17:13 static/image/common/back.gif
卡马克说,ps3性能是x360的1.5倍,cod一直都很赚钱,ps3版cod为什么一直不如盒子版,只要玩家肯买单,厂 ...
这是因为两台主机的市场定位和购买群体的不同造成的,独占游戏品牌在主机销售上一直有很强的影响力,xbox一直以枪枪枪见长而ps则倾向动作类,这就导致两个主机的购买群体不同,很多ps3玩家对cod不一定感冒,厂家自然也就不费心优化了。 wzzwzzz2 发表于 2014-3-27 23:00 static/image/common/back.gif
这是因为两台主机的市场定位和购买群体的不同造成的,独占游戏品牌在主机销售上一直有很强的影响力,xbox ...
cod在北美是x360版销量领先幅度较大,但是全球销量双版本差距并不大的系列部分全球销量
ps3(万) x360
cod4 640 900
cod5 510 700
cod6 1030 1310
cod7 1210 1400
cod8 1270 1410
cod9 1110 1260
而且几乎所有双版本游戏在画面上都是x360版有优势,就是js抠门,想省钱,不愿意为性能更好但是开发成本更高的ps3版搞优化
敢于迎难而上的基本也就sce自己了,面子工程嘛,不赚钱也要硬上
顶一个,确实现在百度一下的话还有很多小白以为家用机的神优化只是单纯地降分辨率降画质
他们总认为显卡的运算能力就等于实际效果,所以就以为运算能力在7870的ps4,画面就顶多和电脑上7870一样
顶一个,确实现在百度一下的话还有很多小白以为家用机的神优化只是单纯地降分辨率降画质
他们总认为显卡的运算能力就等于实际效果,所以就以为运算能力在7870的ps4,画面就顶多和电脑上7870一样
额,是每一个字都是正解
万恶的输入法
页:
[1]