本技術(shù)涉及終端,尤其涉及一種數(shù)據(jù)處理方法及相關(guān)裝置。
背景技術(shù):
1、隨著電子設(shè)備的不斷更新?lián)Q代,電子設(shè)備中的應(yīng)用程序也以驚人的速度發(fā)展。但是,在應(yīng)用程序運(yùn)行時(shí),存在應(yīng)用程序的丟幀問題,這容易導(dǎo)致用戶的體驗(yàn)不好。維測(cè)人員需要找到應(yīng)用程序的丟幀原因,才能解決應(yīng)用程序的丟幀問題。因此,如何收集應(yīng)用程序的丟幀時(shí)的運(yùn)行數(shù)據(jù),成為本領(lǐng)域亟待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種數(shù)據(jù)處理方法及相關(guān)裝置,實(shí)現(xiàn)了游戲應(yīng)用在第一場(chǎng)景下的第一畫面幀出現(xiàn)丟幀時(shí),收集第一畫面幀的第一維測(cè)信息。
2、第一方面,本技術(shù)提供了一種數(shù)據(jù)處理方法,應(yīng)用于電子設(shè)備,該電子設(shè)備運(yùn)行有游戲應(yīng)用,該方法包括:獲取該游戲應(yīng)用在第一場(chǎng)景下的第一狀態(tài)信息,該第一狀態(tài)信息包括該第一場(chǎng)景的類型;渲染繪制該游戲應(yīng)用在第一場(chǎng)景下的第一畫面幀;合成送顯該第一畫面幀;獲取該第一畫面幀的處理信息,其中,該第一畫面幀的處理信息包括該第一畫面幀在渲染繪制階段的處理記錄以及在合成送顯階段的處理記錄;若基于該第一畫面幀的處理信息確定出該第一畫面幀出現(xiàn)丟幀,向服務(wù)器發(fā)送第一維測(cè)信息,其中,該第一維測(cè)信息包括該第一畫面幀的處理信息和該游戲應(yīng)用在該第一場(chǎng)景下的第一狀態(tài)信息。
3、通過本技術(shù)提供的一種數(shù)據(jù)處理方法,可以收集游戲應(yīng)用在第一場(chǎng)景下的第一畫面幀的處第一維測(cè)信息,該第一維測(cè)信息包括第一畫面幀的處理信息和該游戲應(yīng)用在該第一場(chǎng)景下的第一狀態(tài)信息,其中,第一畫面幀的處理信息包括第一畫面幀在渲染繪制階段的處理記錄以及在合成送顯階段的處理記錄,這樣,維測(cè)人員可以在第一畫面幀出現(xiàn)丟幀時(shí),基于第一畫面幀的第一維測(cè)信息分析第一畫面幀丟幀的原因,從而解決游戲應(yīng)用的丟幀問題。
4、在一種可能的實(shí)現(xiàn)方式中,該電子設(shè)備還運(yùn)行有圖形接口和緩沖區(qū)隊(duì)列管理模塊;該渲染繪制該游戲應(yīng)用在第一場(chǎng)景下的第一畫面幀,具體包括:該游戲應(yīng)用在接收到應(yīng)用同步信號(hào)后,向該緩沖區(qū)隊(duì)列管理模塊發(fā)送緩沖區(qū)出隊(duì)請(qǐng)求;響應(yīng)于該緩沖區(qū)出隊(duì)請(qǐng)求,該緩沖區(qū)隊(duì)列管理模塊向該游戲應(yīng)用發(fā)送緩沖區(qū)的地址;該游戲應(yīng)用通過該圖形接口渲染繪制該第一畫面幀,并將渲染繪制后的該第一畫面幀通過該緩沖區(qū)添加到該緩沖區(qū)隊(duì)列管理模塊所管理的緩沖區(qū)隊(duì)列。這樣,該電子設(shè)備可以對(duì)第一畫面幀進(jìn)行渲染繪制,使第一畫面幀可以更好的被人眼所感知,給予用戶更好的視覺體驗(yàn)。
5、在一種可能的實(shí)現(xiàn)方式中,該電子設(shè)備還運(yùn)行有圖層合成器sf;該合成送顯該第一畫面幀,具體包括:該sf在接收到圖層合成同步信號(hào)后,向該緩沖區(qū)隊(duì)列管理模塊發(fā)送緩沖區(qū)獲取請(qǐng)求;響應(yīng)于該緩沖區(qū)獲取請(qǐng)求,該緩沖區(qū)隊(duì)列管理模塊將該緩沖區(qū)隊(duì)列中存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)對(duì)應(yīng)的地址發(fā)送給該sf;該sf從存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)中,取出渲染繪制后的該第一畫面幀,并對(duì)渲染繪制后的該第一畫面幀進(jìn)行合成送顯;該sf在對(duì)渲染繪制后的該第一畫面幀進(jìn)行合成送顯之后,發(fā)送緩沖區(qū)釋放請(qǐng)求給該緩沖區(qū)隊(duì)列管理模塊;響應(yīng)于該緩沖區(qū)釋放請(qǐng)求,該緩沖區(qū)隊(duì)列管理模塊釋放存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)。這樣,該電子設(shè)備可以對(duì)第一畫面幀進(jìn)行合成送顯,使用戶可以看到第一畫面幀,同時(shí),釋放存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)可以節(jié)省該電子設(shè)備的內(nèi)存空間。
6、在一種可能的實(shí)現(xiàn)方式中,該應(yīng)用同步信號(hào)的周期與該圖層合成同步信號(hào)的周期相同。
7、在一種可能的實(shí)現(xiàn)方式中,獲取該第一畫面幀的處理信息,具體包括:若該第一場(chǎng)景為指定游戲場(chǎng)景,獲取該游戲應(yīng)用在該第一場(chǎng)景下的第一畫面幀的處理信息。
8、在一種可能的實(shí)現(xiàn)方式中,該游戲應(yīng)用的場(chǎng)景包括游戲大廳場(chǎng)景、游戲?qū)?zhàn)場(chǎng)景。該指定游戲場(chǎng)景為游戲?qū)?zhàn)場(chǎng)景。
9、在一種可能的實(shí)現(xiàn)方式中,該電子設(shè)備還運(yùn)行有維測(cè)模塊;獲取該游戲應(yīng)用在第一場(chǎng)景下的第一狀態(tài)信息,具體包括:該維測(cè)模塊獲取該游戲應(yīng)用發(fā)送的該第一狀態(tài)信息;若該第一場(chǎng)景為指定游戲場(chǎng)景,獲取該游戲應(yīng)用在該第一場(chǎng)景下的第一畫面幀的處理信息,具體包括:若該維測(cè)模塊基于該第一狀態(tài)信息確定出該第一場(chǎng)景為指定游戲場(chǎng)景,該維測(cè)模塊從該緩沖區(qū)隊(duì)列管理模塊、該圖形接口和該sf獲取該游戲應(yīng)用在該第一場(chǎng)景下的第一畫面幀的處理信息。這樣,該電子設(shè)備可以在第一場(chǎng)景為指定游戲場(chǎng)景時(shí),獲取第一畫面幀的處理信息。
10、在一種可能的實(shí)現(xiàn)方式中,該第一畫面幀在渲染繪制階段的處理記錄包括以下一項(xiàng)或多項(xiàng):緩沖區(qū)出隊(duì)的記錄、渲染繪制的記錄、緩沖區(qū)入隊(duì)的記錄;該第一畫面幀在合成送顯階段的處理記錄包括以下一項(xiàng)或多項(xiàng):獲取緩沖區(qū)的記錄、合成送顯的記錄、釋放緩沖區(qū)的記錄;若該維測(cè)模塊基于該第一狀態(tài)信息確定出該第一場(chǎng)景為指定游戲場(chǎng)景,該維測(cè)模塊從該緩沖區(qū)隊(duì)列管理模塊、該圖形接口和該sf獲取該游戲應(yīng)用在該第一場(chǎng)景下的第一畫面幀的處理信息,具體包括:若該維測(cè)模塊基于該第一狀態(tài)信息確定出該第一場(chǎng)景為指定游戲場(chǎng)景,該維測(cè)模塊向該緩沖區(qū)隊(duì)列管理模塊發(fā)送第一打點(diǎn)請(qǐng)求,向該圖形接口發(fā)送第二打點(diǎn)請(qǐng)求,向該sf發(fā)送第三打點(diǎn)請(qǐng)求;響應(yīng)于該第一打點(diǎn)請(qǐng)求,該緩沖區(qū)隊(duì)列管理模塊向該維測(cè)模塊發(fā)送緩沖區(qū)出隊(duì)的記錄,和/或,緩沖區(qū)入隊(duì)的記錄,和/或,獲取緩沖區(qū)的記錄,和/或,釋放緩沖區(qū)的記錄;響應(yīng)于該第二打點(diǎn)請(qǐng)求,該圖形接口向該維測(cè)模塊發(fā)送渲染繪制的記錄;響應(yīng)于該第三打點(diǎn)請(qǐng)求,該sf向該維測(cè)模塊發(fā)送合成送顯的記錄。這樣,該電子設(shè)備中的維測(cè)模塊可以獲取第一畫面幀的緩沖區(qū)出隊(duì)的記錄、渲染繪制的記錄、緩沖區(qū)入隊(duì)的記錄、獲取緩沖區(qū)的記錄、合成送顯的記錄、釋放緩沖區(qū)的記錄,從而幫助維測(cè)人員在第一畫面幀出現(xiàn)丟幀時(shí),基于第一畫面幀的緩沖區(qū)出隊(duì)的記錄、渲染繪制的記錄、緩沖區(qū)入隊(duì)的記錄、獲取緩沖區(qū)的記錄、合成送顯的記錄、釋放緩沖區(qū)的記錄,解決游戲應(yīng)用的丟幀問題。
11、在一種可能的實(shí)現(xiàn)方式中,該緩沖區(qū)出隊(duì)的記錄包括以下一項(xiàng)或多項(xiàng):該游戲應(yīng)用接收到該應(yīng)用同步信號(hào)的時(shí)刻、所述游戲應(yīng)用向所述緩沖區(qū)隊(duì)列管理模塊發(fā)送所述緩沖區(qū)出隊(duì)請(qǐng)求的時(shí)刻、該緩沖區(qū)隊(duì)列管理模塊向該游戲應(yīng)用發(fā)送緩沖區(qū)的地址的時(shí)刻,以及該緩沖區(qū)隊(duì)列管理模塊是否成功向該游戲應(yīng)用發(fā)送緩沖區(qū)的地址。這樣,維測(cè)人員可以基于緩沖區(qū)出隊(duì)的記錄,分析第一畫面幀丟幀時(shí),是否是在緩沖區(qū)出隊(duì)時(shí)出現(xiàn)丟幀。
12、在一種可能的實(shí)現(xiàn)方式中,渲染繪制的記錄包括以下一項(xiàng)或多項(xiàng):該第一畫面幀渲染繪制的開始時(shí)刻、該第一畫面幀渲染繪制的結(jié)束時(shí)刻、該第一畫面幀是否成功渲染繪制。這樣,維測(cè)人員可以基于渲染繪制的記錄,分析第一畫面幀丟幀時(shí),是否是在渲染繪制第一畫面幀時(shí)出現(xiàn)丟幀。
13、在一種可能的實(shí)現(xiàn)方式中,緩沖區(qū)入隊(duì)的記錄包括以下一項(xiàng)或多項(xiàng):該緩沖區(qū)加入到該緩沖區(qū)隊(duì)列的開始時(shí)刻、該緩沖區(qū)加入到該緩沖區(qū)隊(duì)列的結(jié)束時(shí)刻、該緩沖區(qū)中該第一畫面幀的圖層信息。這樣,維測(cè)人員可以基于緩沖區(qū)入隊(duì)的記錄,分析第一畫面幀丟幀時(shí),是否是在存儲(chǔ)有第一畫面幀的緩沖區(qū)入隊(duì)時(shí)出現(xiàn)丟幀。
14、在一種可能的實(shí)現(xiàn)方式中,獲取緩沖區(qū)的記錄包括以下一項(xiàng)或多項(xiàng):該sf接收到該圖層合成同步信號(hào)的時(shí)刻、該sf向該緩沖區(qū)隊(duì)列管理模塊發(fā)送該緩沖區(qū)獲取請(qǐng)求的時(shí)刻、該緩沖區(qū)隊(duì)列管理模塊將該緩沖區(qū)隊(duì)列中存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)對(duì)應(yīng)的地址發(fā)送給該sf的時(shí)刻、該緩沖區(qū)隊(duì)列管理模塊是否成功將該緩沖區(qū)隊(duì)列中存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)對(duì)應(yīng)的地址發(fā)送給該sf。這樣,維測(cè)人員可以基于獲取緩沖區(qū)的記錄,分析第一畫面幀丟幀時(shí),是否是在sf獲取存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)時(shí)出現(xiàn)丟幀。
15、在一種可能的實(shí)現(xiàn)方式中,合成送顯的記錄包括以下一項(xiàng)或多項(xiàng):該第一畫面幀合成送顯的開始時(shí)刻、該第一畫面幀合成送顯的結(jié)束時(shí)刻、該第一畫面幀是否成功合成送顯。這樣,維測(cè)人員可以基于合成送顯的記錄,分析第一畫面幀丟幀時(shí),是否是在第一畫面幀合成送顯時(shí)出現(xiàn)丟幀。
16、在一種可能的實(shí)現(xiàn)方式中,釋放緩沖區(qū)的記錄包括以下一項(xiàng)或多項(xiàng):該sf向該緩沖區(qū)隊(duì)列管理模塊發(fā)送該緩沖區(qū)釋放請(qǐng)求的時(shí)刻、該緩沖區(qū)隊(duì)列管理模塊釋放存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)的時(shí)刻、該緩沖區(qū)隊(duì)列管理模塊是否成功釋放存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)。這樣,維測(cè)人員可以基于釋放緩沖區(qū)的記錄,分析第一畫面幀丟幀時(shí),是否是在緩沖區(qū)隊(duì)列管理模塊釋放存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)時(shí)出現(xiàn)丟幀。
17、在一種可能的實(shí)現(xiàn)方式中,該第一狀態(tài)信息還包括以下一項(xiàng)或多項(xiàng):游戲階段、同屏玩家的狀態(tài)、同屏玩家的人數(shù)、游戲道具的展示情況。
18、在一種可能的實(shí)現(xiàn)方式中,該方法還包括:獲取到第二畫面幀的處理信息,其中,該第二畫面幀為在該第一畫面幀之前且相鄰的畫面幀,該第二畫面幀的處理信息包括該第二畫面幀在渲染繪制階段的處理記錄以及在合成送顯階段的處理記錄;該基于該第一畫面幀的處理信息確定出該第一畫面幀出現(xiàn)丟幀,具體包括:基于該第一畫面幀的處理信息和該第二畫面幀的處理信息,確定出該第一畫面幀出現(xiàn)丟幀。
19、在一種可能的實(shí)現(xiàn)方式中,該第二畫面幀的處理信息包括緩沖區(qū)隊(duì)列管理模塊釋放存儲(chǔ)有渲染繪制后的該第二畫面幀的緩沖區(qū)的時(shí)刻;該基于該第一畫面幀的處理信息和該第二畫面幀的處理信息,確定出該第一畫面幀出現(xiàn)丟幀,具體包括:若基于該緩沖區(qū)隊(duì)列管理模塊釋放存儲(chǔ)有渲染繪制后的該第二畫面幀的緩沖區(qū)的時(shí)刻與該緩沖區(qū)隊(duì)列管理模塊釋放存儲(chǔ)有渲染繪制后的該第一畫面幀的緩沖區(qū)的時(shí)刻之差大于同步信號(hào)的周期,確定出該第一畫面幀出現(xiàn)丟幀。這樣,該電子設(shè)備可以基于該第一畫面幀的處理信息和該第二畫面幀的處理信息,確定該第一畫面幀是否出現(xiàn)丟幀。
20、在一種可能的實(shí)現(xiàn)方式中,該方法還包括,該維測(cè)模塊在該游戲應(yīng)用向該緩沖區(qū)隊(duì)列管理模塊發(fā)送該緩沖區(qū)出隊(duì)請(qǐng)求時(shí),申請(qǐng)第一維測(cè)緩沖區(qū);該維測(cè)模塊在獲取到該第一畫面幀的處理信息后,將該第一畫面幀的處理信息存入該第一維測(cè)緩沖區(qū)。
21、在一種可能的實(shí)現(xiàn)方式中,該方法還包括:在確定第一畫面幀出現(xiàn)丟幀之后,生成并保存第一維測(cè)信息;在保存第一維測(cè)信息后,釋放第一維測(cè)緩沖區(qū)。
22、第二方面,本技術(shù)提供了一種電子設(shè)備,包括一個(gè)或多個(gè)處理器和一個(gè)或多個(gè)存儲(chǔ)器;其中,該一個(gè)或多個(gè)存儲(chǔ)器與該一個(gè)或多個(gè)處理器耦合,該一個(gè)或多個(gè)存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)指令,當(dāng)該一個(gè)或多個(gè)處理器執(zhí)行該計(jì)算機(jī)指令時(shí),使得該電子設(shè)備執(zhí)行上述第一方面中任一項(xiàng)可能的實(shí)現(xiàn)方式中的數(shù)據(jù)處理方法。
23、第三方面,本技術(shù)提供了一種芯片,該芯片應(yīng)用于電子設(shè)備,該芯片包括處理電路和接口電路,該接口電路用于接收指令并傳輸至處理電路,該處理電路用于運(yùn)行指令以執(zhí)行上述第一方面中任一項(xiàng)可能的實(shí)現(xiàn)方式中的數(shù)據(jù)處理方法。
24、第四方面,本技術(shù)提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括指令,當(dāng)該指令在電子設(shè)備上運(yùn)行時(shí),使得該電子設(shè)備執(zhí)行上述第一方面中任一項(xiàng)可能的實(shí)現(xiàn)方式中的數(shù)據(jù)處理方法。