從大塊頭的CRT(Cathode-ray tube)到輕薄小巧的LCD(Liquid-crystal display)糯累,甚至最新的OLED,人類對(duì)于電子顯示技術(shù)的探索與革新讓廣大消費(fèi)者的觀看體驗(yàn)在近幾十年里有了長足的進(jìn)步册踩。電子游戲作為高度依賴顯示技術(shù)的娛樂方式泳姐,這些技術(shù)的變革與升級(jí)對(duì)其自身的發(fā)展有著巨大的影響。雖然從工作原理到制作材料暂吉,CRT胖秒、LCD以及OLED都大相徑庭,但它們生成圖像都需要對(duì)屏幕內(nèi)容不斷的刷新(Refresh)慕的。大部分顯示設(shè)備的刷新率(Refresh Rate)是一個(gè)固定的值阎肝,這對(duì)于很多應(yīng)用場景來說不是一個(gè)問題,比如看電影肮街,辦公等风题,但是電子游戲則不同。
電子游戲圖像的生成十分復(fù)雜嫉父,游戲主程序?qū)鼍靶枰男┵N圖沛硅、模型進(jìn)行計(jì)算,從存儲(chǔ)器中調(diào)用绕辖,最后由顯示單元進(jìn)行運(yùn)算輸出到顯示設(shè)備摇肌,整個(gè)流程可以用下圖來表示:
在游戲畫面生成完畢并輸出到顯示設(shè)備時(shí),游戲畫面的顯示可能和顯示設(shè)備的刷新過程產(chǎn)生沖突仪际,導(dǎo)致顯示畫面出現(xiàn)問題围小,一般常見的問題分為兩種:
畫面撕裂(Tearing)
畫面卡頓(Stuttering)
這兩種畫面問題出現(xiàn)的原因比較類似,我們先從畫面撕裂(Tearing)開始树碱。
當(dāng)我們屏幕上正在顯示的那一幀畫面還沒完全消失的時(shí)候肯适,新一幀畫面就被輸出到了顯示設(shè)備上,于是我們將會(huì)看到兩幀不同的畫面同時(shí)出現(xiàn)在屏幕上赴恨,這種情況就是畫面撕裂疹娶。
出現(xiàn)這種情況的原因?yàn)椋荷捎螒虍嬅娴倪^程中伴栓,某些環(huán)節(jié)的性能會(huì)成為瓶頸(可能是游戲程序架構(gòu)設(shè)計(jì)問題伦连,也有可能是硬件性能不足),造成幀率生成時(shí)間(Frame Time钳垮,幀率時(shí)間指的是顯卡生成一幀畫面所需要的時(shí)間)變長惑淳,當(dāng)顯示單元渲染完畢向外輸出的時(shí)間節(jié)點(diǎn),卡在了顯示設(shè)備的刷新周期中間饺窿。目前市面上超過90%都是采用LCD技術(shù)的顯示設(shè)備歧焦,它們的刷新率基本都是固定的,而游戲畫面生成的時(shí)間不固定,總會(huì)有與顯示設(shè)備刷新率打架的時(shí)候绢馍。