[3].來聊一聊撕裂和掉幀以及卡頓

跳去目錄


畫面顯示不全

在開始探討上述問題之前,先來看下畫面顯示不全

畫面顯示不全

(這張圖只是為了比較形象的表示畫面顯示不全

? 在早期的圖像技術(shù)中嘀粱,CPU將圖像處理成圖像數(shù)據(jù)矾瘾,并放到幀緩沖區(qū)中亚再,然后由顯示控制器去顯示勉盅,但由于早期的CPU性能較差(或者比較差的CPU同時處理了太多的工作)强胰,CPU還未將一張完整的圖片處理完畢翘簇,圖像控制器便將數(shù)據(jù)拿走了缠沈,導致光柵掃描時摩渺,前半部分有信號简烤,而后半部分并沒有圖像信號,便造成了圖片顯示不全摇幻。

雙重緩存技術(shù)

? 為了解決上述的問題横侦,便在單緩沖區(qū)的基礎(chǔ)上挥萌,再添加了一個相同的緩沖區(qū),這樣枉侧,在一個緩沖區(qū)接受由CPU處理的數(shù)據(jù)的時候引瀑,另一個緩沖區(qū)便將已經(jīng)存儲的數(shù)據(jù)交給顯示控制器,顯示控制器便會將這個數(shù)據(jù)顯示出去榨馁,這樣憨栽,當CPU與圖像控制器協(xié)調(diào)一致的時候,就會顯示出完整的圖像了

? 在這之后翼虫,為了減輕CPU的壓力屑柔,便將圖像處理相關(guān)的模塊完全獨立出來,CPU僅負責核心數(shù)據(jù)的處理珍剑,獨立出的這個模塊便被用來專門處理圖像相關(guān)掸宛,這個模塊便是GPU

圖像撕裂

只是為了形象的表示圖像撕裂而夸張的圖

游戲中的圖像撕裂

GPU出現(xiàn)后招拙,CPU由于不再處理圖像相關(guān)的工作唧瘾,壓力大幅度減少,而GPU處理圖片的專職工作迫像,二者協(xié)調(diào)劈愚,在加載簡單內(nèi)容的時候瞳遍,往往顯得比較輕松闻妓。但加載比較復雜的內(nèi)容時,新的問題便出現(xiàn)了掠械,由于CPU與GPU并無法完全的協(xié)調(diào)一致由缆,甚至CPU的性能會明顯高于GPU,這時候猾蒂,CPU將下一幀(C幀)的圖像數(shù)據(jù)處理完畢均唉,并移交給GPU,并向圖像控制器發(fā)送顯示信號肚菠,但GPU并未將當前幀(B幀)的圖像處理(處理成數(shù)字信號)完畢舔箭,此時,顯示器上正在顯示上一幀(A幀)的圖像蚊逢,而圖像控制器直接拿走了這一幀(B幀)的圖像數(shù)據(jù)层扶,并進行掃描顯示,便出現(xiàn)了部分屏幕顯示這一幀(B幀)其他部分顯示上一幀(A幀)圖像的情況烙荷,也就是圖像撕裂镜会。

垂直同步

? 為了解決圖像撕裂的問題,就需要在GPU處理圖像數(shù)據(jù)的時候终抽,給正在處理的幀緩沖區(qū)加上一個鎖戳表,這個鎖用于保證GPU在處理時桶至,圖像顯示器無法拿走這個幀緩沖區(qū)的數(shù)據(jù),并等待處理完成匾旭,之后再拿走數(shù)據(jù)并顯示镣屹,簡單來講,就是給每個幀緩沖區(qū)增加了一個紅綠燈季率,紅燈等待野瘦,綠燈拿走,這個紅綠燈便是垂直同步信號飒泻,這項技術(shù)稱為垂直同步

掉幀

? 引入垂直同步后鞭光,圖像撕裂的問題也算解決了,但這種拆東墻補西墻的方式并沒有將顯示變得更好泞遗,在很多N卡的優(yōu)化教程里面惰许,都是推薦關(guān)掉垂直同步的,在處理簡單的任務時還好史辙,處理復雜的任務(尤其是游戲)的時候汹买,便會引起掉幀的問題。

渲染A

? CPU在渲染完下下一幀(D幀)的圖像后聊倔,由于此時GPU并未處理完這一幀(B幀)晦毙,而顯示控制器收到信號,由于垂直同步的存在耙蔑,顯示完上一幀(A幀)后便一直在等待這一幀(B幀)完成见妒,而此時CPU的下下一幀(D幀)的數(shù)據(jù)就會覆蓋掉交換了幀緩沖區(qū)后存放著的下一幀(C幀)的數(shù)據(jù),就丟失了C幀甸陌。
C幀丟失

? 所以在玩游戲(比如LOL)的時候须揣,因為網(wǎng)絡(luò)的不穩(wěn)定,在某一個時刻钱豁,從服務器里面下載大量的圖像數(shù)據(jù)耻卡,此時CPU處理得過來,但是GPU處理不過來的時候牲尺,就會產(chǎn)生掉幀的情況卵酪,而不開垂直同步的時候人物就會'漂移'甚至出現(xiàn)多個人物。

? 綜上所述谤碳,掉幀的根本原因是CPU與GPU的工作不協(xié)調(diào)所致溃卡。

三重緩存

? 為了解決這個問題,部分廠商將二重緩存拓展為三重緩存估蹄,在多了一個幀緩存的情況下塑煎,掉幀的情況有所緩解,但也只是稍微緩解臭蚁,根本原因還是CPU和GPU的不協(xié)調(diào)所致最铁。


跳去目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讯赏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冷尉,更是在濱河造成了極大的恐慌漱挎,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雀哨,死亡現(xiàn)場離奇詭異磕谅,居然都是意外死亡,警方通過查閱死者的電腦和手機雾棺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門膊夹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捌浩,你說我怎么就攤上這事放刨。” “怎么了尸饺?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵进统,是天一觀的道長。 經(jīng)常有香客問我浪听,道長螟碎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任迹栓,我火速辦了婚禮掉分,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迈螟。我一直安慰自己叉抡,他們只是感情好尔崔,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布答毫。 她就那樣靜靜地躺著,像睡著了一般季春。 火紅的嫁衣襯著肌膚如雪洗搂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天载弄,我揣著相機與錄音耘拇,去河邊找鬼。 笑死宇攻,一個胖子當著我的面吹牛惫叛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逞刷,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼嘉涌,長吁一口氣:“原來是場噩夢啊……” “哼妻熊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仑最,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤扔役,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后警医,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亿胸,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年预皇,在試婚紗的時候發(fā)現(xiàn)自己被綠了侈玄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡吟温,死狀恐怖拗馒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情溯街,我是刑警寧澤诱桂,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站呈昔,受9級特大地震影響挥等,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜堤尾,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一肝劲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郭宝,春花似錦辞槐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至衔统,卻和暖如春鹿榜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锦爵。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工舱殿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人险掀。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓沪袭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親樟氢。 傳聞我的和親對象是個殘疾皇子冈绊,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348