影像順暢度深度解析:破解 FPS 盲點、找 - 顯卡

Bennie avatar
By Bennie
at 2013-06-21T14:27

Table of Contents

影像順暢度深度解析:破解 FPS 盲點、找出影像頓呆的主因

http://ppt.cc/UXRB

從人類打造出第一張顯示卡開始,廠商就不斷灌輸消費者「速度快就是好卡」的觀念,使
得消費者在選購顯示卡時,以產品的效能做為最主要的選擇依據。但是你砸下去的錢,真
的能全部轉換為顯示於螢幕上的效能嗎?

流暢度影響視覺感受

動畫的原理在於利用人眼視覺暫留的特性,當許多靜止的畫面連續播放時,只要速度夠快
(約為每秒顯示16張畫面),就會因為視覺暫留的錯覺,誤認為畫面是活動的動畫。多數
玩家在執行遊戲時,大多會調整畫面品質,將FPS目標值設在60幀,然而遇到效能偏低的
瞬間,前後畫格出現的時間可能大於1/16秒,大於產生視覺暫留所需的最短時間,於是畫
面還是會產生停頓感。

相信大多數的讀者都是透過FRAPS,測量遊戲進行時的FPS,姑且不論上述FPS分佈不均勻
所造成的停頓感,FRAPS的運作方式只能讓我們測量到顯示卡繪製畫格的速度,而不是螢
幕顯示畫格的速度。所以有時就會遇到FPS表現並無異常,但仍然會感覺畫面有所停頓,
並不如測試成績般流暢。



▲筆者以比較誇張的方式,解釋為何瞬間FPS的落差,會造成畫面停頓感。當FPS為60幀且
分佈均勻的情況,視覺感受是最好的,若FPS降至30幀,且分佈也是均勻的話,畫面看起
來並不會有明顯的停頓感。然而即使FPS維持在60幀,但是前0.1秒就顯示51幀,其餘9幀
剛好平均分佈於剩下的0.9秒中,等於後半部每0.1秒才顯示1張新的畫格,將造成嚴重的
停頓感。



▲常見FPS速率比較

FRAPS的測試盲點

無論遊戲使用的API是Direct3D或OpenGL,API都會透過複雜的流程處理資料並進行運算。
以Direct3D為例,當遊戲送出繪圖需求與相關資料之後,資料會先被Direct3D送入顯示卡
驅動程式,並送回Direct3D的畫格佇列以及排程器,然後再次送到顯示卡驅動程式中,最
後送到GPU進行運算。

FRAPS的運作原理是記錄每個畫格繪製結束後,攔截Direct3D發出的運算呼叫(present
call),藉由分析運算呼叫產生的時間點,FRAPS就能計算畫格資料送入API的速度,能夠
有效率地分析FPS表現。

由於FRAPS攔截運算呼叫的位置在整個運算流程的頂部,並且只能得知每張畫格進入API的
時間,對於資料在API、驅動程式、GPU等階段之間發生的事,以及運算所花費的時間一無
所知。此外畫格佇列與frame buffer,都具有可以暫存畫格的能力,所以各運算呼叫之間
的時間間隔,並不一定等於各畫格輸出時的間格,再加上多GPU環境運算下,資源的分配
及運算流程會更加複雜,FRAPS所測量到的數據與螢幕顯示的畫面會有不少落差,並不適
合作為畫面顯示是否流暢的指標。



▲Direct3D遊戲的顯示部份處理流程如圖所示,經過繁複的處理手續後,受各步驟延遲影
響,畫格運算與顯示的速度可能會有所不同。

測不出問題畫格

除了上述的問題之外,FRAPS也無測量到遺失畫格(drop frame)與侏儒畫格(runt
frame)。當遊戲引擎的物理、AI部分出現錯誤,或是繪製畫面時若發生錯誤時,驅動程
式很可能會直接捨棄這些畫格,若是某特定畫格的複雜度太高,其繪圖時間超過系統緩衝
容忍的上限,也會被捨棄不予繪製,形成遺失畫格。

侏儒畫格則只會發生於多GPU的環境,當其中某一GPU在繪圖時發生錯誤時,由於其他GPU
並不會即時知道這個狀況,所以其他GPU仍會照常運作、輸出影像,此現象會造成該不正
常畫格出現在螢幕的時間非常短,並造成畫面撕裂。

由於FRAPS偵測的訊號為運算呼叫,當遺失或侏儒畫格產生時,運算呼叫早已送出,所以
仍會被計算為完整的1幀,但是它們並不會正常顯示於螢幕,將會造成測試成績與實際觀
看的誤差。



▲若將各畫格的處理過成簡化成此示意圖,就可以看到FRAPS的測量方式雖然可以測得效
能表現(整體處理的畫格數量一樣),但可能無法精準測出畫面停頓。

FCAT:測量輸出端更精準

為了要改善FRAPS等工具無法測量最終輸出畫面情況的缺陷,NVIDIA開發了FCAT(Frame
Capture Analysis Tool,畫格擷取分析工具),透過外部擷取設備錄下遊戲畫面並進行
分析,找出FRAPS無法檢測的瑕疵。

在遊戲畫面置入色條

FCAT的運作原理很簡單,首先程式會在Overlay顯示層中,在每一個畫格的左側加入從上
到下跨越畫面的色條,這些色條會遵照畫格順序更改顏色,比方說第1個畫格是白色,第2
個畫格是綠色,第3個畫格是藍色等,其用途為標記各畫格的身份與出現順序。

接著FCAT系統會將遊戲畫面錄下來,並透過軟體分析色條,判讀各畫格顯示的時間。特別
的是它並非使用軟體方式錄製影片,而是讓顯示卡將畫面輸出至外部擷取設備,再進行錄
影動作。從外部錄影的原因很簡單,透過這種方式錄影,不會受到任何軟體或是API架構
限制的干擾,能夠測量到真實顯示於螢幕的狀況,而不像FRAPS只能測量present call的
數量。



▲當FCAT的Overlay工具開始運作後,會在輸出畫面左側貼上色條,分析工具就可依色條
出現的順序及長度,推算畫面顯示狀況。



▲FCAT會在各畫格左側依序置入不同顏色,在分析時就可以透過影像識別軟體,依據顏色
的分佈判讀各畫格顯示的時間。


Video Overlay可以堆疊圖層

Video Overlay是電腦處理顯示畫面過程的一環。目前的顯示卡大多具有專屬的緩衝區,
用於儲存要輸出的畫面,我們可以把這個緩衝區想像成畫布,各程式可以透過Video
Overlay,在畫布貼上圖層,此時顯示卡只需處理前景物件,而不需要重繪整幅畫面。

Video Overlay對於圖型使用者介面來說相當重要,以Windows為例,如果不採用Video
Overlay,那麼在游標、視窗移動的時候,顯示卡就必需不斷重繪整個畫面,如果有
Video Overlay的協助,系統只需重繪移動的物件即可。在FCAT中,各畫格左側的色條,
就是透過Video Overlay貼到輸出畫面上。


測量眼睛看到的畫面

FCAT的終極目標,就是原汁原味地測量使用者透過螢幕所看到的遊戲畫面,透過外部影像
擷取設備,就能避開API、驅動程式與顯示卡硬體間,繁複作業流程產生延遲的影響,提
供更準確的數據,以利於評估顯示畫面實際的品質,也能夠確實測出顯示於螢幕的FPS表
現。

NVIDIA表示FCAT的開發時間已經超過2年,公司內部也於研發產品時,使用FCAT分析與改
進顯示卡的表現。目前NVIDIA官方已經將FCAT軟體釋出,供所有人(包括競爭對手)使用
FCAT測試自己電腦的表現,官方也鼓勵使用者自行修改與再發行。不過筆者認為這項決策
針對性相當明顯,就是要攻擊競爭對手的弱點。



▲FCAT測量的目標,是顯示卡將畫面繪製完成後輸出的畫面,相較於FRAPS測量Present
Call,可以更準確反映使用者所見的畫質。

--------------------------------------------------------

之後就是產品介紹 就不貼了

不錯的文章 可以看看

--
Tags: 顯卡

All Comments

Mason avatar
By Mason
at 2013-06-26T08:56
快讓升頻補張專利進到顯卡比較快 遊戲60張習慣以後
Tristan Cohan avatar
By Tristan Cohan
at 2013-06-30T06:44
看影片超級痛苦 尤其是遠景帶過 畫面超撕裂 眼睛超痛
James avatar
By James
at 2013-07-02T16:19
早就有了 關鍵字SVP 只是那東西需要大量CPU效能來演算
Carol avatar
By Carol
at 2013-07-04T22:07
Smoothvedio project
Bennie avatar
By Bennie
at 2013-07-05T12:26
沒錯SVP potplayer有支援但超難跑 要一起寫去建議嗎
Mia avatar
By Mia
at 2013-07-08T21:49
意思是說以後要多準備一個鏡頭對著螢幕?

Nvidia GTX 760 正式規格及性能揭露

Faithe avatar
By Faithe
at 2013-06-21T13:55
[link] http://www.xfastest.com/thread-117958-1-1.html 雖然說順延了幾天, Nvidia 即將在 6 月 25 日正式發布 GeForce GTX 760 在硬體規格方面 採用 GK104-225-A2 顯示晶片 擁有 1152 個 CUDA ...

7850不定時黑屏

Linda avatar
By Linda
at 2013-06-21T01:59
這張7850其實買了快8個月了 一直會不定時出現黑屏的狀況 黑屏的時候大部分等個幾秒畫面就會回來 有些時候右下角會出現驅動停止回應但已修復的提示 有幾次黑屏之後就要按reset畫面才會回來 一開始以為是螢幕的問題結果,比對後發現不是 我有試過更新驅動程式,已經更新過快十個了問題依舊沒有解決 顯卡還有一個問題就 ...

佛堂出清撼訊7750中 要買要快!

Ida avatar
By Ida
at 2013-06-20T17:36
PowerColor AX7750 1GBD5-DH/128bit 顯示卡(福利品出清) $2190 官網連結 http://www.isunfar.com.tw/product/product.aspx?prodSeq=202281 撼訊7750被放到福利品區已有一段時間,價格維持一般行情價2790( ...

現在顯卡買A家的是不是比較好?

David avatar
By David
at 2013-06-20T13:10
兩大家遊戲主機,PSandamp;XBOX未來都採用AMD的顯卡 未來聽說遊戲也都是配合AMD比較多 尤其是寒霜3的引擎之後只為AMD作優化 還有可能跟HD8000一起堆出戰地風雲4 所以現在下手AMD的顯示卡是不是比較好啊? 因為所有遊戲都會針對AMD顯卡作優化阿~ 小弟曾經體會過CCC有 ...

顯卡配備夠 lol的FPS仍不穩..

Xanthe avatar
By Xanthe
at 2013-06-20T13:00
※ [本文轉錄自 LoL 看板 #1HmSTmtv ] 作者: Bemyway1990 (BreathE) 看板: LoL 標題: [問題] 配備夠 FPS仍不穩.. 時間: Wed Jun 19 22:59:57 2013 這幾天都在爬FPS的文 本身作業系統是win 8 CPU i7 3770 顯 ...