在注重App性能的領(lǐng)域,60fps和16ms(毫秒)是經(jīng)常提及的概念小作。但是亭姥,為什么數(shù)字是60和16呢?
這些技術(shù)細(xì)節(jié)是與硬件相關(guān)的顾稀,——與人眼有關(guān)达罗。
人眼與照相機(jī)的工作原理不同,不會發(fā)送現(xiàn)實世界的快照圖片至人腦静秆,供人來識別現(xiàn)實世界粮揉。大腦不斷地處理眼睛發(fā)送給它的視覺信號,所以對于我們大腦來說抚笔,并沒有幀或快照的概念扶认,我們對運動的概念受到靜止幀的影響很大。當(dāng)靜止圖像的輪換顯示足夠快時殊橙,我們可以成功地騙過人腦蝠引,讓其誤感知到并未存在的運動阳谍。
重要的是,我們切換靜止圖像的速度螃概,對我們感知的運動的流暢度有巨大影響矫夯。當(dāng)播放圖像大于10fps-12fps時,人才會感知到圖像內(nèi)容是運動的吊洼。當(dāng)然训貌,這樣的速率運動非常不流暢。只有當(dāng)大于24fps時冒窍,才會產(chǎn)生流暢的觀感递沪。不過,這也是在借助了視覺效果如動態(tài)模糊才達(dá)到的综液。在電影界款慨,24幀是黃金標(biāo)準(zhǔn)。24幀足夠讓畫面非常流暢谬莹,并且在預(yù)算上是便宜的檩奠。這也是過去的50年間,大多數(shù)電影都是24幀的電影附帽。
30幀的電影是足夠的流暢的埠戳,但是由于沒有絢麗的影院效果,它并沒有太讓人相信蕉扮。
60fps是事實上的黃金標(biāo)準(zhǔn)整胃,非常流暢,沒有任何小把戲喳钟。并且屁使,大多數(shù)人無法感受到幀率大于60fps的好處。需要注意的是奔则,人眼對幀率前后不一致非常敏感屋灌。
例如,當(dāng)畫面先以60fps幀率移動应狱,然后畫面突然降低至20fps并且?guī)什粩嘧兓瘯r共郭,人眼會發(fā)覺畫面是不流暢的,這往往會讓用戶會變得非常不安疾呻。
作為一個App開發(fā)者的目標(biāo)是明確的:確保App能保持以60fps的幀率運行除嘹,并且確保用戶體驗保持下去。
如果App以60fps的幀率運行岸蜗,說明了App每個16ms都完成了所有工作尉咕,包括輸入、計算璃岳、網(wǎng)絡(luò)通信和渲染年缎,每幀都為用戶提供了流暢體驗悔捶。