陳新龍
提到刷新率FPS,相信很多小伙伴都不陌生,F(xiàn)PS是圖像領(lǐng)域中的定義,是指畫面每秒傳輸幀數(shù),通俗來講就是指動(dòng)畫或視頻每秒鐘的畫面數(shù),也就是我們常說的“刷新率”。FPS是測量用于保存、顯示動(dòng)態(tài)視頻的信息數(shù)量,每秒鐘幀數(shù)越多,所顯示的動(dòng)作就會越流暢。玩王者榮耀的小伙伴,可以在戰(zhàn)斗設(shè)置中打開“幀率顯示”,在手機(jī)右上角顯示FPS數(shù)值。在游戲中一般人能接受的最低FPS約為30FPS低于這個(gè)刷新率游戲就會有明顯卡頓了,基本流暢等級則需要大于60FPS。
從上面對FPS的論述來說,F(xiàn)PS就是每秒鐘出現(xiàn)的畫面數(shù),那么今天就和大家探討一下如何通過Scratch計(jì)算出FPS,查詢每秒顯示的幀數(shù),計(jì)算FPS的代碼簡單易懂,相信聰明的你肯定能理解。我們不需要新增加任何角色,只需要從默認(rèn)的小貓角色開始動(dòng)手編寫程序,想辦法讓小貓動(dòng)起來,在小貓動(dòng)起來的同時(shí)記錄下每秒鐘小貓出現(xiàn)的畫面數(shù)(圖1)。
讓小貓動(dòng)起來的方法有無數(shù)種,小陳老師選擇了最簡單的一種,首先將小貓的旋轉(zhuǎn)方式設(shè)為左右旋轉(zhuǎn),讓小貓不停地重復(fù)向前運(yùn)動(dòng),運(yùn)動(dòng)步數(shù)可以自行調(diào)整,當(dāng)小貓碰到舞臺邊緣后,增加碰到邊緣反彈的積木,讓小貓向著反方向運(yùn)動(dòng)。在小貓運(yùn)動(dòng)的過程中新增“計(jì)數(shù)”和“FPS”變量用來進(jìn)行標(biāo)記。變量“計(jì)數(shù)”用來統(tǒng)計(jì)小貓?jiān)谝苿?dòng)的過程中所出現(xiàn)的次數(shù),所以當(dāng)程序運(yùn)行后,將變量“計(jì)數(shù)”設(shè)置為0,在小貓移動(dòng)的過程中不斷將計(jì)數(shù)累加,那可能有同學(xué)有疑問了,計(jì)數(shù)累加有什么作用呢?那需要計(jì)算的FPS要如何求解呢?在上文中我們就已經(jīng)提到FPS是每秒鐘出現(xiàn)的畫面數(shù),我們可以通過偵測中的計(jì)時(shí)器來進(jìn)行測算,默認(rèn)情況下計(jì)時(shí)器為零,當(dāng)計(jì)時(shí)器超過1秒時(shí),自動(dòng)停止對變量“計(jì)數(shù)”的增加,讀取出當(dāng)前FPS的值,并且將變量“計(jì)數(shù)”清零,重新累加(圖2)。
編寫完程序之后,大家可以去測試一下結(jié)果,我的結(jié)果數(shù)值保持在30-31之間,總體來說還是蠻不錯(cuò)的體驗(yàn)。當(dāng)在編輯中打開加速模式的時(shí)候,數(shù)值提高到了1.7萬-2萬之間。不知道大家的結(jié)果是什么呢(圖3)?
小知識:動(dòng)畫播放速度的單位就是FPS,其中的F就是英文單詞Frame(畫面、幀),P就是Per(每),S就是Second(秒)。用中文表達(dá)就是多少幀每秒或每秒多少幀。電影是24FPS,通常簡稱為24幀。在電腦使用和游戲場景中則需要60FPS或者更高的幀率,大家還可以通過查閱相關(guān)資料了解更多關(guān)于FPS的知識與內(nèi)容。