※ 本文為 ChiChi7.bbs. 轉寄自 ptt.cc 更新時間: 2015-06-09 17:37:01
看板 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
※ 文章代碼(AID): #1LTEbu-C (GameDesign)
※ 文章網址: https://www.ptt.cc/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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: cjcat2266 (45.50.175.11), 06/08/2015 09:04:10
→ : 頭推1F 06/08 09:05
推 : 有神快推!2F 06/08 09:06
推 : 先推CJ大3F 06/08 09:07
推 : 補推4F 06/08 09:08
推 : 推!!5F 06/08 09:08
推 : 技術6F 06/08 09:08
推 : 好文推cjcat7F 06/08 09:09
推 : 大推8F 06/08 09:10
推 : 射擊遊戲的話確實FPS是有感的9F 06/08 09:11
推 : 格鬥遊戲可能就不行,強手都是用frame來算招的10F 06/08 09:13
推 : cj大出現啦!11F 06/08 09:13
推 : 看不懂12F 06/08 09:15
※ 編輯: cjcat2266 (45.50.175.11), 06/08/2015 09:16:02推 : 想額外問一下: 2 frame的誤差對什麼類型的影響較大?13F 06/08 09:17
→ : 若像樓上所說的格鬥遊戲 那要是像文內所說用舊資料判定
→ : 還會有甚麼問題嗎?
→ : 若像樓上所說的格鬥遊戲 那要是像文內所說用舊資料判定
→ : 還會有甚麼問題嗎?
→ : 應該會有另外一個問題:對手的輸入沒有馬上呈現16F 06/08 09:19
→ : 會有反應上的延誤
→ : 會有反應上的延誤
推 : 了解 感謝解答18F 06/08 09:20
→ : 格鬥遊戲場景都不大 角色就兩個19F 06/08 09:23
→ : 翻譯蒟蒻:頑皮狗又要來操爆你的主機了20F 06/08 09:24
推 : 推專業21F 06/08 09:26
推 : 好專業。22F 06/08 09:28
推 : 長知識~ 推23F 06/08 09:33
推 : 推24F 06/08 09:38
推 : 易懂的解說,謝謝。25F 06/08 09:46
推 : 好文 推~26F 06/08 09:50
推 : 專業給推29F 06/08 09:52
推 : 推30F 06/08 09:52
→ : 看來就算延到明年 今年E3還是會強打秘境431F 06/08 09:53
推 : 先推再看32F 06/08 10:00
推 : 秘境4也是用這技術嗎 還是又有更非人類的技術了33F 06/08 10:03
推 : 專業文出現了34F 06/08 10:03
→ : 商業機密XD35F 06/08 10:03
推 : Cj貓大 未看先推36F 06/08 10:04
→ : 基本上我們只允許分享已發售作品的技術,Sorry啦37F 06/08 10:09
→ : 未發售作品的技術給其他人知道了,這怎麼可以 XD
→ : 未發售作品的技術給其他人知道了,這怎麼可以 XD
推 : 等秘境4出來後,要先把ps4的通風孔清一下 要被操爆惹39F 06/08 10:12
推 : 我目前玩到最操主機的是MGSV,期待秘境4更操XD40F 06/08 10:18
→ : 其實如果都是操到100%左右,燒機程度都差不多啦...41F 06/08 10:18
推 : 讚,請問這是實作在engine裡嗎?42F 06/08 10:19
推 : Mgsv出了喔??43F 06/08 10:19
→ : 如同之前提到的,AAA遊戲基本上都是以操到100%為目標44F 06/08 10:19
→ : 操到100%之後,接下來就要看優化能力了
→ : 操到100%之後,接下來就要看優化能力了
推 : MGSV:GZ 會很操主機嗎?46F 06/08 10:20
→ : 1886畫面真的很噁心 有二手可以買來玩玩看47F 06/08 10:25
推 : MGS:GZ很偷吃步,你可以試著把小兵弄昏後堆在同一個48F 06/08 10:31
→ : 區域,大概5隻以上就會發現有幾隻小兵被隱形了
→ : 區域,大概5隻以上就會發現有幾隻小兵被隱形了
推 : 但是我覺得1886的話面一直霧霧的,有點像是柔焦,大概50F 06/08 10:40
→ : 是為了省效能所用的濾鏡吧?
→ : 是為了省效能所用的濾鏡吧?
→ : MGS:GZ可以用樓上的方法在吉普車上載好幾隻小兵52F 06/08 10:41
→ : 沒有喔,只要物體沒有完全被霧隱蔽,就不可能節省運算53F 06/08 10:42
→ : PS上的沉默之丘,才是真的用霧在偷吃步
→ : 結果後來變成系列作的特色了
→ : PS上的沉默之丘,才是真的用霧在偷吃步
→ : 結果後來變成系列作的特色了
→ : ubi : 都不優化隨便就100%了啦56F 06/08 10:58
推 : 全景柔化應該是為了蓋過鋸齒吧?57F 06/08 10:59
推 : 好專業58F 06/08 11:01
→ : 1886那種不是仿照電影版的模糊化嗎59F 06/08 11:03
→ : 柔焦的目的通常只是為了美感,消除鋸齒自有額外的運算60F 06/08 11:07
→ : 柔焦應該反而是增加運算量吧?61F 06/08 11:09
→ : 沒錯 :)62F 06/08 11:10
推 : 1886在畫面跟美術上真的是PS4效能大突破63F 06/08 11:19
→ : 希望續作可以把上下黑邊刪掉
→ : 希望續作可以把上下黑邊刪掉
推 : 推專業解說65F 06/08 11:22
→ : 但1886就是有上下黑邊才榨出更多的資源啊
→ : 如果刪掉後續作別說維持水準,可能還會退步
→ : 但1886就是有上下黑邊才榨出更多的資源啊
→ : 如果刪掉後續作別說維持水準,可能還會退步
推 : 黑邊雖然礙眼 但習慣後就無感 重要的是提升遊戲性和主線68F 06/08 11:31
推 : 推69F 06/08 11:42
推 : CJ大推~70F 06/08 11:47
推 : 專業的來了 大推71F 06/08 11:56
→ : pipeline, hazard, 終究還是這些課題72F 06/08 12:02
推 : 1886能把故事説完整加上物品收集系統就會變很好了73F 06/08 12:04
→ : 拿起來看一看又放下是怎樣?物件展示XDD?
→ : 拿起來看一看又放下是怎樣?物件展示XDD?
推 : 專業推75F 06/08 12:11
推 : 推推76F 06/08 12:27
→ : 似乎是在某個超寬螢幕的文章看到 用超寬螢幕玩1886 就可77F 06/08 12:27
→ : 以滿畫面了
→ : 以滿畫面了
→ : 21:9的就可以了 不過選擇很少吧79F 06/08 12:35
推 : 外行人想問 為什麼我都感覺不出來TLOU有延遲XDDD80F 06/08 12:47
推 : TLOU因為不是開放世界。所以優化到極致後是可以那樣82F 06/08 12:52
→ : 巫師3比GTAV開放的更誇張。所以優化更難
→ : 巫師3比GTAV開放的更誇張。所以優化更難
推 : 推推84F 06/08 12:53
→ : 巫師三一堆怪房子都可以進去點蠟燭 搜刮 對話85F 06/08 12:53
→ : 啊 我懂了86F 06/08 12:54
→ : 但是GTAV只有相關的建築可以進去87F 06/08 12:54
→ : 昨天才誤闖幾棟4層樓的建築物,裏面有蠟燭有寶箱有人
→ : 昨天才誤闖幾棟4層樓的建築物,裏面有蠟燭有寶箱有人
推 : 1886畫面很糊玩不太下去,看久眼睛很不舒服89F 06/08 12:55
→ : 就是跟任務還有街道一點關係都沒有90F 06/08 12:55
→ : 巫師3的世界是開放到這樣。
→ : 甚至很多懸崖是可以跳岩石跳下去的
→ : 巫師3的世界是開放到這樣。
→ : 甚至很多懸崖是可以跳岩石跳下去的
→ : 傑哥沒吃維骨力 看到懸崖跳下去九成機率是找死93F 06/08 12:59
→ : 有點水就不會死 然後可以抓角度騎馬跳,但有失敗風險94F 06/08 13:00
→ : 是說騎馬時能跳?95F 06/08 13:01
→ : 我的蘿蔔看到懸崖只會停住...
→ : 我的蘿蔔看到懸崖只會停住...
推 : 2frame的延遲是指1/30秒嗎(60fps) 如果是的話其實影響97F 06/08 13:02
→ : 很小吧?
→ : 很小吧?
推 : 我的理解是 玩家感覺不到延遲 因為我們對看到的畫面99F 06/08 13:08
→ : 輸入的指令是被認可的0.0
→ : 在過去兩個frame中(我們眼睛看到的)有瞄準到目標
→ : 就算是判定擊中
→ : 輸入的指令是被認可的0.0
→ : 在過去兩個frame中(我們眼睛看到的)有瞄準到目標
→ : 就算是判定擊中
推 : ACT FTG STG這三種很吃禎數 一個frame就能讓人吃土103F 06/08 13:58
→ : 還有連線遊戲 雙方不能接近同步看見雙方指令 也是吃土
→ : 其餘單機遊戲就還好了
→ : 還有連線遊戲 雙方不能接近同步看見雙方指令 也是吃土
→ : 其餘單機遊戲就還好了
→ : 其實FPS和TPS的被攻擊方,錯誤容許範圍很大106F 06/08 14:03
→ : 當系統判定攻擊有疑慮時,一律偏頗攻擊方
→ : 因為攻擊方如果準星瞄到對方,卻沒有攻擊判定會很明顯
→ : 而被攻擊方較沒有 "明明沒被瞄到卻有攻擊判定" 的問題
→ : 因為被攻擊方無法得知攻擊方是不是真的有瞄準到他
→ : 當系統判定攻擊有疑慮時,一律偏頗攻擊方
→ : 因為攻擊方如果準星瞄到對方,卻沒有攻擊判定會很明顯
→ : 而被攻擊方較沒有 "明明沒被瞄到卻有攻擊判定" 的問題
→ : 因為被攻擊方無法得知攻擊方是不是真的有瞄準到他
推 : 阿 忘了補充 我說的STG是捲軸射擊 不是FPS TPS111F 06/08 14:17
→ : 不過想了一下單機STG 好像也是沒什麼問題的 就拿3frame的
→ : 資料來寬鬆判斷閃避成功與否就好 好像也沒太大問題
→ : 雖然STG好像也不會吃效能吃到那樣就是了XD
→ : 不過想了一下單機STG 好像也是沒什麼問題的 就拿3frame的
→ : 資料來寬鬆判斷閃避成功與否就好 好像也沒太大問題
→ : 雖然STG好像也不會吃效能吃到那樣就是了XD
→ : 我以為你說的STG是strategy game咧XD115F 06/08 14:28
推 : 不明覺厲 期待下款新作116F 06/08 14:30
推 : 沒辦法 誰叫shooting game已經成為時代眼淚呢XD117F 06/08 14:43
推 : cj大安安118F 06/08 15:35
→ : 但是三廠都想用硬體輾壓,把PS4當泰坦操
→ : 但是三廠都想用硬體輾壓,把PS4當泰坦操
→ : PS4的極限測試軟體120F 06/08 15:41
推 : 讓我想起巫師3的縮水一堆人在罵...沒人想過開發的難處121F 06/08 18:36
推 : 話說不是有版友要寫信去CDPR問BOSS的造型縮水??122F 06/08 18:53
→ : 結果呢?????@@
→ : 結果呢?????@@
推 : 上面有人發文了124F 06/08 19:42
→ : 更正,下面
→ : 更正,下面
推 : 推!UBI用的是他們最強的平行外包技術,本業是做影片的126F 06/08 20:00
推 : 樓上發言我笑了XDDD127F 06/08 20:18
推 : 專業...這我沒話說了= =128F 06/08 22:44
推 : 長知識129F 06/09 00:50
※ 編輯: cjcat2266 (160.33.43.15), 06/09/2015 01:02:08推 : 感謝! 清楚易懂的好文!130F 06/09 13:18
推 : 感謝您的分享! 話說好期待秘境四啊....131F 06/09 13:32
推 : 有神有推132F 06/09 15:43
--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 572
回列表(←)
分享