陳新龍
提到刷新率FPS,相信很多小伙伴都不陌生,FPS是圖像領域中的定義,是指畫面每秒傳輸幀數,通俗來講就是指動畫或視頻每秒鐘的畫面數,也就是我們常說的“刷新率”。FPS是測量用于保存、顯示動態視頻的信息數量,每秒鐘幀數越多,所顯示的動作就會越流暢。玩王者榮耀的小伙伴,可以在戰斗設置中打開“幀率顯示”,在手機右上角顯示FPS數值。在游戲中一般人能接受的最低FPS約為30FPS低于這個刷新率游戲就會有明顯卡頓了,基本流暢等級則需要大于60FPS。
從上面對FPS的論述來說,FPS就是每秒鐘出現的畫面數,那么今天就和大家探討一下如何通過Scratch計算出FPS,查詢每秒顯示的幀數,計算FPS的代碼簡單易懂,相信聰明的你肯定能理解。我們不需要新增加任何角色,只需要從默認的小貓角色開始動手編寫程序,想辦法讓小貓動起來,在小貓動起來的同時記錄下每秒鐘小貓出現的畫面數(圖1)。

讓小貓動起來的方法有無數種,小陳老師選擇了最簡單的一種,首先將小貓的旋轉方式設為左右旋轉,讓小貓不停地重復向前運動,運動步數可以自行調整,當小貓碰到舞臺邊緣后,增加碰到邊緣反彈的積木,讓小貓向著反方向運動。在小貓運動的過程中新增“計數”和“FPS”變量用來進行標記。變量“計數”用來統計小貓在移動的過程中所出現的次數,所以當程序運行后,將變量“計數”設置為0,在小貓移動的過程中不斷將計數累加,那可能有同學有疑問了,計數累加有什么作用呢?那需要計算的FPS要如何求解呢?在上文中我們就已經提到FPS是每秒鐘出現的畫面數,我們可以通過偵測中的計時器來進行測算,默認情況下計時器為零,當計時器超過1秒時,自動停止對變量“計數”的增加,讀取出當前FPS的值,并且將變量“計數”清零,重新累加(圖2)。

編寫完程序之后,大家可以去測試一下結果,我的結果數值保持在30-31之間,總體來說還是蠻不錯的體驗。當在編輯中打開加速模式的時候,數值提高到了1.7萬-2萬之間。不知道大家的結果是什么呢(圖3)?

小知識:動畫播放速度的單位就是FPS,其中的F就是英文單詞Frame(畫面、幀),P就是Per(每),S就是Second(秒)。用中文表達就是多少幀每秒或每秒多少幀。電影是24FPS,通常簡稱為24幀。在電腦使用和游戲場景中則需要60FPS或者更高的幀率,大家還可以通過查閱相關資料了解更多關于FPS的知識與內容。