一種移動設備的幀率探測方法和相關裝置制造方法
【專利摘要】本發(fā)明實施例公開一種移動設備的幀率探測方法和相關裝置,用于實時檢測顯示幀率。方法可包括:當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值;根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化;若是,將移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長;判斷采樣時間段的計時時長是否已經完成,若否,觸發(fā)按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值再次執(zhí)行;當采樣時間段計時結束時,輸出幀率統(tǒng)計值,根據采樣時間段和幀率統(tǒng)計值獲取移動設備的實時幀率。
【專利說明】一種移動設備的幀率探測方法和相關裝置
【技術領域】
[0001]本發(fā)明涉及視頻控制【技術領域】,尤其涉及一種移動設備的幀率探測方法和相關裝置。
【背景技術】
[0002]目前手機終端上安裝的應用程序諸如游戲軟件、視頻通話軟件越來越多,為了能夠檢測軟件的流暢度,比如在滑屏時軟件的靈敏程度,常常需要精確的知道當前手機終端的幀率,并且還有一些評測軟件也常常將手機終端的幀率作為衡量手機性能的一個方面,這同樣也需要獲知當前手機終端的幀率。
[0003]現有技術中存在一種對手機終端的幀率進行統(tǒng)計的方法,采用通過攝像機對手機終端的屏幕連續(xù)拍攝的方式,得到一段視頻,然后借助于計算機(PC, Personal Computer)上安裝的視頻播放軟件,基于錄制的視頻由人工逐幀的進行幀數統(tǒng)計,從而得到手機終端在拍攝時刻的巾貞率。
[0004]但是本發(fā)明的發(fā)明人在實現本發(fā)明的過程中發(fā)現:現有的這種借助于攝像機進行拍攝,由人工使用PC進行統(tǒng)計得到幀率的方式,需要完全依賴于人工實現,無法自動完成測試過程,耗時費力;且這種幀率統(tǒng)計方法需要使用攝像機和PC才能實現,統(tǒng)計起來不方便,并且統(tǒng)計出來的是在拍攝時刻手機終端的幀率,不能隨時隨地了解當前手機終端的幀率,無法獲知手機終端的實時幀率。
【發(fā)明內容】
[0005]本發(fā)明實施例提供了一種移動設備的幀率探測方法和相關裝置,用于實時檢測移動設備的屏幕顯示幀率。
[0006]為解決上述技術問題,本發(fā)明實施例提供以下技術方案:
[0007]第一方面,本發(fā)明實施例提供一種移動設備的幀率探測方法,包括:
[0008]當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,所述第一幀為在所述采樣時間間隔之前的采樣時間采集到的幀,所述第二幀為在所述采樣時間間隔之后的采樣時間采集到的幀;
[0009]根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化;
[0010]若是,將所述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長;
[0011]判斷所述采樣時間段的計時時長是否已經完成,若否,觸發(fā)按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值再次執(zhí)行;當所述采樣時間段計時結束時,輸出所述幀率統(tǒng)計值,根據所述采樣時間段和所述幀率統(tǒng)計值獲取所述移動設備的實時幀率。
[0012]第二方面,本發(fā)明實施例還提供一種移動設備的幀率探測裝置,包括:
[0013]像素值獲取模塊,用于當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,所述第一幀為在所述采樣時間間隔之前的采樣時間采集到的幀,所述第二幀為在所述采樣時間間隔之后的采樣時間采集到的幀;
[0014]顯存判斷模塊,用于根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化;
[0015]統(tǒng)計模塊,用于當所述物理顯存發(fā)生變化時,將所述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長;
[0016]計時模塊,用于判斷所述采樣時間段的計時時長是否已經完成,若否,觸發(fā)所述像素值獲取模塊再次執(zhí)行;
[0017]幀率探測模塊,用于當所述采樣時間段計時結束時,輸出所述移動設備的幀率統(tǒng)計值,根據所述采樣時間段和所述幀率統(tǒng)計值獲取所述移動設備的實時幀率。
[0018]從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
[0019]在本發(fā)明實施例中,預先設置采樣時間段和采樣時間間隔,然后當采樣時間段計時開始時,按照采樣時間間隔獲取在采樣時間間隔之前和之后的采樣時間分布采集到的兩幀的像素點的像素值,得到第一幀的像素點的像素值和第二幀的像素點的像素值,然后根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化,若是,將移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長,接下來判斷采樣時間段的計時時長是否已經完成,若否,按照采樣時間間隔繼續(xù)獲取前后個采樣時間分布采集到的兩幀的像素點的像素值,并繼續(xù)進行物理顯存是否發(fā)生變化的判斷,直至采樣時間段計時結束,輸出幀率統(tǒng)計值,根據采樣時間段和幀率統(tǒng)計值獲取當前移動設備的實時幀率。通過在采樣時間段內按照采樣時間間隔定時對移動設備的物理顯存的數據內容進行提取和比對,從而計算出物理顯存的幀率,可以實現隨時隨地的對移動設備的屏幕顯示幀率進行實時探測。
【專利附圖】
【附圖說明】
[0020]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的技術人員來講,還可以根據這些附圖獲得其他的附圖。
[0021]圖1為本發(fā)明實施例提供的一種移動設備的幀率探測方法的流程方框示意圖;
[0022]圖2為本發(fā)明實施例提供的另一種移動設備的幀率探測方法的流程方框示意圖;
[0023]圖3為本發(fā)明實施例中將移動設備的物理顯存映射到進程的虛擬地址空間并讀取出像素點的像素值的實現方式示意圖;
[0024]圖4為本發(fā)明實施例提供的另一種移動設備的幀率探測方法的流程方框示意圖;
[0025]圖5為本發(fā)明實施例中對第一幀的全部像素點和第二幀的全部像素點進行checksum的實現方式示意圖;
[0026]圖6為本發(fā)明實施例中移動設備的實時幀率探測方法的流程示意圖;
[0027]圖7_a為本發(fā)明實施例提供的一種移動設備的實時幀率探測裝置的組成結構示意圖;
[0028]圖7_b為本發(fā)明實施例提供的另一種移動設備的實時幀率探測裝置的組成結構示意圖;
[0029]圖7-c為本發(fā)明實施例提供的另一種移動設備的實時幀率探測裝置的組成結構示意圖;
[0030]圖7-d為本發(fā)明實施例提供的另一種移動設備的實時幀率探測裝置的組成結構示意圖;
[0031]圖8為本發(fā)明實施例提供的移動設備的實時幀率探測方法應用于終端的組成結構示意圖。
【具體實施方式】
[0032]本發(fā)明實施例提供了一種移動設備的幀率探測方法和相關裝置,用于實時檢測移動設備的屏幕顯示幀率。
[0033]為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例?;诒景l(fā)明中的實施例,本領域的技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0034]本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的術語在適當情況下可以互換,這僅僅是描述本發(fā)明的實施例中對相同屬性的對象在描述時所采用的區(qū)分方式。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產品或設備不必限于那些單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它單元。
[0035]以下分別進行詳細說明。
[0036]本發(fā)明移動設備的實時幀率探測方法的一個實施例,可以包括:當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,上述第一幀為在上述采樣時間間隔之前的采樣時間采集到的幀,上述第二幀為在上述采樣時間間隔之后的采樣時間采集到的幀;根據上述第一幀的像素點的像素值和上述第二幀的像素點的像素值判斷上述物理顯存是否發(fā)生變化;若是,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長;判斷上述采樣時間段的計時時長是否已經完成,若否,觸發(fā)按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值再次執(zhí)行;當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時幀率。
[0037]請參閱圖1所示,本發(fā)明一個實施例提供的移動設備的實時幀率探測方法,可以包括:
[0038]101、當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值。
[0039]其中,上述第一幀為在上述采樣時間間隔之前的采樣時間采集到的幀,上述第二幀為在上述采樣時間間隔之后的采樣時間采集到的幀。
[0040]在本發(fā)明實施例中,為了能夠精確的獲取移動設備的實時幀率,在每次對移動設備的實時幀率進行探測之前,可以預先設置采樣時間段以及采樣時間間隔,其中采樣時間段指的是選擇用于計算實時幀率的時間段,具體可以由用戶來指定,當然也可以由移動設備根據自身的硬件結構性能來設定,舉例來說,可以根據移動設備的內存的速度和中央處理器(CPU, Central Processing Unit)的頻率來設定,另外也可以根據用戶通常在對應用程序進行流暢度測試時設定的統(tǒng)計時間段來設定,如用戶可以設定采樣時間段為I秒(s),或者移動設備根據自己的內存讀取速度和CPU的運行頻率設定采樣時間段為Is。采樣時間間隔是指在采樣時間段內間隔多長的時間獲取一次物理顯存當前幀的像素點的像素值,采樣時間間隔同樣具體可以由用戶來指定,當然也可以由移動設備根據自身的硬件結構性能來設定,舉例來說,可以根據移動設備的內存的速度和CPU的頻率來設定,另外也可以根據用戶通常在對應用程序進行流暢度測試時設定的統(tǒng)計時間段內設定的統(tǒng)計次數來設定,如用戶可以設定采樣時間段為ls,在Is內統(tǒng)計50次,則采樣時間間隔可以設定為20毫秒(ms),或者移動設備根據自己的內存讀取速度和CPU的運行頻率設定采樣時間段為Is、在Is內統(tǒng)計50次,則采樣時間間隔可以設定為20ms。另外,在本發(fā)明實施例中,采樣時間段和采樣時間間隔的設定還可以采取其他的方式,例如,若探測移動設備的實時幀率是為了能夠檢測安裝在移動設備上的游戲類應用程序的動作流暢度,采樣時間段和采樣時間間隔可以根據探測移動設備上安裝的游戲類應用程序將采樣時間段設定為Is、將采樣時間間隔設定為10ms,又如,若探測移動設備的實時幀率是為了能夠檢測安裝在移動設備上的視頻通話類應用程序的視頻畫面顯示流暢度,采樣時間段和采樣時間間隔可以根據探測移動設備上安裝的視頻通話類軟件將采樣時間段設定為2s、將采樣時間間隔設定為40ms,也就是說,采樣時間段和采樣時間間隔的設定也可以由安裝在移動設備上的應用程序來決定,此處僅作說明,不做限定。
[0041]在本發(fā)明的一些實施例中,當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在前后兩幀的像素點的像素值。為了能夠更準確的說明在一個采樣時間間隔之前的采樣時間和之后的采樣時間的兩個幀,本發(fā)明實施例中將這兩個中貞定義為“第一巾貞”和“第二巾貞”,則分別在第一巾貞的米樣時間和第二巾貞的米樣時間,分別獲取到的是物理顯存在第一幀的像素點和在第二幀的像素點,這兩個像素點分別對應的像素值為:在第一幀的像素點的像素值和在第二幀的像素點的像素值。本發(fā)明實施例中某一個像素點的像素值指的是在該像素點的數字圖像的亮度值,其中,通過第一幀的像素點的像素值就可以表示移動設備的物理顯存在第一幀的采樣時間時的數據內容,通過第二幀的像素點的像素值就可以表示移動設備的物理顯存在第二幀的采樣時間時的數據內容。
[0042]在本發(fā)明的一些實施例中,移動設備的物理顯存中存貯的數據內容對像是顯卡輸出到顯示器上的每個像素的信息,并且物理顯存是顯卡的重要組成部分,顯示芯片處理完像素數據后會將像素數據保存到物理顯存中,然后由數模轉換器從物理顯存中讀取出像素數據并將數字信號轉換為模擬信號,最后由移動設備的屏幕顯示出來。本發(fā)明實施例中,當顯示芯片處理完像素數據后會將像素數據保存到物理顯存中,故可以通過移動設備的物理緩存在預置的采樣時間段內按照預置的采樣時間間隔獲取到物理顯存中像素點的像素值。
[0043]在本發(fā)明的一些實施例中,采樣時間段的計時方法以及每隔采樣時間間隔定時觸發(fā)步驟101開始執(zhí)行的方式具體可以通過定時器來定時觸發(fā)實現,例如,采樣時間段為ls,采樣時間間隔為20ms,則在采樣時間段的計時時刻開始時定時器每隔20ms就觸發(fā)步驟101執(zhí)行一次。
[0044]102、根據上述第一幀的像素點的像素值和上述第二幀的像素點的像素值判斷上述物理顯存是否發(fā)生變化。
[0045]其中,當上述物理顯存發(fā)生變化時執(zhí)行步驟103。
[0046]在本發(fā)明實施例中,通過步驟101統(tǒng)計得到在一個采樣時間間隔之前的采樣時間采集到移動設備的物理顯存中數據內容為第一幀的像素點的像素值、在該采樣時間間隔之后的采樣時間采集到移動設備的物理顯存中數據內容為第二幀的像素點的像素值,然后根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化。其中,本發(fā)明實施例中當物理顯存發(fā)生變化時,數模轉換器從物理顯存中讀取出像素數據并將數字信號轉換為模擬信號,最后由移動設備的屏幕顯示出來時屏幕畫面就會產生變化,故本發(fā)明實施例通過物理顯存發(fā)生變化與否獲取到移動設備的屏幕畫面顯示是否發(fā)生變化,從而對移動設備的幀率進行變化次數的統(tǒng)計,并依據采樣時間段從而計算出移動設備的實時幀率,詳見后續(xù)實施例的描述。需要說明的是,在本發(fā)明實施例中根據上述第一幀的像素點的像素值和上述第二幀的像素點的像素值判斷上述物理顯存是否發(fā)生變化有多種實現方式,例如,可以對于在一個采樣時間間隔之前和之后的兩個采樣時間分別采集到的像素點的像素值進行逐幀比對,從而獲取到物理顯存是否發(fā)生變化,還可以對于在一個采樣時間間隔之前和之后的兩個采樣時間分別采集到的像素點的像素值進行總和檢驗碼的比對,從而獲取到物理顯存是否發(fā)生變化,在實際應用中具體可以應用場景來靈活設定,此處僅作說明,不做限定。
[0047]需要說明的是,在本發(fā)明的一些實施例中,對于步驟102中當上述物理顯存發(fā)生變化時執(zhí)行步驟103,詳見后續(xù)步驟的描述。另外,當上述物理顯存沒有發(fā)生變化時,需要重新觸發(fā)步驟101再次執(zhí)行,只是隨著計時器的計時時刻的增加獲取到的是后一個采樣時間間隔之前和之后的采樣時間采集到的幀的像素點的像素值。
[0048]103、當上述物理顯存發(fā)生變化時,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長。
[0049]其中,通過對物理顯存是否發(fā)生變化的判斷,從而獲取到移動設備的屏幕畫面顯示是否發(fā)生了變化,舉例來說,當物理顯存發(fā)生變化時移動設備的屏幕畫面顯示發(fā)生了變化,當物理顯存沒有發(fā)生變化時移動設備的屏幕畫面顯示沒有發(fā)生變化。當上述物理顯存發(fā)生變化時,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長。其中,統(tǒng)計步長指的是幀率統(tǒng)計值的增加幅度,統(tǒng)計步長的取值具體可以由幀率統(tǒng)計值的變化幅度來決定。例如,統(tǒng)計步長設置為I時,每當物理顯存發(fā)生變化時,就將移動設備的幀率統(tǒng)計值增加1,又如,統(tǒng)計步長設置為2時,每當物理顯存發(fā)生變化時,就將移動設備的幀率統(tǒng)計值增加2。
[0050]104、判斷上述采樣時間段的計時時長是否已經完成。
[0051]其中,若上述采樣時間段的計時時長還沒有完成時,觸發(fā)步驟101再次執(zhí)行,當上述采樣時間段計時結束時觸發(fā)步驟105執(zhí)行。
[0052]在本發(fā)明的一些實施例中,在采樣時間段計時開始之后,每當一個采樣時間間隔過后,都需要觸發(fā)步驟101開始執(zhí)行,這在步驟101執(zhí)行之后會順序觸發(fā)后續(xù)步驟102至104的執(zhí)行,從而實現在一個采樣時間段內循環(huán)往復多次,直至上述采樣時間段的計時結束。
[0053]105、當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時幀率。
[0054]在本發(fā)明實施例中,步驟101至步驟104會在采樣時間段計時開始后,依據采樣時間間隔多次循環(huán)往復執(zhí)行,直至上述采樣時間段的計時結束。當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時幀率。舉例來說,若采樣時間段預先設定為ls,輸出的幀率統(tǒng)計值為30個統(tǒng)計步長,則通過幀率統(tǒng)計值除以采樣時間段就可以或到移動設備的實時幀率為30幀。
[0055]由上可見,預先設置采樣時間段和采樣時間間隔,然后當采樣時間段計時開始時,按照采樣時間間隔獲取在采樣時間間隔之前和之后的采樣時間分布采集到的兩幀的像素點的像素值,得到第一幀的像素點的像素值和第二幀的像素點的像素值,然后根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化,若是,將移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長,接下來判斷采樣時間段的計時時長是否已經完成,若否,按照采樣時間間隔繼續(xù)獲取前后個采樣時間分布采集到的兩幀的像素點的像素值,并繼續(xù)進行物理顯存是否發(fā)生變化的判斷,直至采樣時間段計時結束,輸出幀率統(tǒng)計值,根據采樣時間段和幀率統(tǒng)計值獲取當前移動設備的實時幀率。通過在采樣時間段內按照采樣時間間隔定時對移動設備的物理顯存的數據內容進行提取和比對,從而計算出物理顯存的幀率,可以實現隨時隨地的對移動設備的屏幕顯示幀率進行實時探測。
[0056]請參閱圖2所示,本發(fā)明另一個實施例提供的移動設備的實時幀率探測方法,可以包括:
[0057]201、按照預置的采樣時間間隔將上述移動設備在第一幀的物理顯存和第二幀的物理顯存映射到進程的虛擬地址空間。
[0058]在本發(fā)明的一些實施例中,每個進程都有自己的虛擬地址空間,進程的地址空間的大小可以由移動設備的CPU的位數決定。當預置的采樣時間段計時開始時,按照預置的采樣時間間隔分別將采樣時間間隔之前的采樣時間采集到的第一幀的物理顯存映射到進程的虛擬地址空間、將采樣時間間隔之后的采樣時間采集到的第二幀的物理顯存映射到進程的虛擬地址空間。將物理顯存映射到進程的虛擬地址空間具體可以通過_ap的方式實現。其中,mmap將物理顯存中的數據內容映射進內存,數據內容被映射到多個頁上,如果數據內容的大小不是所有頁的大小之和,最后一個頁不被使用的空間將會清零。
[0059]202、以數組的方式從上述進程的虛擬地址空間中讀取出第一幀的像素點的像素值和第二幀的像素點的像素值。
[0060]其中,將第一幀的物理顯存映射到進程的虛擬地址空間之后,就可以通過數組的方式從進程的虛擬地址空間讀取出第一幀的像素點的像素值,同樣的,將第二幀的物理顯存映射到進程的虛擬地址空間之后,就可以通過數組的方式從進程的虛擬地址空間讀取出第二幀的像素點的像素值。
[0061]為了詳細說明如何將移動設備的物理顯存映射到進程的虛擬地址空間并讀取出像素點的像素值,請參閱如圖3所示,為本發(fā)明實施例中將移動設備的物理顯存映射到進程的虛擬地址空間并讀取出像素點的像素值的實現方式示意圖,首先通過_ap方式將物理顯存映射到進程的虛擬地址空間,然后通過數組Array[i] [j],通過i和j取值的不斷變化,可以從進程的虛擬地址空間中讀取出像素點的像素值,從而實現對物理顯存的訪問。
[0062]另外在本發(fā)明的一些實施例中,通過步驟201和步驟202獲取到物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值還可以有其它的實現方式,舉例來說,可以為如下步驟:訪問上述移動設備在第一幀的物理顯存,讀取上述移動設備在第一幀的物理顯存中的文件數據,得到上述第一幀的像素點的像素值;訪問上述移動設備在第二幀的物理顯存,讀取上述移動設備在第二幀的物理顯存中的文件數據,得到上述第二幀的像素點的像素值。也就是說,步驟201至202采用映射到進程的虛擬地址空間然后使用數組讀像素點的像素值的方式,可以類比于讀內存中數據內容的方式,其讀取效率較高,前述舉例中是直接訪問物理顯存,是以讀取“文件系統(tǒng)”的方式訪問了物理顯存,將物理顯存看成一個“文件系統(tǒng)”,通過讀取文件的方式讀取到物理顯存中的文件數據,這種方式相比于讀內存的方式效率稍微低一點,但同樣也可以獲取到移動設備第一幀的像素點的像素值和第二幀的像素點的像素值。
[0063]203、比較上述第一幀的每個第一像素點與上述第二幀的每個第二像素點各自的像素值是否相同。
[0064]其中,若第一幀的每個第一像素點和第二針的每個第二像素點各自的像素值都相同,則說明上述物理顯存沒有發(fā)生變化,若第一幀的每個第一像素點和第二針的每個第二像素點各自的像素值中存在像素值不相同的像素點,則說明所述物理顯存發(fā)生變化,上述第一像素點在第一幀中的像素位置和上述第二像素點在第二幀中的像素位置相同。
[0065]也就是說,步驟203通過對像素位置相同的像素點在采樣時間間隔之前的采樣時間和采樣時間間隔之后的采樣時間分別采集到第一像素點和第二像素點,通過逐個像素位置比較前后兩個采樣時間分別采集到的像素點的像素值是否不同,若每個像素位置的前后兩個采樣時間分別采集到的像素點的像素值都相同,則認為移動設備的物理顯存沒有發(fā)生變化,若所有的像素位置中有前后兩個采樣時間分別采集到的像素點的像素值不同,則認為移動設備的物理顯存發(fā)生了變化。
[0066]另外在本發(fā)明的一些實施例中,通過步驟203比較上述第一幀的每個第一像素點與上述第二幀的每個第二像素點各自的像素值是否相同還可以有其它的實現方式,舉例來說,可以為如下步驟:按照相同的概率抽樣方法分別從上述第一幀的全部像素點抽樣出第一像素點集合,從上述第二幀的全部像素點抽樣出第二像素點集合;比較上述第一像素點集合的每個第三像素點與上述第二像素點集合的每個第四像素點各自的像素值是否相同,若相同,則說明上述物理顯存沒有發(fā)生變化,若不相同,則說明上述物理顯存發(fā)生變化,其中,上述第三像素點在第一幀中的像素位置和上述第四像素點在第二幀中的像素位置相同。也就是說,相對于步驟203中逐個像素位置都判斷采樣時間間隔之前和之后的兩個采樣時間采集到的像素點的像素值是否相同,本發(fā)明實施例中還可以對全部的像素位置進行抽樣,得到部分像素位置,然后再比較這些部分像素位置中采樣時間間隔之前和之后的兩個采樣時間分別采集到的像素點的像素值是否相同,具體的,可以通過使用相同的概率抽樣方法分別從第一幀的全部像素點抽樣出第一像素點集合,從第二幀的全部像素點抽樣出第二像素點集合,然后比較上述第一像素點集合的每個第三像素點與上述第二像素點集合的每個第四像素點各自的像素值是否相同。
[0067]204、當上述物理顯存發(fā)生變化時,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長。
[0068]其中,通過對物理顯存是否發(fā)生變化的判斷,從而獲取到移動設備的屏幕畫面顯示是否發(fā)生了變化,舉例來說,當物理顯存發(fā)生變化時移動設備的屏幕畫面顯示發(fā)生了變化,當物理顯存沒有發(fā)生變化時移動設備的屏幕畫面顯示沒有發(fā)生變化。當上述物理顯存發(fā)生變化時,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長。其中,統(tǒng)計步長指的是幀率統(tǒng)計值的增加幅度,統(tǒng)計步長的取值具體可以由幀率統(tǒng)計值來決定。
[0069]205、判斷上述采樣時間段的計時時長是否已經完成。
[0070]其中,若上述采樣時間段的計時時長還沒有完成時,觸發(fā)步驟201再次執(zhí)行,當上述采樣時間段計時結束時觸發(fā)步驟206執(zhí)行。
[0071]在本發(fā)明的一些實施例中,在采樣時間段計時開始之后,每當一個采樣時間間隔過后,都需要觸發(fā)步驟201開始執(zhí)行,這在步驟201執(zhí)行之后會順序觸發(fā)后續(xù)步驟202至205的執(zhí)行,從而實現在一個采樣時間段內循環(huán)往復多次,直至上述采樣時間段的計時結束。
[0072]206、當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時幀率。
[0073]在本發(fā)明實施例中,步驟201至步驟205會在采樣時間段計時開始后,依據采樣時間間隔多次循環(huán)往復執(zhí)行,直至上述采樣時間段的計時結束。當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時中貞率。
[0074]請參閱圖4所示,本發(fā)明另一個實施例提供的移動設備的實時幀率探測方法,可以包括:
[0075]401、訪問上述移動設備在第一幀的物理顯存,讀取上述移動設備在第一幀的物理顯存中的文件數據,得到上述第一幀的像素點的像素值。
[0076]402、訪問上述移動設備在第二幀的物理顯存,讀取上述移動設備在第二幀的物理顯存中的文件數據,得到上述第二幀的像素點的像素值。
[0077]在本發(fā)明實施例中,前述實施例中步驟201至202采用映射到進程的虛擬地址空間然后使用數組讀像素點的像素值的方式,可以類比于讀內存中數據內容的方式,其讀取效率較高。步驟401和402采樣的實現方式是直接訪問物理顯存,是以讀取“文件系統(tǒng)”的方式訪問了物理顯存,將物理顯存看成一個“文件系統(tǒng)”,通過讀取文件的方式讀取到物理顯存中的文件數據,這種方式相比于讀內存的方式效率稍微低一點,但同樣也可以獲取到移動設備第一幀的像素點的像素值和第二幀的像素點的像素值。
[0078]403、分別計算上述第一幀的全部像素點的總和檢驗碼和上述第二幀的全部像素點的總和檢驗碼。
[0079]其中,計算像素點的總和檢驗碼可以通過checksum的方式來實現,checksum中需要計算出每個像素點的像素值的和。
[0080]404、判斷上述第一幀的全部像素點的總和檢驗碼和上述第二幀的全部像素點的總和檢驗碼是否相等。
[0081]其中,若上述第一幀的全部像素點的總和檢驗碼和上述第一幀的全部像素點的總和檢驗碼相等,則說明上述物理顯存沒有發(fā)生變化,若不相等,則說明上述物理顯存發(fā)生變化。
[0082]請參閱圖5所示,為本發(fā)明實施例中對第一幀的全部像素點和第二幀的全部像素點進行checksum的實現方式示意圖。其中,假設物理內存中圖像的分辨率為MXN,M和N為自然數,對于像素位置I在第一巾貞的像素點為X1,
[0083]像素位置I在第二幀的像素點為X1',對于像素位置2在第一幀的像素點為X2,像素位置2在第二巾貞的像素點為X2',計算上述第一巾貞的全部像素點的總和檢驗碼為sum',計算出第二巾貞的全部像素點的總和檢驗碼為sum,然后進行校驗(check),判斷sum'和sum是否相等,若是,則說明上述物理顯存沒有發(fā)生變化,若不相等,則說明上述物理顯存發(fā)生變化。
[0084]另外在本發(fā)明的一些實施例中,通過步驟403和步驟404通過判斷上述第一幀的全部像素點的總和檢驗碼和上述第二幀的全部像素點的總和檢驗碼是否相等可以判斷出移動設備的物理顯存是否發(fā)生變化,需要說明的是判斷移動設備的物理顯存是否發(fā)生變化還有其它的實現方式,例如,可以為如下步驟:按照相同的概率抽樣方法分別從上述第一幀的全部像素點抽樣出第一像素點集合,從上述第二幀的全部像素點抽樣出第二像素點集合;分別計算上述第一像素點集合中的全部像素點的總和檢驗碼和上述第二像素點集合中的全部像素點的總和檢驗碼;判斷上述第一像素點集合中的全部像素點的總和檢驗碼和上述第二像素點集合中的全部像素點的總和檢驗碼是否相等;若是,則說明上述物理顯存沒有發(fā)生變化,若不相等,則說明上述物理顯存發(fā)生變化。也就是說,前述實現方式是對全部的像素位置進行抽樣,得到部分像素位置,即第一像素點集合和第二像素點集合,接下來分別計算第一像素點集合和第二像素點集合中的全部像素點的總和檢驗碼。通過概率抽樣方法對物理顯存中的全部像素點進行概率抽樣,可以更快速的判斷出物理顯存是否發(fā)生變化。
[0085]405、當上述物理顯存發(fā)生變化時,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長。
[0086]其中,通過對物理顯存是否發(fā)生變化的判斷,從而獲取到移動設備的屏幕畫面顯示是否發(fā)生了變化,舉例來說,當物理顯存發(fā)生變化時移動設備的屏幕畫面顯示發(fā)生了變化,當物理顯存沒有發(fā)生變化時移動設備的屏幕畫面顯示沒有發(fā)生變化。當上述物理顯存發(fā)生變化時,將上述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長。其中,統(tǒng)計步長指的是幀率統(tǒng)計值的增加幅度,統(tǒng)計步長的取值具體可以由幀率統(tǒng)計值來決定。
[0087]406、判斷上述采樣時間段的計時時長是否已經完成。
[0088]其中,若上述采樣時間段的計時時長還沒有完成時,觸發(fā)步驟401再次執(zhí)行,當上述采樣時間段計時結束時觸發(fā)步驟407執(zhí)行。
[0089]在本發(fā)明的一些實施例中,在采樣時間段計時開始之后,每當一個采樣時間間隔過后,都需要觸發(fā)步驟401開始執(zhí)行,這在步驟401執(zhí)行之后會順序觸發(fā)后續(xù)步驟402至406的執(zhí)行,從而實現在一個采樣時間段內循環(huán)往復多次,直至上述采樣時間段的計時結束。
[0090]407、當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時幀率。
[0091]在本發(fā)明實施例中,步驟401至步驟405會在采樣時間段計時開始后,依據采樣時間間隔多次循環(huán)往復執(zhí)行,直至上述采樣時間段的計時結束。當上述采樣時間段計時結束時,輸出上述幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時中貞率。
[0092]由上可見,預先設置采樣時間段和采樣時間間隔,然后當采樣時間段計時開始時,按照采樣時間間隔獲取在采樣時間間隔之前和之后的采樣時間分布采集到的兩幀的像素點的像素值,得到第一幀的像素點的像素值和第二幀的像素點的像素值,然后根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化,若是,將移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長,接下來判斷采樣時間段的計時時長是否已經完成,若否,按照采樣時間間隔繼續(xù)獲取前后個采樣時間分布采集到的兩幀的像素點的像素值,并繼續(xù)進行物理顯存是否發(fā)生變化的判斷,直至采樣時間段計時結束,輸出幀率統(tǒng)計值,根據采樣時間段和幀率統(tǒng)計值獲取當前移動設備的實時幀率。通過在采樣時間段內按照采樣時間間隔定時對移動設備的物理顯存的數據內容進行提取和比對,從而計算出物理顯存的幀率,可以實現隨時隨地的對移動設備的屏幕顯示幀率進行實時探測。
[0093]為便于更好的理解和實施本發(fā)明實施例的上述方案,下面舉例相應的應用場景來進行具體說明。
[0094]請參閱如圖6所示,為本發(fā)明實施例中移動設備的實時幀率探測方法的流程示意圖,可以包括:
[0095]601、對預置的計數器Num和幀率寄存器FPS進行初始化,其中設定的采樣時間間隔為20ms、采樣時間段為ls,則在該采樣時間段內計數器的最大取值為50個,最小取值為0,初始化時Num的賦值為50,在圖6中用于符號”表示賦值的意思,“Num <— 50" BP表示為Num的賦值為50,后續(xù)步驟中出現的“<一”也表示賦值,FPS用于存儲移動設備的幀率統(tǒng)計值,FPS可以從小于或等于O開始計數,初始化時FPS的賦值為0,設定統(tǒng)計步長為
1
[0096]602,當采樣時間段計時開始時,每隔20ms觸發(fā)一下后續(xù)步驟603至步驟606,為了便于描述,將步驟603至步驟606畫入了一個大的虛線框,故可以簡化描述為每隔20ms觸發(fā)一下虛線框內的執(zhí)行步驟執(zhí)行一次。
[0097]603、判斷Num是否大于0,若Num小于或者等于0,則說明采樣時間段的計時結束了,重新觸發(fā)步驟601和步驟607開始執(zhí)行,若Num大于0,則說明采樣時間段的計時時長還正在進行,觸發(fā)步驟604開始執(zhí)行。
[0098]604、對Num進行重新賦值為:Num — I,并讀取巾貞緩存(frame buffer),采集到當前的物理顯存中像素點的像素值,然后執(zhí)行步驟605。
[0099]605、判斷移動設備的物理顯存是否發(fā)生變化,其判斷物理顯存發(fā)生變化的方式可參閱前述實施例中的描述,若物理顯存發(fā)生變化觸發(fā)步驟606開始執(zhí)行;
[0100]606、當物理顯存發(fā)生變化時,對FPS進行重新賦值為:FPS + I。
[0101]607、當采樣時間段計時結束時,輸出FPS中存儲的幀率統(tǒng)計值,根據上述采樣時間段和上述幀率統(tǒng)計值獲取上述移動設備的實時幀率,若采樣時間段為ls,則移動設備的實時幀率即為FPS中存儲的幀率統(tǒng)計值。
[0102]由上可見,預先設置采樣時間段和采樣時間間隔,然后當采樣時間段計時開始時,按照采樣時間間隔獲取在采樣時間間隔之前和之后的采樣時間分布采集到的兩幀的像素點的像素值,得到第一幀的像素點的像素值和第二幀的像素點的像素值,然后根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化,若是,將移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長,接下來判斷采樣時間段的計時時長是否已經完成,若否,按照采樣時間間隔繼續(xù)獲取前后個采樣時間分布采集到的兩幀的像素點的像素值,并繼續(xù)進行物理顯存是否發(fā)生變化的判斷,直至采樣時間段計時結束,輸出幀率統(tǒng)計值,根據采樣時間段和幀率統(tǒng)計值獲取當前移動設備的實時幀率。通過在采樣時間段內按照采樣時間間隔定時對移動設備的物理顯存的數據內容進行提取和比對,從而計算出物理顯存的幀率,可以實現隨時隨地的對移動設備的屏幕顯示幀率進行實時探測。
[0103]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0104]為便于更好的實施本發(fā)明實施例的上述方案,下面還提供用于實施上述方案的相關裝置。
[0105]請參閱圖7-a所示,本發(fā)明實施例提供的一種移動設備的實時幀率探測裝置700,可以包括:像素值獲取模塊701、顯存判斷模塊702、統(tǒng)計模塊703、計時模塊704、幀率探測模塊705,其中,
[0106]像素值獲取模塊701,用于當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,所述第一幀為在所述采樣時間間隔之前的采樣時間采集到的幀,所述第二幀為在所述采樣時間間隔之后的采樣時間采集到的幀;
[0107]顯存判斷模塊702,用于根據像素值獲取模塊701獲取到的所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化;
[0108]統(tǒng)計模塊703,用于當顯存判斷模塊702判斷得知所述物理顯存發(fā)生變化時,將所述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長;
[0109]計時模塊704,用于判斷所述采樣時間段的計時時長是否已經完成,若否,觸發(fā)所述像素值獲取模塊701再次執(zhí)行;
[0110]幀率探測模塊705,用于當所述采樣時間段計時結束時,輸出統(tǒng)計模塊703統(tǒng)計到的所述移動設備的幀率統(tǒng)計值,根據所述采樣時間段和所述幀率統(tǒng)計值獲取所述移動設備的實時幀率。
[0111]在本發(fā)明的一些實施例中,顯存判斷模塊702,具體用于比較所述第一幀的每個第一像素點與所述第二幀的每個第二像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第一像素點在第一幀中的像素位置和所述第二像素點在第二幀中的像素位置相同。
[0112]請參閱如圖7_b所示,在本發(fā)明的一些實施例中,移動設備的實時幀率探測裝置700,還可以包括:
[0113]設定模塊706,用于根據所述移動設備的內存的速度和中央處理器CPU的頻率設定所述采樣時間段和所述采樣時間間隔。
[0114]在本發(fā)明的一些實施例中,像素值獲取模塊701,可以包括:
[0115]映射子模塊7011,用于按照預置的采樣時間間隔將所述移動設備在第一幀的物理顯存和第二幀的物理顯存映射到進程的虛擬地址空間;
[0116]第一讀取子模塊7012,用于以數組的方式從所述進程的虛擬地址空間中讀取出第一幀的像素點的像素值和第二幀的像素點的像素值。
[0117]在本發(fā)明的一些實施例中,顯存判斷模塊702,可以包括:
[0118]第一計算子模塊7021,用于分別計算所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼;
[0119]第一判斷子模塊7022,用于判斷所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
[0120]請參閱如圖7-c所示,在本發(fā)明的一些實施例中,像素值獲取模塊701,可以包括:
[0121]顯存訪問子模塊7013,用于訪問所述移動設備在第一幀的物理顯存,訪問所述移動設備在第二幀的物理顯存;
[0122]第二讀取子模塊7014,用于讀取所述移動設備在第一幀的物理顯存中的文件數據,得到所述第一幀的像素點的像素值;讀取所述移動設備在第二幀的物理顯存中的文件數據,得到所述第二幀的像素點的像素值。
[0123]在本發(fā)明的一些實施例中,顯存判斷模塊702,可以包括:
[0124]抽樣子模塊7023,用于按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合;
[0125]第二計算子模塊7024,用于分別計算所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼;
[0126]第二判斷子模塊7025,用于判斷所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
[0127]請參閱如圖7-d所示,在本發(fā)明的一些實施例中,像素值獲取模塊701,可以包括:
[0128]顯存訪問子模塊7013,用于訪問所述移動設備在第一幀的物理顯存,訪問所述移動設備在第二幀的物理顯存;
[0129]第二讀取子模塊7014,用于讀取所述移動設備在第一幀的物理顯存中的文件數據,得到所述第一幀的像素點的像素值;讀取所述移動設備在第二幀的物理顯存中的文件數據,得到所述第二幀的像素點的像素值。
[0130]在本發(fā)明的一些實施例中,顯存判斷模塊702,可以包括:
[0131]抽樣子模塊7023,用于按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合;
[0132]比較子模塊7026,用于比較所述第一像素點集合的每個第三像素點與所述第二像素點集合的每個第四像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第三像素點在第一幀中的像素位置和所述第四像素點在第二幀中的像素位置相同。
[0133]需要說明的是,上述裝置各模塊/單元之間的信息交互、執(zhí)行過程等內容,由于與本發(fā)明方法實施例基于同一構思,其帶來的技術效果與本發(fā)明方法實施例相同,具體內容可參見本發(fā)明前述所示的方法實施例中的敘述,此處不再贅述。
[0134]綜上,預先設置采樣時間段和采樣時間間隔,然后當采樣時間段計時開始時,按照采樣時間間隔獲取在采樣時間間隔之前和之后的采樣時間分布采集到的兩幀的像素點的像素值,得到第一幀的像素點的像素值和第二幀的像素點的像素值,然后根據第一幀的像素點的像素值和第二幀的像素點的像素值判斷物理顯存是否發(fā)生變化,若是,將移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長,接下來判斷采樣時間段的計時時長是否已經完成,若否,按照采樣時間間隔繼續(xù)獲取前后個采樣時間分布采集到的兩幀的像素點的像素值,并繼續(xù)進行物理顯存是否發(fā)生變化的判斷,直至采樣時間段計時結束,輸出幀率統(tǒng)計值,根據采樣時間段和幀率統(tǒng)計值獲取當前移動設備的實時幀率。通過在采樣時間段內按照采樣時間間隔定時對移動設備的物理顯存的數據內容進行提取和比對,從而計算出物理顯存的幀率,可以實現隨時隨地的對移動設備的屏幕顯示幀率進行實時探測。
[0135]以下主要以本發(fā)明實施例的移動設備的幀率探測方法應用于終端中來舉例說明,該終端可以包括智能手機、平板電腦、電子書閱讀器、動態(tài)影像專家壓縮標準音頻層面3(Moving Picture Experts Group Aud1 Layer III,MP3)播放器、動態(tài)影像專家壓縮標準音頻層面 4 (Moving Picture Experts Group Aud1 Layer IV, MP4)播放器、膝上型便攜計算機和臺式計算機等等。
[0136]請參考圖8,其示出了本發(fā)明實施例所涉及的終端的結構示意圖,具體來講:
[0137]終端可以包括射頻(Rad1 Frequency, RF)電路20、包括有一個或一個以上計算機可讀存儲介質的存儲器21、輸入單元22、顯示單元23、傳感器24、音頻電路25、無線保真(wireless fidelity,WiFi)模塊26、包括有一個或者一個以上處理核心的處理器27、以及電源28等部件。本領域技術人員可以理解,圖8中示出的終端結構并不構成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
[0138]RF電路20可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器27處理;另外,將涉及上行的數據發(fā)送給基站。通常,RF電路20包括但不限于天線、至少一個放大器、調諧器、一個或多個振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機、耦合器、低噪聲放大器(Low Noise Amplifier, LNA)、雙工器等。此外,RF電路20還可以通過無線通信與網絡和其他設備通信。所述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(Global System of Mobilecommunicat1n, GSM)、通用分組無線服務(General Packet Rad1 Service, GPRS)、碼分多址(Code Divis1n Multiple Access, CDMA)、寬帶碼分多址(Wideband Code Divis1nMultiple Access, WCDMA)、長期演進(Long Term Evolut1n, LTE)、電子郵件、短消息服務(Short Messaging Service, SMS)等。
[0139]存儲器21可用于存儲軟件程序以及模塊,處理器27通過運行存儲在存儲器21的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數據處理。存儲器21可主要包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區(qū)可存儲根據終端的使用所創(chuàng)建的數據匕如音頻數據、電話本等)等。此外,存儲器21可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應地,存儲器21還可以包括存儲器控制器,以提供處理器27和輸入單元22對存儲器21的訪問。
[0140]輸入單元22可用于接收輸入的數字或字符信息,以及產生與用戶設置以及功能控制有關的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。具體地,在一個具體的實施例中,輸入單元22可包括觸敏表面221以及其他輸入設備222。觸敏表面221,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面221上或在觸敏表面221附近的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸敏表面221可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器27,并能接收處理器27發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸敏表面221。除了觸敏表面221,輸入單元22還可以包括其他輸入設備222。具體地,其他輸入設備222可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
[0141]顯示單元23可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構成。顯示單元23可包括顯示面板231,可選的,可以采用液晶顯示器(Liquid Crystal Display,IXD)、有機發(fā)光二極管(Organic Light-Emitting D1de, 0LED)等形式來配置顯示面板231。進一步的,觸敏表面221可覆蓋顯示面板231,當觸敏表面221檢測到在其上或附近的觸摸操作后,傳送給處理器27以確定觸摸事件的類型,隨后處理器27根據觸摸事件的類型在顯示面板231上提供相應的視覺輸出。雖然在圖8中,觸敏表面221與顯示面板231是作為兩個獨立的部件來實現輸入和輸入功能,但是在某些實施例中,可以將觸敏表面221與顯示面板231集成而實現輸入和輸出功能。
[0142]終端還可包括至少一種傳感器24,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據環(huán)境光線的明暗來調節(jié)顯示面板231的亮度,接近傳感器可在終端移動到耳邊時,關閉顯示面板231和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應用(比如橫豎屏切換、相關游戲、磁力計姿態(tài)校準)、振動識別相關功能(比如計步器、敲擊)等;至于終端還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
[0143]音頻電路25、揚聲器251,傳聲器252可提供用戶與終端之間的音頻接口。音頻電路25可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器251,由揚聲器251轉換為聲音信號輸出;另一方面,傳聲器252將收集的聲音信號轉換為電信號,由音頻電路25接收后轉換為音頻數據,再將音頻數據輸出處理器27處理后,經RF電路20以發(fā)送給比如另一終端,或者將音頻數據輸出至存儲器21以便進一步處理。音頻電路25還可能包括耳塞插孔,以提供外設耳機與終端的通信。
[0144]WiFi屬于短距離無線傳輸技術,終端通過WiFi模塊26可以幫助用戶收發(fā)電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。雖然圖8示出了WiFi模塊26,但是可以理解的是,其并不屬于終端的必須構成,完全可以根據需要在不改變發(fā)明的本質的范圍內而省略。
[0145]處理器27是終端的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器21內的軟件程序和/或模塊,以及調用存儲在存儲器21內的數據,執(zhí)行終端的各種功能和處理數據,從而對手機進行整體監(jiān)控。可選的,處理器27可包括一個或多個處理核心;優(yōu)選的,處理器27可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器27中。
[0146]終端還包括給各個部件供電的電源28 (比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器27邏輯相連,從而通過電源管理系統(tǒng)實現管理充電、放電、以及功耗管理等功能。電源28還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉換器或者逆變器、電源狀態(tài)指示器等任意組件。
[0147]盡管未示出,終端還可以包括攝像頭、藍牙模塊等,在此不再贅述。具體在本實施例中,終端的顯示單元是觸摸屏顯示器,終端的存儲器21與上述數據庫類似,可以存儲采樣時間段、采樣時間間隔、幀率統(tǒng)計值。
[0148]且本實施例的終端中一個或者一個以上程序存儲于存儲器21中,且經配置以由一個或者一個以上處理器27執(zhí)行上述一個或者一個以上程序所包含的以下操作指令:
[0149]當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,所述第一幀為在所述采樣時間間隔之前的采樣時間采集到的幀,所述第二幀為在所述采樣時間間隔之后的采樣時間采集到的幀;
[0150]根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化;
[0151]若是,將所述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長;
[0152]判斷所述采樣時間段的計時時長是否已經完成,若否,觸發(fā)按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值再次執(zhí)行;當所述采樣時間段計時結束時,輸出所述幀率統(tǒng)計值,根據所述采樣時間段和所述幀率統(tǒng)計值獲取所述移動設備的實時幀率。
[0153]具體地,所述按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,包括:
[0154]按照預置的采樣時間間隔將所述移動設備在第一幀的物理顯存和第二幀的物理顯存映射到進程的虛擬地址空間;
[0155]以數組的方式從所述進程的虛擬地址空間中讀取出第一幀的像素點的像素值和第二幀的像素點的像素值。
[0156]具體的,所述按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,包括:
[0157]訪問所述移動設備在第一幀的物理顯存,讀取所述移動設備在第一幀的物理顯存中的文件數據,得到所述第一幀的像素點的像素值;
[0158]訪問所述移動設備在第二幀的物理顯存,讀取所述移動設備在第二幀的物理顯存中的文件數據,得到所述第二幀的像素點的像素值。
[0159]具體的,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括:
[0160]比較所述第一幀的每個第一像素點與所述第二幀的每個第二像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第一像素點在第一幀中的像素位置和所述第二像素點在第二幀中的像素位置相同。
[0161]具體的,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括:
[0162]分別計算所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼;
[0163]判斷所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
[0164]具體的,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括:
[0165]按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合;
[0166]分別計算所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼;
[0167]判斷所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
[0168]具體的,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括:
[0169]按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合;
[0170]比較所述第一像素點集合的每個第三像素點與所述第二像素點集合的每個第四像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第三像素點在第一幀中的像素位置和所述第四像素點在第二幀中的像素位置相同。
[0171]進一步地,所述采樣時間段和所述采樣時間間隔根據所述移動設備的內存的速度和中央處理器CPU的頻率設定。
[0172]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤或光盤等。
[0173]以上對本發(fā)明所提供的一種移動設備的幀率探測方法和相關裝置進行了詳細介紹,對于本領域的一般技術人員,依據本發(fā)明實施例的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
【權利要求】
1.一種移動設備的實時幀率探測方法,其特征在于,包括: 當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,所述第一幀為在所述采樣時間間隔之前的采樣時間采集到的幀,所述第二幀為在所述采樣時間間隔之后的采樣時間采集到的幀; 根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化; 若是,將所述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長; 判斷所述采樣時間段的計時時長是否已經完成,若否,觸發(fā)按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值再次執(zhí)行;當所述采樣時間段計時結束時,輸出所述幀率統(tǒng)計值,根據所述采樣時間段和所述幀率統(tǒng)計值獲取所述移動設備的實時幀率。
2.根據權利要求1所述的方法,其特征在于,所述按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,包括: 按照預置的采樣時間間隔將所述移動設備在第一幀的物理顯存和第二幀的物理顯存映射到進程的虛擬地址空間; 以數組的方式從所述進程的虛擬地址空間中讀取出第一幀的像素點的像素值和第二幀的像素點的像素值。
3.根據權利要求1所述的方法,其特征在于,所述按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,包括: 訪問所述移動設備在第一幀的物理顯存,讀取所述移動設備在第一幀的物理顯存中的文件數據,得到所述第一幀的像素點的像素值; 訪問所述移動設備在第二幀的物理顯存,讀取所述移動設備在第二幀的物理顯存中的文件數據,得到所述第二幀的像素點的像素值。
4.根據權利要求1至3中任一項所述的方法,其特征在于,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括: 比較所述第一幀的每個第一像素點與所述第二幀的每個第二像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第一像素點在第一幀中的像素位置和所述第二像素點在第二幀中的像素位置相同。
5.根據權利要求1至3中任一項所述的方法,其特征在于,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括: 分別計算所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼; 判斷所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
6.根據權利要求1至3中任一項所述的方法,其特征在于,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括: 按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合; 分別計算所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼; 判斷所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
7.根據權利要求1至3中任一項所述的方法,其特征在于,所述根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化,包括: 按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合; 比較所述第一像素點集合的每個第三像素點與所述第二像素點集合的每個第四像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第三像素點在第一幀中的像素位置和所述第四像素點在第二幀中的像素位置相同。
8.根據權利要求1至3中任一項所述的方法,其特征在于,所述采樣時間段和所述采樣時間間隔根據所述移動設備的內存的速度和中央處理器CPU的頻率設定。
9.一種移動設備的實時幀率探測裝置,其特征在于,包括: 像素值獲取模塊,用于當預置的采樣時間段計時開始時,按照預置的采樣時間間隔獲取移動設備的物理顯存在第一幀的像素點的像素值和在第二幀的像素點的像素值,所述第一幀為在所述采樣時間間隔之前的采樣時間采集到的幀,所述第二幀為在所述采樣時間間隔之后的采樣時間采集到的幀; 顯存判斷模塊,用于根據所述第一幀的像素點的像素值和所述第二幀的像素點的像素值判斷所述物理顯存是否發(fā)生變化; 統(tǒng)計模塊,用于當所述物理顯存發(fā)生變化時,將所述移動設備的幀率統(tǒng)計值增加一個統(tǒng)計步長; 計時模塊,用于判斷所述采樣時間段的計時時長是否已經完成,若否,觸發(fā)所述像素值獲取模塊再次執(zhí)行; 幀率探測模塊,用于當所述采樣時間段計時結束時,輸出所述移動設備的幀率統(tǒng)計值,根據所述采樣時間段和所述幀率統(tǒng)計值獲取所述移動設備的實時幀率。
10.根據權利要求9所述的裝置,其特征在于,所述像素值獲取模塊,包括: 映射子模塊,用于按照預置的采樣時間間隔將所述移動設備在第一幀的物理顯存和第二幀的物理顯存映射到進程的虛擬地址空間; 第一讀取子模塊,用于以數組的方式從所述進程的虛擬地址空間中讀取出第一幀的像素點的像素值和第二幀的像素點的像素值。
11.根據權利要求9所述的裝置,其特征在于,所述像素值獲取模塊,包括: 顯存訪問子模塊,用于訪問所述移動設備在第一幀的物理顯存,訪問所述移動設備在第二幀的物理顯存; 第二讀取子模塊,用于讀取所述移動設備在第一幀的物理顯存中的文件數據,得到所述第一幀的像素點的像素值;讀取所述移動設備在第二幀的物理顯存中的文件數據,得到所述第二幀的像素點的像素值。
12.根據權利要求9至11中任一項所述的裝置,其特征在于,所述顯存判斷模塊,具體用于比較所述第一幀的每個第一像素點與所述第二幀的每個第二像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第一像素點在第一幀中的像素位置和所述第二像素點在第二幀中的像素位置相同。
13.根據權利要求9至11中任一項所述的裝置,其特征在于,所述顯存判斷模塊,包括: 第一計算子模塊,用于分別計算所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼; 第一判斷子模塊,用于判斷所述第一幀的全部像素點的總和檢驗碼和所述第二幀的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
14.根據權利要求9至11中任一項所述的裝置,其特征在于,所述顯存判斷模塊,包括: 抽樣子模塊,用于按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合; 第二計算子模塊,用于分別計算所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼; 第二判斷子模塊,用于判斷所述第一像素點集合中的全部像素點的總和檢驗碼和所述第二像素點集合中的全部像素點的總和檢驗碼是否相等;若是,則說明所述物理顯存沒有發(fā)生變化,若不相等,則說明所述物理顯存發(fā)生變化。
15.根據權利要求9至11中任一項所述的裝置,其特征在于,所述顯存判斷模塊,包括: 抽樣子模塊,用于按照相同的概率抽樣方法分別從所述第一幀的全部像素點抽樣出第一像素點集合,從所述第二幀的全部像素點抽樣出第二像素點集合; 比較子模塊,用于比較所述第一像素點集合的每個第三像素點與所述第二像素點集合的每個第四像素點各自的像素值是否相同,若相同,則說明所述物理顯存沒有發(fā)生變化,若不相同,則說明所述物理顯存發(fā)生變化,其中,所述第三像素點在第一幀中的像素位置和所述第四像素點在第二幀中的像素位置相同。
16.根據權利要求9至11中任一項所述的裝置,其特征在于,所述移動設備的實時幀率探測裝置,還包括: 設定模塊,用于根據所述移動設備的內存的速度和中央處理器CPU的頻率設定所述采樣時間段和所述采樣時間間隔。
【文檔編號】G06F11/34GK104166614SQ201310185743
【公開日】2014年11月26日 申請日期:2013年5月17日 優(yōu)先權日:2013年5月17日
【發(fā)明者】尹程果 申請人:騰訊科技(深圳)有限公司