GameDesign 板


LINE

不少游戏初期公布的实机技术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:17:31
1F:推 yearnway: 谢谢分享~~又学到一些东西了~~ 06/08 09:53
2F:推 yhn0tgb60: 过去2个frame有击中都算 所以逻辑资料会保留2个frame罗 06/08 10:12
3F:→ yhn0tgb60: 这样会对记忆体造成负担吗 或是其实资料量很少 没影响 06/08 10:13
4F:→ cjcat2266: 既然游戏生得出来,就表示记忆体可以负担吧XD 06/08 10:14
5F:→ cowbaying: 如果GPU的时脉拉到2GHz以上我推测可以用来算AI 06/08 10:24
6F:→ cowbaying: 游戏这种hard real time运算 对於平行後的资料蒐集 06/08 10:25
7F:→ yhn0tgb60: 我的想法是 通常这个frame的资料出来时 06/08 10:25
8F:→ cowbaying: 是相当严苛的... 06/08 10:25
9F:→ yhn0tgb60: 上个frame的资料应该就丢了 甚至释放了 06/08 10:26
10F:→ yhn0tgb60: 所以这作法 必须保留3个frame 的资料 06/08 10:26
11F:→ cowbaying: 或许是硬体特性的问题 目前开发的HSA项目 06/08 10:28
12F:→ cjcat2266: 当然不是所有资料全保留啊,只保留绘图相关资料而已 06/08 10:28
13F:→ cowbaying: 在GPU时脉800Mhz下 简易四则运算的回应时间是 06/08 10:29
14F:→ cjcat2266: 我们已经三个人在平行发言了XD 06/08 10:29
15F:推 cowbaying: 1000~5000ns 比CPU慢了约100倍 06/08 10:29
16F:推 cowbaying: XDDDDDD 06/08 10:30
17F:→ cowbaying: 这就是没有ordered的关系 06/08 10:30
18F:推 cowbaying: 但是两个frame的延迟我认为算很严重了 至少竞技类 06/08 10:32
19F:→ cowbaying: 的游戏应用起来很困难 06/08 10:32
20F:→ cjcat2266: 顽皮狗做的游戏都是单人线性剧情走向,所以没问题的XD 06/08 10:33
21F:推 akilight: 不过TLOU和uncharted不是都有多人对战吗? 06/08 12:07
22F:→ akilight: 对人对战的部份也是用这种2 frame方式处理,还是改以反应 06/08 12:07
23F:→ akilight: 速度为优先考量呢? 06/08 12:07
24F:→ cjcat2266: 是使用同一套系统,毕竟射击游戏的被攻方错误容许度高 06/08 12:45
25F:→ cjcat2266: 攻方如果发现有瞄准到的敌人没有攻击判定,会很明显 06/08 12:46
26F:→ cjcat2266: 而被攻方受到攻击判定,也就只能认了 06/08 12:46
27F:→ cjcat2266: 一般也不会觉得 "明明自己躲过瞄准了,怎麽还被打到?" 06/08 12:47
28F:→ cjcat2266: 因为被攻方也看不到攻方的准星是否有瞄到自己 06/08 12:47
29F:推 akilight: 了解XD 06/08 13:55
30F:推 wyvernlee: 专业文! 06/08 14:43
31F:推 holymars: 试着回答记忆体的问题:通常逻辑部份并不占多少记忆体 06/08 16:22
32F:→ holymars: 理论上,多存两个frame的逻辑状态并不会增加多少记忆体 06/08 16:23
33F:→ holymars: 需求,至少和texture/audio之类动不动就上百MB比起来是 06/08 16:23
34F:→ holymars: 很小的问题 06/08 16:23
35F:→ cjcat2266: 也不用存逻辑状态,只要存绘图需要的transform就好 06/08 16:32
36F:推 azureblaze: 记忆体几乎就是texture的意思了 其他比起来都是渣XD 06/08 19:26
37F:推 lemmii: 推好文 06/08 23:27
※ 编辑: cjcat2266 (160.33.43.15), 06/09/2015 01:01:44
38F:推 wangm4a1: 推 06/09 02:16
39F:推 yoyoleo0505: 推 06/09 08:51
40F:→ yhn0tgb60: 逻辑资料的记忆体 的确是非常小没错 06/09 13:24
41F:→ yhn0tgb60: 只是想到 videogame的记忆体也是寸土寸金 XD 06/09 14:33







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP