顯示廣告
隱藏 ✕
※ 本文為 XBUCKXMR 轉寄自 ptt.cc 更新時間: 2016-03-05 21:57:05
看板 Gossiping
作者 bachelorwhc (單身老王)
標題 Re: [問卦] 為什麼遊戲畫質都很差?
時間 Sat Mar  5 19:12:06 2016


※ 引述《wolfpaw (沃夫寶)》之銘言:
: 現在遊戲大作如巫師, 古墓, 異塵之類
: 雖然硬體需求都很高,但畫質蠻差的
: 3D動畫一看就覺得材質很假,動作也很僵
: 明明早在2012年
: 李安的少年pi就已demo過
: 現代電腦影像技術的能力
: 像是影片裡這隻老虎就做超擬真
: http://youtu.be/BJabCutTODg
'Life of Pi' Clip: Ang Lee on CG Tiger and Animation - Blu-Ray Exclusive - YouTube Visual effects supervisor Bill Westenhofer and director Ang Lee discuss making a CG tiger in an interview on the 'Life of Pi' Blu-Ray, available March 12. Ph...

 
: 為什麼都2016了還一堆廠商在出這種傷眼糞作
: 不出畫質好點的?

這個要從Computer Graphics(CG) 也就是電腦繪圖學 講起
這個領域在做什麼?

不是用PhotoShop修圖 也不是用繪圖板畫漫畫
簡單來說 只要是用電腦算出來的畫面 都在CG的領域裡面
遊戲跟電影也在其中

GPU的出現 為3D繪圖的加速 帶來了遠大的影響
如果講核心數 拿CPU跟GPU比 根本就是懶覺比雞腿
GPU少說都有幾百個核心

那你會問 為什麼不拿GPU取代CPU
因為GPU的架構一開始就設計為SIMD
所謂SIMD 單一指令多重資料 講白一點
你就想像有一千個工人開一千條生產線
只是每條生產線處理的資料不同 但作業流程相同

後來 大家發現有些過去由CPU處理的問題 也可以搬到GPU上
General Purpose GPU的開發思維就誕生了
前幾年開始流行的CUDA 只是GPGPU的一種開發環境

當你對你家電腦裝的那張顯卡 有了基礎的認識後
我們再來談談 更細節的問題


你覺得你的GPU能夠一次處理多少三角形?
在電腦的3D世界中 我們用三角形 組成你現在看到的3D Model
像音速小子 這種簡單的卡通人物 至少是三千、六千起跳
除了人物 你還要考慮到敵人、建築、etc……
遊戲中一個場景 少說幾十萬跑不掉

那麼重點在哪?
答案在 Realtime
怎麼樣算 Realtime? 遊戲領域的普世定義是 24fps算是Realtime
白話來講 你的電腦每秒必須算24張遊戲畫面出來
那李安那隻超逼真的老虎 你覺得有幾個三角形呢?
說真的 如果你的電腦 能夠一秒算一張 就已經是很屌的事情了

其實麻煩的 還不只在三角形的呈現
你的貼圖、特效、光線追蹤 全部都要考慮進去

遊戲所用的到繪圖學 必須是Realtime System
但是電影 可以後製

我可以租一個大型的Rendering Farm來花一個月算一小時的電影
這種需要花大量時間的 但是算出來的結果逼真的技術 是
Photorealistic Rendering



所以我認同你的看法 遊戲畫面當然是越逼真越好
如果你可以忍受遊戲一小時更新一次畫面的話

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.241.165
※ 文章代碼(AID): #1MshyAlG (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1457176330.A.BD0.html
dic1911: 推專業1F 03/05 19:13
cathagice: 推推2F 03/05 19:13
gcobc37695: 快推不然別人以為我看不懂3F 03/05 19:13
aaa00252: 推推4F 03/05 19:14
se2422: 專業啊5F 03/05 19:15
teatimeptt: 推推6F 03/05 19:15
cmbyts: 快推證明我看不懂~~~~~~~~~~~7F 03/05 19:16
roytiu: 快推別讓人以為我不懂8F 03/05 19:16
asdxxg5: 專業推9F 03/05 19:16
venson2273: 看不懂 給推10F 03/05 19:18
CostDown: 想當年 侏囉紀公園1 聽說很多台電腦跑了一年11F 03/05 19:18
meowchen: \(|v|)/ 專業推12F 03/05 19:22
simon870716: 專業給推13F 03/05 19:24
vladof: 八掛回來了14F 03/05 19:25
a3489658: 專業15F 03/05 19:25
tomodachiwen: 原來那篇底下只會罵 終於有真的懂得出來16F 03/05 19:28
tomodachiwen: 而且也沒有劈頭就罵人 有水準多了
ticy: 推18F 03/05 19:32
pro73: 專業推19F 03/05 19:34
Ninja5566: 其實如果用預錄而非實機運算 也可以達到real time20F 03/05 19:34
tonyscat: 專業推21F 03/05 19:35
Ninja5566: 但是一個遊戲如果有30小時的影片 就會變成一個上百G22F 03/05 19:35
ok020402: 有神快拜23F 03/05 19:36
Ninja5566: 的遊戲, 早期只有DVD等有限大小媒介 為了要減少遊戲24F 03/05 19:36
Ninja5566: 的大小, 壓縮影片大小改由實機運算就是必然的結果

你說的 其實有點誤解Realtime System跟FPS的關聯性
我們就假設遊戲跟電影 都是24FPS好了

24 FPS 一秒24張畫面 相信大家都知道這件事
那你會問 如果我把畫面全部先算好 放到遊戲裡面可不可以?
理論上可以 實務上不行

遊戲中所能產生的變化與結果 是無垠的
把所有可能的遊戲呈現都先算好
既浪費時間 也浪費空間 更浪費金錢 遊戲公司不可能會採用這種作法
其次 是不是遊戲 也值得議論

當然有些遊戲 有採用這種做法
我記得PSP有一款偶像大師
我當時走到學長身邊看他玩 差點挫屎
我想說這根本XBOX360的畫質吧 果不其然是預錄好的
雖然如此 但遊戲內的人物不能換服裝
遊戲就只剩下節奏跟美美的動畫而已

再來 我們談回Realtime System本身
並不是只要24fps就叫做Realtime System
CPU端的運算 也要跟得上GPU

Why?
事實上 3D遊戲最依賴的數學運算 就是矩陣運算
我講三個必備的

S R T 也就是 Scale(縮放) Rotation(旋轉) Translate(位移)
現在的CPU 其實也有SIMD 所以大家可能有時會看到 遊戲要求支援SSE指令
CPU裡 會存放著3D物件的SRT三大矩陣
可能在CPU算 也可能在GPU算 Anyway 最後一定要傳回CPU

Why?
因為遊戲的邏輯 至少要知道3D物件的座標 才能進而進行遊戲邏輯的判定
遊戲邏輯的控制 遊戲資源的管理 都要在CPU內完成

所以不光是畫面的問題
遊戲最重要的是CPU跟GPU的連動
※ 編輯: bachelorwhc (114.34.241.165), 03/05/2016 19:52:28
roktzzt: 電影是後製   遊戲要及時運算  董26F 03/05 19:40
ethan201: 跪求再簡單一點的說法,文組看不懂><27F 03/05 19:40

其實就只是大家的顯卡不夠力而已
電影所用的資料 都很龐大 個人的顯示卡很難在每秒算出20張
其次 電影還會再追加一些特效 讓畫面變得更逼真
這些特效 都會使得運算時間拉長
運算時間越長 就越難滿足遊戲"即時"標準

widec: 白話:預錄跟即時運算是你他媽的兩回事!28F 03/05 19:50
metawopa: 猛29F 03/05 19:50
widec: 史克威爾當年算完一部動畫,他們就破產啦!30F 03/05 19:50
※ 編輯: bachelorwhc (114.34.241.165), 03/05/2016 19:56:54
Simonfenix: 史克威爾亡於太過投入超擬真頭髮(而且票房慘兮兮)31F 03/05 19:53
h2030625: 為何電影有些也很爛?32F 03/05 19:55

1. 成本不夠
2. CG工程師不夠強
3. 臺灣CG能力本來就落後

之前 海角七號 賽德克巴萊 上映
裡面的3D特效 我的指導教授一直笑說超級爛
不過他也曾經抱怨過阿凡達的Lighting算錯
所以大家以後看電影 盡量不要揪專攻電腦繪圖學的教授


不過有的時候 其實並不是算錯
因為每部電影的美術設計本來就不同
算得逼真反而會讓人沒有想像空間
※ 編輯: bachelorwhc (114.34.241.165), 03/05/2016 20:01:50
cul287: VR的運算你怎麼看?33F 03/05 20:00
其實VR的運算 並沒有為CG帶來什麼遠大的影響
他提升了運算的需求 相當於同時開兩個Viewport
開兩個Viewport 就是在最後rasterization的時候 要畫兩張
但CPU端的運算 影響其實不大
因為遊戲中的場景資料量還是不變
只是Camera從一個變兩個
我等於單位時間內 我要畫兩個畫面而已

Simonfenix: 樓上可以參考 Steam板 代碼#1Mpiy5u8的文章34F 03/05 20:04
PyoHyemi: 推~35F 03/05 20:05
※ 編輯: bachelorwhc (114.34.241.165), 03/05/2016 20:13:39
wolfking623: 簡單說就是你願意花多少時間算一張圖36F 03/05 20:08
w10703: 專業推37F 03/05 20:15
kuma660224: Lighting常常不是追求正確,而是看起來還行,且夠快38F 03/05 20:28
ian90911: 推簡單易懂39F 03/05 20:45
vi000246: 如果以後的顯卡效能是現在工作室用的數百倍40F 03/05 20:53
vi000246: 說不定這些就可能成真
Ninja5566: 其實我覺得彼此都有點誤解對方在講啥42F 03/05 21:14
Ninja5566: 我認為原原po只有講過場動畫本身 你可能認為我講的是遊
Ninja5566: 戲 我所講的完全只有過場動畫的考量
bala73: 推推45F 03/05 21:54
takunei: 推46F 03/05 21:54

--
※ 看板: traume 文章推薦值: 0 目前人氣: 0 累積人氣: 197 
作者 bachelorwhc 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇