作者cjcat2266 (CJ Cat)
看板PlayStation
标题Fw: [心得] 游戏的"缩水" 与 TLOUR的平行运算技术
时间Mon Jun 8 09:04:10 2015
※ [本文转录自 GameDesign 看板 #1LTEbu-C ]
不少游戏初期公布的实机技术demo与最终成品有明显画质落差,为什麽?
本文将藉由说明在初期技术展示与最终成品阶段的技术差别,来回答这个问题
顺便介绍一些The Last of Us Remastered (PS4)压榨硬体资源的技术
简而言之:游戏最终成品,通常所需运算资源种类与量,会比初期技术展示多
一个AAA游戏成品在实机执行的时候,运算资源大致分配给以下几项作业
1. 游戏机制(CPU)
2. AI(CPU)
3. 物理(CPU and/or GPU)
4. 动画(CPU)
5. 粒子(CPU and/or GPU)
6. 绘图逻辑(CPU)
7. 绘图执行(GPU)
初期实机技术demo,通常不会有多少1/2,可能会有3
4不会像最终成品消耗CPU与记忆体
所以大部分的运算资源都可以用在5/6/7
不要小看1/2/3消耗的资源量
这几项在最终成品的资源消耗可以占到CPU的50%以上
所以4/5/6/7能够使用的硬体资源(粗估)只剩下初期技术demo的50%
如果在制作初期实机技术demo的时候
把100%硬体资源拿来展现4/5/6/7
那麽後来新加入1/2/3的资源消耗,势必会产生"视觉上缩水"的情况
为了初期吸引观众目光,这几乎是必然的结果
这样是否表示AAA游戏开发者不诚实? 见仁见智
不管是初期技术展示还是游戏成品,硬体资源一定是几乎被榨光的
制作初期demo的时候是否可以估计到之後会额外用到的资源? 非常难
不管是哪家工作室,应该都不想只用50%以下的硬体资源做技术展示demo吧
我个人是有了以上的认知之後
看到初期技术demo与最终成品的画质落差
虽然会失望,但觉得比较可以接受这个事实了
接下来介绍TLOUR的一些压榨硬体资源的技术
之前有提到,Naughty Dog为了从PS3跨到PS4
重新设计了一个平行运算的系统
负责人Christian Gyrling於今年GDC有个专题讲座
强烈推荐给有兴趣的资工领域朋友
影片连结
http://bit.ly/1eX5mb1
投影片连结
http://bit.ly/1HgtGQ9
TLOUR的硬体资源配置,可分为以下三种
1. 游戏逻辑(CPU) 包含:游戏机制、AI、物理、动画、粒子
2. 绘图逻辑(CPU) 生成绘图指令,丢给GPU执行
3. 绘图执行(GPU) 执行2生成的绘图指令
一个单执行序的游戏
1/2/3是串在一起,在同一个frame内线性依序执行的
如果要达到60fps,那1/2/3总共的运算时间就不可以超过16ms
<A方案>
CPU 游戏逻辑 -> 绘图逻辑
GPU -> 绘图执行
|------------------------------|
16ms
PS4有八个CPU核心,有六个是给游戏使用的
把1/2平行化,拆给不同CPU核心执行
如此一来,1/2如果需要总共48ms执行时间,理论上只会用到8ms
<B方案>
CPU1 游戏逻辑1 -> 绘图逻辑1
CPU2 游戏逻辑2 -> 绘图逻辑2
CPU3 游戏逻辑3 -> 绘图逻辑3
CPU4 游戏逻辑4 -> 绘图逻辑4
CPU5 游戏逻辑5 -> 绘图逻辑5
CPU6 游戏逻辑6 -> 绘图逻辑6
GPU -> 绘图执行
|--------------------------------|
16ms
但这还是不够理想,CPU忙的时候GPU闲着,GPU忙的时候CPU闲着
开发AAA游戏的精随就是要最大幅度使用硬体资源啊!
那如果把游戏逻辑在frame0生成的资料,暂存在记忆体
绘图逻辑在frame1的时候用这些资料生成绘图指令,交给GPU绘图执行呢?
把游戏逻辑和绘图逻辑切成小块,交互执行
所以感觉上游戏逻辑和绘图逻辑"同时"在一个CPU核心上执行
<C方案>
CPUn 游戏逻辑n (生成frame1资料)
绘图逻辑n (使用frame0资料)
GPU -> 绘图执行
|-------------------|
16ms
嗯,光是视觉看来,就已经能够更有效率地使用硬体资源了
但是CPU和GPU还是各有自己的闲暇时间,不行!
那如果更进一步,绘图执行使用的资料,是绘图逻辑上一个frame产生的呢?
<D方案>
CPUn 游戏逻辑n (生成frame2资料)
绘图逻辑n (使用frame1资料,生成frame0资料)
GPU 绘图执行 (使用frame0资料)
|-------|
16ms
好了,CPU和GPU已经最大幅度使用,闲不下来啦
这个D方案就是TLOUR使用的技术
缺点就是,画面是GPU使用两个frame以前的旧资料呈现出来的"老画面"
所以TLOUR是有两个frame的延迟时间的
当玩家看到画面上,准心瞄准敌人的头时
从游戏逻辑的观点来看,敌人的头可能已经不在准心下了
TLOUR弹药普遍稀少,为了补偿玩家,在射击的时候
只要在过去两个frame中有瞄准到目标,就算是判定击中
D方案不是唯一解或最佳解,一切端看开发者考量
The Order: 1886采取的方式类似B方案(有将作业切小块和生产线处理)
因为Ready at Dawn工作室明确表态,说不想要让游戏有任何延迟
所以如果他们愿意采用D方案,The Order: 1886可以冲到60fps也不一定?
--
Web
http://AllenChou.net
Twitter
http://twitter.com/TheAllenChou
LinkedIn
http://linkedin.com/in/MingLunChou
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 45.50.175.11
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1433725304.A.F8C.html
※ 编辑: cjcat2266 (45.50.175.11), 06/08/2015 09:02:13
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: cjcat2266 (45.50.175.11), 06/08/2015 09:04:10
1F:→ kuninaka: 头推 06/08 09:05
2F:推 zeroe: 有神快推! 06/08 09:06
3F:推 su43123: 先推CJ大 06/08 09:07
4F:推 kuninaka: 补推 06/08 09:08
5F:推 LonelyLove: 推!! 06/08 09:08
6F:推 ross800127: 技术 06/08 09:08
7F:推 timothy368: 好文推cjcat 06/08 09:09
8F:推 beyonf: 大推 06/08 09:10
9F:推 tn: 射击游戏的话确实FPS是有感的 06/08 09:11
10F:推 aterui: 格斗游戏可能就不行,强手都是用frame来算招的 06/08 09:13
11F:推 lees85878405: cj大出现啦! 06/08 09:13
12F:推 CoolPotato: 看不懂 06/08 09:15
※ 编辑: cjcat2266 (45.50.175.11), 06/08/2015 09:16:02
13F:推 Jetstream: 想额外问一下: 2 frame的误差对什麽类型的影响较大? 06/08 09:17
14F:→ Jetstream: 若像楼上所说的格斗游戏 那要是像文内所说用旧资料判定 06/08 09:17
15F:→ Jetstream: 还会有甚麽问题吗? 06/08 09:18
16F:→ cjcat2266: 应该会有另外一个问题:对手的输入没有马上呈现 06/08 09:19
17F:→ cjcat2266: 会有反应上的延误 06/08 09:20
18F:推 Jetstream: 了解 感谢解答 06/08 09:20
19F:→ ross800127: 格斗游戏场景都不大 角色就两个 06/08 09:23
20F:→ llwopp: 翻译蒟蒻:顽皮狗又要来操爆你的主机了 06/08 09:24
21F:推 chih5505: 推专业 06/08 09:26
22F:推 chiyosuke: 好专业。 06/08 09:28
23F:推 mimoo: 长知识~ 推 06/08 09:33
24F:推 Dasuke: 推 06/08 09:38
25F:推 warren0208: 易懂的解说,谢谢。 06/08 09:46
26F:推 jfmf: 好文 推~ 06/08 09:50
27F:→ llwopp: 借主题PO一张E3会场外秘境4的大型广告 06/08 09:52
29F:推 bill6613: 专业给推 06/08 09:52
30F:推 littleco: 推 06/08 09:52
31F:→ llwopp: 看来就算延到明年 今年E3还是会强打秘境4 06/08 09:53
32F:推 PTTfaggot: 先推再看 06/08 10:00
33F:推 xc332211: 秘境4也是用这技术吗 还是又有更非人类的技术了 06/08 10:03
34F:推 simongarden: 专业文出现了 06/08 10:03
35F:→ blackone979: 商业机密XD 06/08 10:03
36F:推 sunlockfire: Cj猫大 未看先推 06/08 10:04
37F:→ cjcat2266: 基本上我们只允许分享已发售作品的技术,Sorry啦 06/08 10:09
38F:→ cjcat2266: 未发售作品的技术给其他人知道了,这怎麽可以 XD 06/08 10:09
39F:推 STerry1986: 等秘境4出来後,要先把ps4的通风孔清一下 要被操爆惹 06/08 10:12
40F:推 PTTfaggot: 我目前玩到最操主机的是MGSV,期待秘境4更操XD 06/08 10:18
41F:→ cjcat2266: 其实如果都是操到100%左右,烧机程度都差不多啦... 06/08 10:18
42F:推 ggBird: 赞,请问这是实作在engine里吗? 06/08 10:19
43F:推 sunlockfire: Mgsv出了喔?? 06/08 10:19
44F:→ cjcat2266: 如同之前提到的,AAA游戏基本上都是以操到100%为目标 06/08 10:19
45F:→ cjcat2266: 操到100%之後,接下来就要看优化能力了 06/08 10:20
46F:推 Jetstream: MGSV:GZ 会很操主机吗? 06/08 10:20
47F:→ strike519: 1886画面真的很恶心 有二手可以买来玩玩看 06/08 10:25
48F:推 abreakheart: MGS:GZ很偷吃步,你可以试着把小兵弄昏後堆在同一个 06/08 10:31
49F:→ abreakheart: 区域,大概5只以上就会发现有几只小兵被隐形了 06/08 10:31
50F:推 PTTfaggot: 但是我觉得1886的话面一直雾雾的,有点像是柔焦,大概 06/08 10:40
51F:→ PTTfaggot: 是为了省效能所用的滤镜吧? 06/08 10:40
52F:→ Jetstream: MGS:GZ可以用楼上的方法在吉普车上载好几只小兵 06/08 10:41
53F:→ cjcat2266: 没有喔,只要物体没有完全被雾隐蔽,就不可能节省运算 06/08 10:42
54F:→ cjcat2266: PS上的沉默之丘,才是真的用雾在偷吃步 06/08 10:42
55F:→ cjcat2266: 结果後来变成系列作的特色了 06/08 10:42
56F:→ ross800127: ubi : 都不优化随便就100%了啦 06/08 10:58
57F:推 abreakheart: 全景柔化应该是为了盖过锯齿吧? 06/08 10:59
58F:推 serval623: 好专业 06/08 11:01
59F:→ igarasiyui: 1886那种不是仿照电影版的模糊化吗 06/08 11:03
60F:→ cjcat2266: 柔焦的目的通常只是为了美感,消除锯齿自有额外的运算 06/08 11:07
61F:→ blackone979: 柔焦应该反而是增加运算量吧? 06/08 11:09
62F:→ cjcat2266: 没错 :) 06/08 11:10
63F:推 bill6613: 1886在画面跟美术上真的是PS4效能大突破 06/08 11:19
64F:→ bill6613: 希望续作可以把上下黑边删掉 06/08 11:20
65F:推 windfeather: 推专业解说 06/08 11:22
66F:→ windfeather: 但1886就是有上下黑边才榨出更多的资源啊 06/08 11:22
67F:→ windfeather: 如果删掉後续作别说维持水准,可能还会退步 06/08 11:23
68F:推 sx4152: 黑边虽然碍眼 但习惯後就无感 重要的是提升游戏性和主线 06/08 11:31
69F:推 k2233604: 推 06/08 11:42
70F:推 Argos: CJ大推~ 06/08 11:47
71F:推 silomin: 专业的来了 大推 06/08 11:56
72F:→ HolyBugTw: pipeline, hazard, 终究还是这些课题 06/08 12:02
73F:推 sunlockfire: 1886能把故事説完整加上物品收集系统就会变很好了 06/08 12:04
74F:→ sunlockfire: 拿起来看一看又放下是怎样?物件展示XDD? 06/08 12:05
75F:推 peasuka: 专业推 06/08 12:11
76F:推 ggchioinder: 推推 06/08 12:27
77F:→ breast30: 似乎是在某个超宽萤幕的文章看到 用超宽萤幕玩1886 就可 06/08 12:27
78F:→ breast30: 以满画面了 06/08 12:28
79F:→ igarasiyui: 21:9的就可以了 不过选择很少吧 06/08 12:35
80F:推 yushia6666: 外行人想问 为什麽我都感觉不出来TLOU有延迟XDDD 06/08 12:47
82F:推 miayao417: TLOU因为不是开放世界。所以优化到极致後是可以那样 06/08 12:52
83F:→ miayao417: 巫师3比GTAV开放的更夸张。所以优化更难 06/08 12:53
84F:推 a83a83cjcj: 推推 06/08 12:53
85F:→ miayao417: 巫师三一堆怪房子都可以进去点蜡烛 搜刮 对话 06/08 12:53
86F:→ yushia6666: 啊 我懂了 06/08 12:54
87F:→ miayao417: 但是GTAV只有相关的建筑可以进去 06/08 12:54
88F:→ miayao417: 昨天才误闯几栋4层楼的建筑物,里面有蜡烛有宝箱有人 06/08 12:54
89F:推 fe0727: 1886画面很糊玩不太下去,看久眼睛很不舒服 06/08 12:55
90F:→ miayao417: 就是跟任务还有街道一点关系都没有 06/08 12:55
91F:→ miayao417: 巫师3的世界是开放到这样。 06/08 12:55
92F:→ miayao417: 甚至很多悬崖是可以跳岩石跳下去的 06/08 12:56
93F:→ igarasiyui: 杰哥没吃维骨力 看到悬崖跳下去九成机率是找死 06/08 12:59
94F:→ yushia6666: 有点水就不会死 然後可以抓角度骑马跳,但有失败风险 06/08 13:00
95F:→ igarasiyui: 是说骑马时能跳? 06/08 13:01
96F:→ igarasiyui: 我的萝卜看到悬崖只会停住... 06/08 13:01
97F:推 aster515: 2frame的延迟是指1/30秒吗(60fps) 如果是的话其实影响 06/08 13:02
98F:→ aster515: 很小吧? 06/08 13:02
99F:推 yushia6666: 我的理解是 玩家感觉不到延迟 因为我们对看到的画面 06/08 13:08
100F:→ yushia6666: 输入的指令是被认可的0.0 06/08 13:08
101F:→ yushia6666: 在过去两个frame中(我们眼睛看到的)有瞄准到目标 06/08 13:09
102F:→ yushia6666: 就算是判定击中 06/08 13:09
103F:推 kuku321: ACT FTG STG这三种很吃祯数 一个frame就能让人吃土 06/08 13:58
104F:→ kuku321: 还有连线游戏 双方不能接近同步看见双方指令 也是吃土 06/08 13:59
105F:→ kuku321: 其余单机游戏就还好了 06/08 13:59
106F:→ cjcat2266: 其实FPS和TPS的被攻击方,错误容许范围很大 06/08 14:03
107F:→ cjcat2266: 当系统判定攻击有疑虑时,一律偏颇攻击方 06/08 14:03
108F:→ cjcat2266: 因为攻击方如果准星瞄到对方,却没有攻击判定会很明显 06/08 14:04
109F:→ cjcat2266: 而被攻击方较没有 "明明没被瞄到却有攻击判定" 的问题 06/08 14:04
110F:→ cjcat2266: 因为被攻击方无法得知攻击方是不是真的有瞄准到他 06/08 14:05
111F:推 kuku321: 阿 忘了补充 我说的STG是卷轴射击 不是FPS TPS 06/08 14:17
112F:→ kuku321: 不过想了一下单机STG 好像也是没什麽问题的 就拿3frame的 06/08 14:18
113F:→ kuku321: 资料来宽松判断闪避成功与否就好 好像也没太大问题 06/08 14:18
114F:→ kuku321: 虽然STG好像也不会吃效能吃到那样就是了XD 06/08 14:19
115F:→ cjcat2266: 我以为你说的STG是strategy game咧XD 06/08 14:28
116F:推 amazingreg: 不明觉厉 期待下款新作 06/08 14:30
117F:推 kuku321: 没办法 谁叫shooting game已经成为时代眼泪呢XD 06/08 14:43
118F:推 nanaseaoi: cj大安安 06/08 15:35
119F:→ nanaseaoi: 但是三厂都想用硬体辗压,把PS4当泰坦操 06/08 15:36
120F:→ kuninaka: PS4的极限测试软体 06/08 15:41
121F:推 johnnycgi: 让我想起巫师3的缩水一堆人在骂...没人想过开发的难处 06/08 18:36
122F:推 sunlockfire: 话说不是有版友要写信去CDPR问BOSS的造型缩水?? 06/08 18:53
123F:→ sunlockfire: 结果呢?????@@ 06/08 18:54
124F:推 yushia6666: 上面有人发文了 06/08 19:42
125F:→ yushia6666: 更正,下面 06/08 19:43
126F:推 balaking: 推!UBI用的是他们最强的平行外包技术,本业是做影片的 06/08 20:00
127F:推 sunlockfire: 楼上发言我笑了XDDD 06/08 20:18
128F:推 goldman0204: 专业...这我没话说了= = 06/08 22:44
129F:推 zardbz: 长知识 06/09 00:50
※ 编辑: cjcat2266 (160.33.43.15), 06/09/2015 01:02:08
130F:推 Chihuah: 感谢! 清楚易懂的好文! 06/09 13:18
131F:推 DOGGYBEAR: 感谢您的分享! 话说好期待秘境四啊.... 06/09 13:32
132F:推 Sk8erBoi: 有神有推 06/09 15:43
133F:推 david7112123: 专业推 06/10 05:00