Re: [问题] 请教关于PS4性能到什么程度

楼主: cjcat2266 (CJ Cat)   2014-06-16 09:58:05
再怎么好的硬件,没有好好撰写的游戏软件搭配,也是白搭
高档的硬件,也可以因为游戏开发者的没有好好优化
而展现低档次的效能
PC的硬件组合五花八门
其实对PC游戏开发者而言是很辛苦的
(就像Android手机对游戏开发者一样)
唯一能够广为人接受的方式
就是提供各种不同的游戏设定
让玩家调整出最适合自己PC的组态
暴风雪算是很有良心的了
不但针对各种视觉特效提供不同等级的设定
每个项目还有说明文字,告诉玩家各选项是针对什么硬件做调整
他们大可像大部分的游戏一样
简单提供Low, Medium, High三种Graphics Settings选项即可
如同bachelorwhc说的一样
可以把游戏主机当作人家帮你组好的套装机
或许综合性能没有办法比过顶尖的PC
但是由于硬件规格统一
游戏开发者可以针对单一硬件组态而做出最佳的优化选择
主机独占的游戏更不用说
硬件固然重要
但是能够发挥出的效能,完全取决于游戏开发者
DirectX或OpenGL是为了减轻开发者的负担
而设计出的高阶图像API
其中不乏针对硬件指令操作不当的防呆机制
例如还没有绑定shader program就发出绘图指令
DirectX会直接当机加上输出错误讯息
OpenGL则是透过函式回传错误代码
高阶图像API到头来还是需要把高阶的函式呼叫
转换成GPU懂的机器语言代码串流,包成封包喂给GPU
对于开发者固然是方便
但是多了至少一层的抽象层,就是代表效能的损失
顽皮狗不用考虑跨平台,所以可以完全针对PS4的硬件做优化
GPU方面
不使用DirectX或OpenGL这种高阶API
而直接生成GPU的机器语言代码串流封包,喂给GPU
CPU方面
不像PC开发者,无法事先得知总共有几个可用的CPU核心
PS4的CPU核心就是八个,两个被OS占去,所以游戏可用的是六个
顽皮狗的做法是生成六个常驻thread
透过设定CPU核心亲和力,一个thread绑定一个核心
这样可以省去透过OS层来分配thread执行时间的效能损失
每一个thread不停地把工作序列里面的工作提出来执行
这些thread不太会被OS从CPU核心上换掉(因为一个核心就是绑定一个thread)
所以不会有context switch的效能损失
内存方面
对DirectX或OpenGL有经验的人应该知道
如果要建构vertex buffer或texture
需要在main memory先把资料建构好
然后透过高阶API的函式呼叫,把资料复制到video memory
这个两段式的写入,其实是浪费时间,因为写入资料是一模一样的
PC硬件由于可以自行搭配,main memory和video memory通常是分开的
main memory就是大家平常简称的"内存"
video memory则是跟绘图卡绑定的GPU专用内存
PS4是统一规格,所以没有必要把main memory和video memory分开
总共的内存就是8GB,被OS用掉2.5GB,所以游戏可以用5.5GB
这5.5GB是可以CPU和GPU共用的 (unified memory)
CPU建构好vertex buffer或texture之后
只要把指标传给GPU,GPU就可以对这些资料做存取
不像一般PC需要把同样的资料写入两次
PS4相关的硬件组态和其他软件优化重点
可以参考顽皮狗的Jaon Gregory在XXI SINFO的演讲
https://www.youtube.com/watch?v=f8XdvIO8JxE
bachelorwhc也提到了GI (Global Illumination)
我把我所知道的一些GI技术分享一下
如果有学过电脑图学
一开始通常是教phong shading之类的渲染技术
这种渲染方式是所谓的Local Illumination
因为单一个表面,只考虑光源直接对它的照明,而忽略周围环境的影响
所谓的Global Illumination就是把环境的影响也考虑进去
如影子、环境遮蔽、环景反射
说起来容易,但是要在即时运算的速度下运算正确的GI结果是不可能的
连offline render的GI都是用离散的光子模拟的了,更别说即时运算
所以游戏开发者必须用其他方式,做出很像是GI的效果来"骗"玩家
影子基本是必备的GI效果
在low-poly的时代,还可以使用shadow volume这个技术
但是随着现代游戏模型面数的增加,shadow volume也失去了实用性
现在流行的技术是shadow map,比较不会因为模型面数而拖垮效能
然而缺点是影子的品质取决于shadow map的分辨率
分辨率过低的shadow map,就会让玩家看出放大的影子像素
为了避免这个问题,要嘛提高shadow map的分辨率
要嘛对影子进行柔化的后制处理
环境遮蔽(ambient occlusion,简称AO)则是另外一个AAA游戏必备的GI效果
之前也说过了,用离散光子模拟太慢了
现在的主流技术是一开始由Crytech提出的SSAO (Screen-Space AO)
利用Z-buffer周边像素的资讯
来近似每一个像素因环境遮蔽而失去的漫射光量
这是全萤幕的后制特效
所以跟场景上的物件数和面数没有关系
至于环境反射,通常是用一个反射environment map来蒙混过去
拿The Last of Us做例子
大楼的窗户和地上的积水所反射出来的环境并不是真正周遭的环境
而是一个是先准备好的environment map
由于有经过模糊处理,没有仔细观察是不会发现的
有些赛车游戏为了要真的在车身上做出真实环境反射的效果
必须以车身为中心,额外对周围全场景做多次渲染
效能消耗取决于周围环境和模型的复杂度
额外的draw call也是很贵的
最近有一个流行的环境反射"骗术"
是使用含有normal资讯的render target、main render target和Z-buffer
取得每一个像素一次光反射于main render target上的"著弹点"
用这个颜色资讯来模拟一次光反射的效果
这个技术叫做Screen-Space Ray-Traced Reflection,简称SSRR
如同SSAO,此技术为全萤幕后制特效
跟场景上的物件数和面数没有关系
缺点是有时候反光着弹点不在main render target上
这个时候就会出现资料缺乏而反光资讯不完整的瑕疵
但是通常SSRR的反光会做模糊处理,所以玩家不太会注意到
PC版的Assasin's Creed IV就有使用SSRR
嗯...其实我写到后来也忘记我一开始的主题是什么了
就当作是brain dump好了
以上
作者: sugizo0 (台湾鲁蛇)   2014-06-16 10:01:00
(!)我妈问我为何要跪着上PTT...
作者: globe1022 (肉食兔)   2014-06-16 10:04:00
翻译官~翻译官!请求支援....这是哪国语言,看无阿囧rz
作者: eipduolc (松尾健太)   2014-06-16 10:06:00
豪门深似海...
作者: marsdora (CWES)   2014-06-16 10:08:00
???
作者: windfeather (W.F)   2014-06-16 10:08:00
专业推
作者: SHwEE (Boost)   2014-06-16 10:11:00
XD看来多玩本家的游戏就会知道PS4的能耐在哪了是说德瑞克脸上那只苍蝇实在是满厉害的(?
作者: thesky14 (七夜)   2014-06-16 10:13:00
原PO看来是射后不理 不用这么认真拉XD
作者: opoppp (信 X JAPAN得永生)   2014-06-16 10:16:00
推!
作者: Kamikiri (☒☒)   2014-06-16 10:18:00
最近的看门狗室内景也有用到骗术 但不知道是不是同种类感觉骗术是未来趋势(?)
作者: strike519 (嘘我者 宅友也)   2014-06-16 10:22:00
你帮他把期末作业作完了 至少讨杯50岚ㄅ
作者: Hua0722 (引歸殺象吶)   2014-06-16 10:31:00
很多中文字不是吗,怎么看不懂QAQ
作者: b2284446 (滚来滚去~)   2014-06-16 10:35:00
是顽皮狗员工耶!(跪)
作者: crassus7217 (肯德鸭)   2014-06-16 10:36:00
完全看不懂
作者: jetalpha (月迷風影)   2014-06-16 10:38:00
长知识推!
作者: bachelorwhc (单身老王)   2014-06-16 10:39:00
我也跪下来了 竟然是CJ Cat大大
作者: tim971715 (呱呱)   2014-06-16 10:40:00
快推假装看的懂
作者: uyry6 (萝莉是正义 伪娘是真理)   2014-06-16 10:40:00
GTA V 跟 看门狗 是不是窗户反射方法不同 GTA好像是真反射
楼主: cjcat2266 (CJ Cat)   2014-06-16 10:41:00
不可能是真反射,因为真反射意味着每一片窗户都需要^从窗户的角度对整个场景重新做渲染,太贵了不过我也无法回答实际做法是如何,因为我还没有玩...不过Remember Me和The Bureau: XCOM Declassified的地板是真反射,因为只有地板有反射,只需要渲染场景两次缺点是场景主体精致程度就无法冲高,因为要渲染两次如果是整个场景有多个反射体,使用SSRR的机率很高
作者: LOXAERIC   2014-06-16 10:49:00
专业推!!
作者: ggyyggy (L'Arc~en~Ciel Hyde!)   2014-06-16 11:40:00
嗯嗯…说的有道理
作者: Bigcookie2 (ミン)   2014-06-16 12:06:00
不懂装懂中 推
作者: kusanagi7331 (BEAR)   2014-06-16 12:21:00
神人出没快朝拜!台湾之光!
作者: tp950016   2014-06-16 12:23:00
只能推啦
作者: ggBird (ggBird)   2014-06-16 12:30:00
我都看懂,但还是进不了顽皮狗
作者: NakedSnake   2014-06-16 12:34:00
推!
作者: zorroptt (毛毛鼠)   2014-06-16 12:34:00
原来是这样呀 嗯嗯嗯嗯嗯
作者: simongarden (园丁)   2014-06-16 12:36:00
还好我只要负责玩就好了....
作者: mihonisizumi (中原岬マジ天使)   2014-06-16 12:55:00
推 太强了!
作者: XGOAT (不想再孤独的过圣诞节了)   2014-06-16 12:56:00
我是原PO 感谢各位大大愿意花时间解答 虽然专业部分不太懂玩主机比PC省事这原则我一直都在实践 期待顽皮狗大能带来更多神作造福玩家!
作者: mikeneko (三毛猫)   2014-06-16 13:05:00
嗯嗯,跟我想的一样
作者: a83a83cjcj (马马虎虎)   2014-06-16 13:08:00
专业推!!
作者: wjuiahb   2014-06-16 13:14:00
写的真好,我也这样认为
作者: nomorepipe (不管了啦)   2014-06-16 13:18:00
跪了
作者: godrong95 (家暴)   2014-06-16 13:19:00
有神快拜
作者: igarasiyui (かゆい うま)   2014-06-16 13:42:00
请教大大 ICE team有在测试PS4的hUMA是真的吗
作者: wuliou (wuliou)   2014-06-16 13:50:00
我室友问我为什么跪着看PTT
作者: nvidiaxp (风花水月)   2014-06-16 13:57:00
我同事问我为什么流泪了
作者: nightdragen (小二)   2014-06-16 13:59:00
我妈问我为什么要跪着滑手机OTL
楼主: cjcat2266 (CJ Cat)   2014-06-16 14:17:00
ICE team的工作内容保密,所以我不知道他们现在在干嘛..虽然说ICE跟ND使用同个工作空间,但是他们还是待在一个神祕小房间里面,只有吃午餐的时候会出来晃而已话说回来,就算我知道,有Sony的NDA也什么都不能说啊 :/
作者: LOXAERIC   2014-06-16 14:23:00
CPU GPU共用内存其实对于异质运算架构感觉是有满大帮助最近在使用CUDA,有时候光传资料到GPU就占了一堆时间Orz
作者: cash35 (Englishness)   2014-06-16 14:52:00
PS3的设计是主内存与视讯内存分开 360则是共用内存这种设计差异也会影响跨平台游戏的设计吧
作者: chocoboex (肚子肥油三层)   2014-06-16 15:39:00
作者: callmelanpo (陈亨利)   2014-06-16 15:47:00
我居然看得懂= =
作者: Porianesu (微少年)   2014-06-16 16:22:00
完全看不懂 不过看到大神id只能推了orz
作者: sthho (sthho)   2014-06-16 16:52:00
看到神id推
作者: ivan4161 (弱的人容易被喜爱)   2014-06-16 17:07:00
太猛了
作者: yuyuliu (宁静)   2014-06-16 17:14:00
看不懂没关系,只要会玩游戏就好
作者: chigo0123 (杰尼斯琦)   2014-06-16 18:31:00
看到最后,脑中一直浮现尘土记,真的是长知识了
作者: olddadwind (阿仔)   2014-06-16 18:50:00
有神快拜
作者: dimrain (有点怀念伦敦)   2014-06-16 18:53:00
原以为是老梗PC和CONSOLE战文结果却是专业神回复讨论串
作者: realfade (Re)   2014-06-16 19:17:00
双腿不自主的跪下来了 这篇文跟台科学生证差不多......
作者: dukemon (dukemon)   2014-06-16 19:23:00
这篇请M吧...
作者: ivan761016 (小易)   2014-06-16 19:25:00
还没看内文看到id就跪一半了
作者: chiyosuke (知夜介)   2014-06-16 19:37:00
(拜
作者: angus4003 (永远立志)   2014-06-16 20:55:00
认真分析推
作者: shark0321 (这就是人生啊)   2014-06-16 21:57:00
推专业大大专业回文,专有名词都看不懂..
作者: arty (阿宏)   2014-06-16 22:29:00
长知识了 推推!
作者: h51206yk   2014-06-16 22:58:00
专业推
作者: CrazyMika (溺汨客)   2014-06-16 23:06:00
专业推~
作者: topless (来首查特贝克吧..)   2014-06-16 23:14:00
专业推~~~
作者: CALLING (Hideki)   2014-06-16 23:57:00
看不懂 但有道光
作者: talan (---)   2014-06-17 00:15:00
虽然能进顽皮狗的程式设计师都一定很强但想知道Corrinne Yu是不是真的如传说中那么神
楼主: cjcat2266 (CJ Cat)   2014-06-17 00:19:00
不太清楚,我跟她唯一的交集是一起吃过一次咖哩饭XD
作者: talan (---)   2014-06-17 00:21:00
她会说中文吗 听说是香港出身的?
楼主: cjcat2266 (CJ Cat)   2014-06-17 00:25:00
从她的英文口音听起来,英文的确不是她的母语所以应该会说中文没错,虽然我本人没听过就是了...ND华人不少啊,周三有华人外食团,当然会有非华人乱入就我所知,美术有一个台湾人,ICE也有一个程式部门就我一个,剩下还有没有不清楚,之后慢慢找...顺带一提,周二是程式部门的咖哩外食团,据说这个传统已经实施了十年了...每周二都去同一家日式咖哩店说实在的,House牌的佛蒙特咖哩块还比较好吃不过我也不好意思一语道破,毕竟这是超过十年的传统...我也不知道为什么他们那么爱吃,有一次一周还去四次
作者: talan (---)   2014-06-17 00:33:00
推 很有趣的内幕花絮 希望多听一点 XDDD
作者: igarasiyui (かゆい うま)   2014-06-17 00:33:00
HOUSE wwwwww
作者: LOXAERIC   2014-06-17 00:42:00
吃咖哩XD 一周连续吃4次感觉好腻..
作者: llwopp (hotdogroll)   2014-06-17 00:44:00
大概外国人比较少吃到东洋的食物 感觉很神奇吧 XD
作者: zerosaviour (........)   2014-06-17 01:29:00
推一下认真的顽皮狗台湾人
作者: OGoTTe (A君)   2014-06-17 01:40:00
来朝圣一下Orz
作者: fhjqwefs (Kenshin)   2014-06-17 08:43:00
有神拜就对了
作者: sisik (sisik)   2014-06-17 10:22:00
ICE team的任务不就是打造第一方专用引擎,这之前就有透露了不需要保密.
作者: LonelyLove (傲然与懦弱)   2014-06-17 10:23:00
朝圣...
楼主: cjcat2266 (CJ Cat)   2014-06-17 10:41:00
我指的是ICE详细在做的事情
作者: sisik (sisik)   2014-06-17 10:49:00
PS4的专用引擎吧? 从之前的访谈推测.若SONY自己提供PS4的专用引擎给第三方用,第三方就不用被游戏引擎商抽一笔费用,与其被游戏引擎商抽,不如由SONY抽,这样搞限时独占也容易.
作者: Aqery (脑残巨婴没药医)   2014-06-17 13:32:00
有神快拜 XD
作者: bimmer3   2014-06-17 14:16:00
m(._.)m
作者: saedn (~自挂东南枝~)   2014-06-17 15:52:00
这篇好强大!! 太厉害了!! (跪)
作者: HolyBugTw (HolyBug)   2014-06-17 16:46:00
为什么是绑定thread而非process?啊,白问了,access memory...
作者: Zsanou   2014-06-17 18:11:00
专业推
作者: cjodagiri (cjyang)   2014-06-17 20:00:00
我妈问我为什么要跪着上大号
作者: cocowing (wing)   2014-06-17 21:49:00
太专业了!
作者: Kamikiri (☒☒)   2014-06-17 23:47:00
有点好奇怎么跪着上大号 有真相吗?
作者: forgenius (否鸡)   2014-06-18 00:56:00
我比较想问...为什么你上大号你妈会进来...
作者: KirinP (KirinP)   2014-06-18 05:57:00
(跪
作者: MACROSS2K (MACROSS2K)   2014-06-18 08:23:00
好强大
作者: nfsong (圖書館我來了)   2014-06-21 12:02:00
m(._.)m
作者: darkhit (K')   2014-06-21 18:51:00
专业~(跪)

Links booklink

Contact Us: admin [ a t ] ucptt.com