戰神 畫面問題 - PS

Christine avatar
By Christine
at 2018-05-09T03:23

Table of Contents

※ 引述《zongshi (SPIDEY)》之銘言:
: 不知道是不是只有我這樣
: 就是這次戰神的畫面,在用右類比轉動人物時
: 很明顯可以看到奎爺的模組跟背景的交界處呈現較低畫質的現象
: 有點像人物周圍被上了一圈馬賽克的感覺
: 各位有這個問題嗎?

之前我推文提到有可能是"時域反鋸齒"的副作用
(temporal anti-antialiasing, TXAA)

當時不確定純猜測,今天玩GoW的時候突然想到
就靠近螢幕去觀察,然後看到原po所謂一圈馬賽克的感覺了
現在幾乎確定是TXAA的副作用
在此分享一下原理:)
(為了避免用太多術語,有些地方有簡化或不甚嚴謹)

註: 看完本文之後有可能以後會更加注意到TXAA副作用
進而影響遊戲體驗,不想冒此險者請左轉


嗯?還在繼續讀嗎?該給的警告已經給了唷!


在TXAA開始流行之前,傳統反鋸齒做法是"超取樣"
大致概念是使用比實際像素數目還要高的取樣數目
每個取樣點當作是個像素渲染一次
每個像素對應超過一個取樣點
像素最終顏色是多個取樣點渲染結果的的加權平均值
基本上可想成是運算較高解析度的畫面
然後把一些像素融合後縮小成實際解析度

TXAA則是每個frame稍微挪一下攝影機
讓攝影機有小於單一像素大小的"微震動"
然後跟上一個frame結合渲染,得到到新frame
如果每個像素只是單純跟上個frame的同位置像素做加權平均
那效果就只會是單純的視覺暫留模糊,看起來會更糟!
所以要推測每個像素在上個frame時在哪裡
然後用上個frame該位置的像素來做加權平均
這樣相當於是用多個frame的時間達到超取樣的效果

在算圖的時候,不是只算玩家看到的最終顏色結果
中間的運算結果還含像素在空間中的深度、材質參數、速度等資料
速度資料可以用來反推算一個像素在上個frame的位置
就是這個位置的像素顏色被拿來跟當前像素做加權平均

但如果用速度反推算上個frame的像素位置,找不到資料怎麼辦?
很多情形都會有這種資料不足的狀況
例如位置反推算出來之後發現其實在螢幕外面,根本沒有被運算
或是上個frame的像素應該出現的位置被其他物件擋住了
後者就是原po提到的問題
畫面旋轉的時,角色後繞出來的背景部分在上個frame是被遮住的
用像素速度反推算會找不到需要的資料
所以一般的做法就是對沒有過去資料的像素做模糊處理帶過
這個副作用,有突然出現或消失的物件
或有迅速移動跨過大量像素的物件時,尤其明顯
需要跨過數個frame,經過多次加權平均之後才會把舊資料的影響"清掉"
這樣就會產生殘影(俗稱ghosting)

看看這個Unreal Engine 4的Kite demo
https://youtu.be/nwuFd5uK_xQ
在1:22左右的地方可以看到
快速大面積移動的鞋子,在有高頻細節加上風吹變形的草皮背景上留下殘影

TXAA另外一個副作用
常常出現在有高頻率細節加上特殊扭動效果的物件上
例如被風吹動的頭髮或者草
扭動效果是用動態方式算出變型的
如果沒有正確地同時算出速度
那就無法準確反推上個frame的像素位置
有時候使用的變型函數速度計算太複雜而吃效能
又有時候甚至不可能算出正確速度
因為使用的變型函式無法微分而算出速度
這樣就只能將就用估算的方式計算速度
結果還是比完全沒有速度資料好
但是多少會有詭異的殘影

還有一個TXAA常見的副作用
會出現在沒有整合到核心渲染流程的元素上
例如某些半透明物件或者某些特效
繪製這些元素的時候用的是經過微震動後的攝影機位置
但是沒有經過時域加權平均的流程
所以能看到這些元素沒有經過反鋸齒處理、且又有微震動
例如GoW中Niflheim一開始橋上的石頭大門上的藍色發光符文
就近觀察就可以注意到小於一個像素大小的微振動

既然TXAA有這些副作用,那為什麼還這麼熱門呢?
兩個字: 便宜 (運算資源消耗方面)
跟增加取樣數量的反鋸齒方法比起來
每個frame需要運算的像素數量維持不變
只是增加了用速度反推上個frame像素位置和讀取結果的額外運算

就像為什麼幾乎所有遊戲都要用LOD (level of detail)
過遠的物件用比較簡單的模型替換
替換過程沒有處理好,就會讓玩家看到視覺不連續性(俗稱pop)
原因也是兩個字: 便宜

或是像仁王,較遠敵人的動作幀率會減半
原因還是這兩個字: 便宜

開發遊戲有很大心力是花在從眾多效能優化手段中取捨
在副作用可接受的範圍內,想辦法讓玩家體驗最佳化
能夠好好享受遊戲是最重要的

我在玩GoW會被的優化副作用干擾到嗎?不會
偶然間注意到TXAA副作用時,頂多想說 "啊,是TXAA"
然後照樣繼續玩,我覺得GoW超讚的啊!

以上

--

Web http://AllenChou.net
Twitter http://twitter.com/TheAllenChou
LinkedIn http://linkedin.com/in/MingLunChou

--
Tags: PS

All Comments

Suhail Hany avatar
By Suhail Hany
at 2018-05-09T15:51
先推一個免得人家以為我文組的看不懂
Andy avatar
By Andy
at 2018-05-11T20:24
推CJ
Damian avatar
By Damian
at 2018-05-12T22:55
嗯嗯 原來如此
Damian avatar
By Damian
at 2018-05-13T08:09
你們家有沒有因為戰神感到壓力啊?XD TLOU2期望很高
Aaliyah avatar
By Aaliyah
at 2018-05-17T01:10
良性競爭
Edwina avatar
By Edwina
at 2018-05-21T16:48
Quintina avatar
By Quintina
at 2018-05-25T17:32
推 CJ大
David avatar
By David
at 2018-05-30T08:23
哼哼 和我想的一樣 (心虛
Agnes avatar
By Agnes
at 2018-06-01T11:35
玩戰神然後說 "哇,那個效果想試試看" 的情況是有的
Tristan Cohan avatar
By Tristan Cohan
at 2018-06-06T00:39
推 CJ
https://youtu.be/NbrA4Nxd8Vo 其實 DF 最近剛好有個詳
細的反鋸齒解說影片,應該看這個最簡單 XD
Linda avatar
By Linda
at 2018-06-07T17:42
先推一下以免人家發現我看不懂
Elizabeth avatar
By Elizabeth
at 2018-06-09T09:47
也許該看一些電腦圖學的書,不然也只是好像懂
Ingrid avatar
By Ingrid
at 2018-06-11T19:41
Doris avatar
By Doris
at 2018-06-14T08:09
便宜以外還有降低運算負擔吧
Elvira avatar
By Elvira
at 2018-06-19T05:45
那就是我所謂便宜的意思
等等,我的目標是不會圖學也看得懂,還有什麼地方需要
簡化嗎?
Emily avatar
By Emily
at 2018-06-24T04:09
應該沒問題吧 XD 大概只是「先推以免別人覺得我看不懂」
的梗
Faithe avatar
By Faithe
at 2018-06-28T18:55
謝謝你的解說,想請問傳統反鋸齒是指FXAA或MXAA嗎(不
知道我有沒有記錯名字> <|||
Todd Johnson avatar
By Todd Johnson
at 2018-07-02T01:12
FXAA是後製手法,效能好但效果有限,MSAA是超取樣的一
Zanna avatar
By Zanna
at 2018-07-05T03:53
推,寫的算好懂啊
Michael avatar
By Michael
at 2018-07-06T05:10
推解說,淺顯易懂
Genevieve avatar
By Genevieve
at 2018-07-11T00:44
謝謝回答
Olive avatar
By Olive
at 2018-07-15T15:02
可以懂
Ivy avatar
By Ivy
at 2018-07-17T09:15
TXAA對於特效也是蠻破壞性的要素 FF15的特效美術師對TXAA
造成的破壞很頭痛 也因此DQ11沒有採取TXAA 和粒子特效等
的相性並不是很好 很容易讓特效整個糊掉
Andy avatar
By Andy
at 2018-07-18T06:39
看不懂還是要推~ XD
Rachel avatar
By Rachel
at 2018-07-18T16:09
推,回家開戰神來試試開眼了嗎?XD
Anthony avatar
By Anthony
at 2018-07-22T03:44
推,很清楚
Charlie avatar
By Charlie
at 2018-07-26T01:25
其實搭配慢動作影片(其實動態gif也就夠了)會更好懂XD
Joe avatar
By Joe
at 2018-07-28T05:48
CJ的文推就對了
Joseph avatar
By Joseph
at 2018-08-01T03:12
大推啊
Aaliyah avatar
By Aaliyah
at 2018-08-03T05:50
推 每次看cj大的文章都可以學到一些東西 感謝分享

戰神 全破後回到山上的問題

James avatar
By James
at 2018-05-09T01:07
全破之後 因為屠完龍的關係 導致有些地方過不去 也可能是我找不到 所以想問一下 因為之前在爬上的路途上有遇到一個會旋轉的火焰機關 上面有一個寶箱 https://i.imgur.com/u9IeDM7.jpg 當時沒有開 現在想回去開卻找不到去那邊的路 所以想請問還有辦法回到那個地方嗎? ...

卜卦文 請問未來有要出這樣的遊戲嗎

Todd Johnson avatar
By Todd Johnson
at 2018-05-09T00:12
標題看起來好像是要問什麼超新穎遊戲類型 其實完全不是 只是因為最近跟朋友挑「單機多人 打寶 中文」條件的遊戲玩 起先試了胖公主 裝備打完強化完就沒事做了 不錯 但畢竟小品 再來是絕地戰兵 很好的遊戲 可是充滿惡意 然後刷裝成分太低 玩不久就先放著 然後現在玩異種國度 流暢度高我們都很愛 ...

忍到最後一天了 優惠代碼怎麼還不來

Quintina avatar
By Quintina
at 2018-05-09T00:07
各位PS板大大晚安 上次兩件特價等到最後一天還是沒等到 買地平線+跑車浪漫旅 雖然我尼爾已經買PC了 如果今天開優惠 我就加買PS4版尼爾豪華版 另外問個 之前尼爾有收集14天印章送東西的 現在買還有嗎? 問個這次日系遊戲優惠 有哪些遊戲值得入手的嗎? - ...

有人玩過Frantics嗎

Suhail Hany avatar
By Suhail Hany
at 2018-05-08T23:55
難得可以單機多人的遊戲 還可以支援手機遊玩 不過網路上好像沒看到什麼遊玩心得 不知道這款遊戲性如何 好像還沒出中文 英文不好是否影響遊玩 - ...

黑魂3新手上路

Suhail Hany avatar
By Suhail Hany
at 2018-05-08T22:46
原文怒刪 首先 黑暗劍是遊戲剛推出時的pve神武 但是經過nerf之後已經不算強了 (威力下降,耗精增加) 現在pve比較好用我推這三把 1. 卡薩斯曲刀(不是大曲刀喔):攻速約等於直劍,威力不錯而且內建出血效果,打王好用 拿法:去地下墓地刷大隻骷髏 2. 守墓人雙刀:傷害普普,但一樣內建出血, 而且因為 ...