一種應(yīng)用程序幀率的測量方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于軟件技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序幀率的測量方法及裝置。
【背景技術(shù)】
[0002]每秒傳輸巾貞數(shù)(Frames Per Second, FPS),即巾貞率,用于表不運行于操作系統(tǒng)之上的應(yīng)用程序每秒鐘填充圖像的幀數(shù)。對于應(yīng)用程序來說,F(xiàn)PS越大,則顯示效果就會越流暢、逼真。
[0003]為了保證應(yīng)用程序在不同的終端設(shè)備或者不同的操作系統(tǒng)環(huán)境下都能夠流暢顯示,需要對應(yīng)用程序在實際運行過程中產(chǎn)生的幀率進行測量。然而,現(xiàn)有技術(shù)中針對不同的應(yīng)用程序需要配置不同的測量腳本,且同一應(yīng)用程序也需要分別配置與各種軟硬件環(huán)境相匹配的測量腳本,測量腳本不具備通用性,由此降低了應(yīng)用程序幀率的測量效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例的目的在于提供一種應(yīng)用程序幀率的測量方法,旨在解決現(xiàn)有技術(shù)中對應(yīng)用程序幀率的測量腳本不具備通用性,導致應(yīng)用程序幀率的測試效率低的問題。
[0005]本發(fā)明實施例是這樣實現(xiàn)的,一種應(yīng)用程序幀率的測量方法,包括:
[0006]在終端上運行應(yīng)用程序,令所述應(yīng)用程序執(zhí)行預設(shè)操作;
[0007]在所述應(yīng)用程序執(zhí)行預設(shè)操作的過程中,對所述終端的屏幕進行高速錄像,得到視頻流;
[0008]對所述視頻流進行解析,獲取相同且連續(xù)的視頻幀的持續(xù)時間;
[0009]根據(jù)獲取到的所述持續(xù)時間確定所述應(yīng)用程序的幀率。
[0010]本發(fā)明實施例的另一目的在于提供一種應(yīng)用程序幀率的測量裝置,包括:
[0011]運行單元,用于在終端上運行應(yīng)用程序,令所述應(yīng)用程序執(zhí)行預設(shè)操作;
[0012]錄像單元,用于在所述應(yīng)用程序執(zhí)行預設(shè)操作的過程中,對所述終端的屏幕進行高速錄像,得到視頻流;
[0013]獲取單元,用于對所述視頻流進行解析,獲取相同且連續(xù)的視頻幀的持續(xù)時間;
[0014]確定單元,用于根據(jù)獲取到的所述持續(xù)時間確定所述應(yīng)用程序的幀率。
[0015]本發(fā)明實施例采用高幀率的高速錄像手段來對幀率相對較低的應(yīng)用程序幀率進行測量,該測量方法能夠適用于各類不同的應(yīng)用程序,且能夠適用于運行應(yīng)用程序所需的各類不同的軟硬件環(huán)境,具備通用性,能夠很好地提高應(yīng)用程序幀率的測量效率。
【附圖說明】
[0016]圖1是本發(fā)明實施例提供的應(yīng)用程序幀率的測量方法的實現(xiàn)流程圖;
[0017]圖2是本發(fā)明實施例提供的應(yīng)用程序幀率的測量方法SlOl的具體實現(xiàn)流程圖;
[0018]圖3是本發(fā)明實施例提供的應(yīng)用程序幀率的測量方法S103的具體實現(xiàn)流程圖;
[0019]圖4是本發(fā)明實施例提供的應(yīng)用程序幀率的測量裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0020]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]本發(fā)明實施例采用高幀率的高速錄像手段來對幀率相對較低的應(yīng)用程序幀率進行測量,該測量方法能夠適用于各類不同的應(yīng)用程序,且能夠適用于運行應(yīng)用程序所需的各類不同的軟硬件環(huán)境,具備通用性,能夠很好地提高應(yīng)用程序幀率的測量效率。
[0022]在本發(fā)明實施例中,對運行在特定終端設(shè)備(即應(yīng)用程序所處的硬件環(huán)境)及特定操作系統(tǒng)(即應(yīng)用程序所處的軟件環(huán)境)下的應(yīng)用程序進行幀率測量,以測量出應(yīng)用程序在上述運行環(huán)境下的幀率,從而測試出應(yīng)用程序在上述運行環(huán)境下能否流暢顯示。通常情況下,保證應(yīng)用程序能夠流暢顯示的最低FPS是30幀/秒,尤其是對游戲來說,只有保證其達到了一定的幀率,用戶才能達到較佳的操控體驗。應(yīng)用程序的幀率越高,其顯示效果就會越流暢,若測量結(jié)果發(fā)現(xiàn)應(yīng)用程序的幀率無法達到要求,則開發(fā)者需要對應(yīng)用程序進行進一步優(yōu)化。
[0023]下面結(jié)合附圖描述本發(fā)明實施例提供的應(yīng)用程序幀率的測量方法及裝置:
[0024]圖1示出了本發(fā)明實施例提供的應(yīng)用程序幀率的測量方法的實現(xiàn)流程,詳述如下:
[0025]在SlOl中,在終端上運行應(yīng)用程序,令所述應(yīng)用程序執(zhí)行預設(shè)操作。
[0026]在本實施例中,運行應(yīng)用程序的終端具備符合測量標準的硬件配置及安裝了符合測量標準的操作系統(tǒng)。在終端上運行應(yīng)用程序之后,可以通過操控應(yīng)用程序,來使應(yīng)用程序在當前的軟硬件環(huán)境之下執(zhí)行預設(shè)操作。例如,應(yīng)用程序為游戲,則在游戲運行之后,將其畫面切換至某個動態(tài)場景并顯示;又例如,應(yīng)用程序為手機瀏覽器,則令手機瀏覽器執(zhí)行頁面上下滑動操作。
[0027]上述令應(yīng)用程序執(zhí)行預設(shè)操作可以由終端的輸入設(shè)備輸入相應(yīng)操作指令來觸發(fā),例如,鍵盤、鼠標等輸入設(shè)備。同時,針對通過觸摸屏來輸入相應(yīng)操作指令的終端設(shè)備來說,為了避免后續(xù)錄像過程中將手指或者觸屏筆等與終端屏幕重疊的部分一同拍攝下來,影響對相同視頻幀判斷的準確性,作為本發(fā)明的一個實施例,利用預先編寫的自動化腳本來驅(qū)動應(yīng)用程序來自動執(zhí)行預設(shè)操作。SlOl具體如圖2所示:
[0028]在S201中,在終纟而上運彳丁所述應(yīng)用程序。
[0029]在S202中,啟動所述應(yīng)用程序的自動化腳本。
[0030]在S203中,通過所述自動化腳本驅(qū)動所述應(yīng)用程序自動執(zhí)行所述預設(shè)操作。
[0031]在本實施例中,可以針對應(yīng)用程序的每一項預設(shè)操作均預先編寫與該預設(shè)操作相匹配的自動化腳本,當應(yīng)用程序運行之后,通過啟動該自動化腳本,以使該自動化腳本能夠驅(qū)動應(yīng)用程序自動執(zhí)行預設(shè)操作。在具體實現(xiàn)中,自動化腳本可以生成模擬終端輸入設(shè)備輸入的操作指令,從而驅(qū)動應(yīng)用程序根據(jù)該操作指令執(zhí)行預設(shè)操作,或者,自動化腳本可以直接命令應(yīng)用程序執(zhí)行預設(shè)操作。自動化腳本的具體實現(xiàn)方式在此不用于限定本發(fā)明。
[0032]在S102中,在所述應(yīng)用程序執(zhí)行預設(shè)操作的過程中,對所述終端的屏幕進行高速錄像,得到視頻流。
[0033]在應(yīng)用程序執(zhí)行預設(shè)操作的過程中,通過固定拍攝角度,對終端的屏幕進行調(diào)整錄像,從而得到記錄了應(yīng)用程序整個預設(shè)操作的執(zhí)行過程的視頻流。
[0034]作為本發(fā)明的一個實施例,S102中的高速錄像可以通過高速攝像頭來實現(xiàn)。高速攝像頭一般可以達到每秒1000?10000幀的拍攝速度,即,高速攝像頭的錄像幀率為1000?10000幀/秒,這相比于普遍意義上的應(yīng)用程序的幀率來說,顯然要高出一個數(shù)量級,因此,對于應(yīng)用程序幀率測量來說,通過高速攝像頭采集到的視頻流具備很好的可測量性能。
[0035]作為本發(fā)明的另一實施例,S102中的高速錄像可以通過高清晰多媒體接口(HighDefinit1n Multimedia Interface,HDMI)視頻采集卡來實現(xiàn)。HDMI視頻采集卡可以提供高達5Gbps的數(shù)據(jù)傳輸帶寬,由此能夠傳送未經(jīng)壓縮的高質(zhì)量視頻信號。在本實施例中,相比于高速攝像頭,HDMI視頻采集卡具備更好的可集成性,其能夠集成在終端設(shè)備中,直接對運行在本終端的應(yīng)用程序的預設(shè)操作執(zhí)行過程進行采集,或者,直接將采集到的應(yīng)用程序的預設(shè)操作執(zhí)行過程輸出到本終端的處理器以進行后續(xù)的數(shù)據(jù)處理,由此提高應(yīng)用程序幀率的測量效率,同時,相比于高速攝像頭,也在一定程度節(jié)省了測量成本。
[0036]在S103中,對所述視頻流進行解析,獲取相同且連續(xù)的視頻幀的持續(xù)時間。
[0037]在S103中,對S102獲取到的視頻流進行解析,標識出視頻流中相同且連續(xù)的視頻幀,并進一步地獲取到其中相同且連續(xù)的視頻幀的持續(xù)時間。
[0038]具體地,如圖3所示,S103具體為:
[0039]在S301中,根據(jù)所述高速錄像的幀率對所述視頻流進行分幀,得到N個視頻幀,所述N為大于或等于I的整數(shù)。
[0040]在本實施例中,可以使用分巾貞工具(例如,ffmpeg)將視頻流按高速錄像的巾貞率進行分幀。以高速錄像的幀率為300幀/秒為例,若整個視頻流持續(xù)的總時間長度為10秒,則按照高速錄像的幀率,分幀后將得到3000個視頻幀。
[0041]在S302中,在對所述N個視頻幀進行解析,標記出其中相同且連續(xù)的視頻幀。
[0042]在本實施例中,通過圖像識別,對分幀得到的N個視頻幀進行相鄰視頻幀的一一比對。以分幀得到Pl至P3000這3000個視頻幀為例,經(jīng)過比對可以發(fā)現(xiàn),Pl至PlOO的視頻幀展示的均為同一圖像,則將Pl至PlOO這100個相同且連續(xù)的視頻幀進行標記;P101至P200的視頻幀展示的均為同一圖像,則將PlOl至P200這100個相同且連續(xù)的視頻幀進行標記;……以此類推。由于應(yīng)用程序的幀率要遠低于高速錄像得到的視頻流的幀率,因此,對于標記出的每一段相同且連續(xù)的視頻幀,即表示