遊戲的"縮水" 與 TLOUR的平行運算技術 - PS

By Franklin
at 2015-06-08T09:04
at 2015-06-08T09:04
Table of Contents
※ [本文轉錄自 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
--
不少遊戲初期公布的實機技術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
--
Tags:
PS
All Comments

By Jacob
at 2015-06-09T15:49
at 2015-06-09T15:49

By Joe
at 2015-06-09T18:51
at 2015-06-09T18:51

By Annie
at 2015-06-13T00:30
at 2015-06-13T00:30

By Catherine
at 2015-06-16T15:26
at 2015-06-16T15:26

By Charlotte
at 2015-06-18T02:58
at 2015-06-18T02:58

By Genevieve
at 2015-06-19T18:38
at 2015-06-19T18:38

By Genevieve
at 2015-06-24T12:46
at 2015-06-24T12:46

By Victoria
at 2015-06-27T16:13
at 2015-06-27T16:13

By Mason
at 2015-06-29T11:22
at 2015-06-29T11:22

By Valerie
at 2015-07-03T04:16
at 2015-07-03T04:16

By Ida
at 2015-07-04T02:23
at 2015-07-04T02:23

By David
at 2015-07-05T07:13
at 2015-07-05T07:13

By Margaret
at 2015-07-07T12:11
at 2015-07-07T12:11

By Cara
at 2015-07-07T21:29
at 2015-07-07T21:29

By Elvira
at 2015-07-10T00:05
at 2015-07-10T00:05

By Anthony
at 2015-07-13T15:58
at 2015-07-13T15:58

By Hazel
at 2015-07-13T19:43
at 2015-07-13T19:43

By Zanna
at 2015-07-15T23:47
at 2015-07-15T23:47

By Mason
at 2015-07-18T02:19
at 2015-07-18T02:19

By James
at 2015-07-21T18:52
at 2015-07-21T18:52

By Franklin
at 2015-07-24T19:35
at 2015-07-24T19:35

By Tristan Cohan
at 2015-07-28T01:34
at 2015-07-28T01:34

By Candice
at 2015-08-01T03:59
at 2015-08-01T03:59

By Quintina
at 2015-08-04T04:03
at 2015-08-04T04:03

By Oliver
at 2015-08-07T12:43
at 2015-08-07T12:43

By Andrew
at 2015-08-11T22:55
at 2015-08-11T22:55

By Megan
at 2015-08-13T01:26
at 2015-08-13T01:26

By Connor
at 2015-08-15T09:32
at 2015-08-15T09:32

By Jessica
at 2015-08-16T09:19
at 2015-08-16T09:19

By Caroline
at 2015-08-20T07:14
at 2015-08-20T07:14

By David
at 2015-08-23T02:59
at 2015-08-23T02:59

By James
at 2015-08-25T07:11
at 2015-08-25T07:11

By Sierra Rose
at 2015-08-27T20:18
at 2015-08-27T20:18

By Genevieve
at 2015-08-31T10:41
at 2015-08-31T10:41

By Hazel
at 2015-09-02T02:05
at 2015-09-02T02:05

By Caitlin
at 2015-09-05T19:27
at 2015-09-05T19:27

By Annie
at 2015-09-08T10:27
at 2015-09-08T10:27

By Tracy
at 2015-09-10T01:23
at 2015-09-10T01:23

By Ina
at 2015-09-14T02:16
at 2015-09-14T02:16

By Elma
at 2015-09-16T00:45
at 2015-09-16T00:45

By Hazel
at 2015-09-18T11:44
at 2015-09-18T11:44

By Kristin
at 2015-09-22T06:15
at 2015-09-22T06:15

By Eden
at 2015-09-22T19:52
at 2015-09-22T19:52

By Jessica
at 2015-09-24T14:38
at 2015-09-24T14:38

By David
at 2015-09-26T07:13
at 2015-09-26T07:13

By Edward Lewis
at 2015-09-28T08:49
at 2015-09-28T08:49

By Edward Lewis
at 2015-09-30T18:00
at 2015-09-30T18:00

By Jacky
at 2015-10-04T23:02
at 2015-10-04T23:02

By Gary
at 2015-10-08T04:07
at 2015-10-08T04:07

By Leila
at 2015-10-09T08:51
at 2015-10-09T08:51

By Carolina Franco
at 2015-10-10T08:34
at 2015-10-10T08:34

By Edwina
at 2015-10-12T18:17
at 2015-10-12T18:17

By Audriana
at 2015-10-15T07:20
at 2015-10-15T07:20

By Michael
at 2015-10-17T11:54
at 2015-10-17T11:54

By Freda
at 2015-10-19T11:21
at 2015-10-19T11:21

By Thomas
at 2015-10-20T14:42
at 2015-10-20T14:42

By Mia
at 2015-10-23T16:04
at 2015-10-23T16:04

By Franklin
at 2015-10-25T12:15
at 2015-10-25T12:15

By Lydia
at 2015-10-25T22:54
at 2015-10-25T22:54

By Skylar Davis
at 2015-10-30T19:13
at 2015-10-30T19:13

By Damian
at 2015-10-31T06:02
at 2015-10-31T06:02

By Linda
at 2015-11-05T00:59
at 2015-11-05T00:59

By Agnes
at 2015-11-06T11:26
at 2015-11-06T11:26

By Annie
at 2015-11-11T03:55
at 2015-11-11T03:55

By Xanthe
at 2015-11-15T11:27
at 2015-11-15T11:27

By Anonymous
at 2015-11-17T22:25
at 2015-11-17T22:25

By Anonymous
at 2015-11-21T01:59
at 2015-11-21T01:59

By James
at 2015-11-21T23:29
at 2015-11-21T23:29

By Hedda
at 2015-11-22T10:45
at 2015-11-22T10:45

By Freda
at 2015-11-24T23:08
at 2015-11-24T23:08

By Harry
at 2015-11-26T22:40
at 2015-11-26T22:40

By Erin
at 2015-11-29T23:52
at 2015-11-29T23:52

By Joseph
at 2015-12-02T00:37
at 2015-12-02T00:37

By Tom
at 2015-12-04T16:16
at 2015-12-04T16:16

By Connor
at 2015-12-06T13:19
at 2015-12-06T13:19

By Kyle
at 2015-12-07T09:35
at 2015-12-07T09:35

By Charlotte
at 2015-12-11T03:56
at 2015-12-11T03:56

By Leila
at 2015-12-13T09:53
at 2015-12-13T09:53

By Sarah
at 2015-12-16T10:41
at 2015-12-16T10:41

By Carol
at 2015-12-20T15:28
at 2015-12-20T15:28

By Damian
at 2015-12-20T22:09
at 2015-12-20T22:09

By Wallis
at 2015-12-24T04:27
at 2015-12-24T04:27

By Agatha
at 2015-12-24T12:17
at 2015-12-24T12:17

By Zenobia
at 2015-12-25T02:11
at 2015-12-25T02:11

By Bennie
at 2015-12-29T20:44
at 2015-12-29T20:44

By Iris
at 2015-12-30T05:04
at 2015-12-30T05:04

By Sandy
at 2015-12-30T14:47
at 2015-12-30T14:47

By Quanna
at 2016-01-04T03:12
at 2016-01-04T03:12

By Mason
at 2016-01-08T13:21
at 2016-01-08T13:21

By Harry
at 2016-01-10T08:08
at 2016-01-10T08:08

By Isla
at 2016-01-12T07:08
at 2016-01-12T07:08

By Andy
at 2016-01-16T17:41
at 2016-01-16T17:41

By Suhail Hany
at 2016-01-17T15:51
at 2016-01-17T15:51

By Dora
at 2016-01-19T10:18
at 2016-01-19T10:18

By Caroline
at 2016-01-23T03:10
at 2016-01-23T03:10

By Rae
at 2016-01-24T17:50
at 2016-01-24T17:50

By Elma
at 2016-01-26T15:56
at 2016-01-26T15:56

By Tristan Cohan
at 2016-01-29T17:45
at 2016-01-29T17:45

By Carol
at 2016-02-02T12:35
at 2016-02-02T12:35

By Kelly
at 2016-02-03T17:20
at 2016-02-03T17:20

By Kama
at 2016-02-08T08:28
at 2016-02-08T08:28

By Valerie
at 2016-02-12T14:14
at 2016-02-12T14:14

By Rosalind
at 2016-02-13T15:35
at 2016-02-13T15:35

By Brianna
at 2016-02-16T05:51
at 2016-02-16T05:51

By Kyle
at 2016-02-17T15:10
at 2016-02-17T15:10

By Rebecca
at 2016-02-21T01:17
at 2016-02-21T01:17

By Regina
at 2016-02-21T13:35
at 2016-02-21T13:35

By Mia
at 2016-02-22T08:34
at 2016-02-22T08:34

By Rebecca
at 2016-02-26T08:38
at 2016-02-26T08:38

By Una
at 2016-02-29T22:34
at 2016-02-29T22:34

By Sarah
at 2016-03-02T02:07
at 2016-03-02T02:07

By John
at 2016-03-06T13:35
at 2016-03-06T13:35

By Damian
at 2016-03-11T11:01
at 2016-03-11T11:01

By Frederic
at 2016-03-13T04:29
at 2016-03-13T04:29
Related Posts
Vita玩PSP遊戲

By Barb Cronin
at 2015-06-08T08:52
at 2015-06-08T08:52
看來人龍0讓大家很喜歡真島 來點刺激的

By Freda
at 2015-06-08T08:42
at 2015-06-08T08:42
巫師3大缺點

By Olivia
at 2015-06-08T08:37
at 2015-06-08T08:37
次世代主機趕不上科技發展?

By Christine
at 2015-06-08T02:49
at 2015-06-08T02:49
PS4 的效能和 PC 的差距(+PS3同期對照)

By Caitlin
at 2015-06-08T02:35
at 2015-06-08T02:35