国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種待顯示幀的繪制方法及裝置、用戶終端與流程

      文檔序號:12461397閱讀:276來源:國知局
      一種待顯示幀的繪制方法及裝置、用戶終端與流程

      本發(fā)明涉及電子技術(shù)領(lǐng)域,具體涉及一種待顯示幀的繪制方法及裝置、用戶終端。



      背景技術(shù):

      隨著電子技術(shù)的不斷發(fā)展,手機、平板電腦等用戶終端已經(jīng)成為了一種重要的3維(3Dimension,3D)游戲工具,其中,3D游戲的游戲界面是由一系列的顯示幀按照缺省幀率N刷新顯示或繪制顯示而成,缺省幀率N為一秒鐘內(nèi)顯示幀的刷新次數(shù)或繪制次數(shù),即顯示幀的刷新時間間隔為1/N秒。然而,隨著3D游戲的游戲界面的顯示效果越來越清晰且越來越真實,用戶終端運行3D游戲時的功耗也越來越大,這大大降低了用戶終端的續(xù)航時間。



      技術(shù)實現(xiàn)要素:

      本發(fā)明實施例公開了一種待顯示幀的繪制方法及裝置、用戶終端,能夠降低用戶終端運行3D應(yīng)用時的功耗,進而提高用戶終端的續(xù)航時間。

      本發(fā)明實施例第一方面公開了一種待顯示幀的繪制方法,所述方法應(yīng)用于安裝有3D應(yīng)用的用戶終端中,所述方法包括:

      當所述3D應(yīng)用啟動時,判斷所述3D應(yīng)用是否被設(shè)置為省電模式;

      當判斷出所述3D應(yīng)用被設(shè)置為所述省電模式時,將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M,所述目標幀率M小于所述缺省幀率N且大于等于預(yù)設(shè)幀率L;

      以所述目標幀率M為依據(jù),獲取在所述目標幀率M下用于描述所述3D應(yīng)用中待顯示場景的第一待顯示幀串;

      以所述目標幀率M繪制所述第一待顯示幀串包括的所有待顯示幀。

      作為一種可選的實施方式,在本發(fā)明實施例第一方面中,所述第一待顯示幀串中當前幀繪制完畢的時刻與所述當前幀的下一幀繪制完畢的時刻之間的第一時間長度等于1/M,且所述第一時間長度由三個階段組成:邏輯階段、線程休眠階段以及所述當前幀的下一幀的繪制階段;

      所述以所述目標幀率M繪制所述第一待顯示幀串包括的所有待顯示幀,包括:

      當所述當前幀繪制完畢時,記錄所述當前幀繪制完畢時的第一時刻,并啟動所述邏輯階段的邏輯處理進程;

      記錄所述邏輯處理進程處理完畢時的第二時刻,當所述第二時刻與所述第一時刻之間的第二時間長度小于所述第一時間長度與第三時間長度的差值時,啟動所述線程休眠階段的休眠進程,所述第三時間長度為繪制所述當前幀的下一幀所需的時間長度;

      當啟動所述休眠進程的時間長度達到第四時間長度時,繪制所述當前幀的下一幀;

      當所述當前幀的下一幀繪制完畢時,將所述當前幀的下一幀確定為新的當前幀,并重新觸發(fā)執(zhí)行所述當所述當前幀繪制完畢時,記錄所述當前幀繪制完畢時的第一時刻的操作;

      其中,所述第二時間長度、所述第三時間長度以及所述第四時間長度之和等于所述第一時間長度。

      作為一種可選的實施方式,在本發(fā)明實施例第一方面中,所述將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M之后,所述以所述目標幀率M為依據(jù),獲取在所述目標幀率M下用于描述所述3D應(yīng)用中待顯示場景的第一待顯示幀串之前,所述方法還包括:

      以所述缺省幀率N為依據(jù),獲取在所述缺省幀率N下用于描述所述3D應(yīng)用中待顯示場景的第二待顯示幀串;

      所述以所述目標幀率M為依據(jù),獲取在所述目標幀率M下用于描述所述3D應(yīng)用中待顯示場景的第一待顯示幀串,包括:

      從所述第二待顯示幀串中選擇出目標數(shù)量的顯示幀,作為在所述目標幀率M下用于描述所述待顯示場景的第一待顯示幀串,所述目標數(shù)量等于M乘以所述第二待顯示幀串中的幀總數(shù)再除以N。

      作為一種可選的實施方式,在本發(fā)明實施例第一方面中,所述目標幀率M是由所述3D應(yīng)用的應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對所述3D應(yīng)用的多個特征值序列學習得到,每個所述特征值序列包括幀率、所述3D應(yīng)用在該幀率下的功耗以及所述3D應(yīng)用在該幀率下的幀繪制流暢度。

      作為一種可選的實施方式,在本發(fā)明實施例第一方面中,當判斷出所述3D應(yīng)用被設(shè)置為所述省電模式之后,所述將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M之前,所述方法還包括:

      確定所述用戶終端的剩余電量以及所述用戶終端在缺省幀率N下運行所述3D應(yīng)用的功耗,并根據(jù)所述剩余電量以及所述功耗,計算所述剩余電量的續(xù)航時長;

      判斷所述續(xù)航時長是否小于等于預(yù)設(shè)續(xù)航時長閾值,當所述續(xù)航時長小于等于預(yù)設(shè)續(xù)航時長閾值時,觸發(fā)執(zhí)行所述將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M的操作。

      本發(fā)明實施例第二方面公開了一種待顯示幀的繪制裝置,所述裝置包括模式判斷單元、幀率調(diào)整單元、幀串獲取單元以及幀串繪制單元,其中:

      所述模式判斷單元,用于當所述3D應(yīng)用啟動時,判斷所述3D應(yīng)用是否被設(shè)置為省電模式;

      所述幀率調(diào)整單元,用于當所述模式判斷單元判斷出所述3D應(yīng)用被設(shè)置為所述省電模式時,將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M,所述目標幀率M小于所述缺省幀率N且大于等于預(yù)設(shè)幀率L;

      所述幀串獲取單元,用于以所述目標幀率M為依據(jù),獲取在所述目標幀率M下用于描述所述3D應(yīng)用中待顯示場景的第一待顯示幀串;

      所述幀串繪制單元,用于以所述目標幀率M繪制所述第一待顯示幀串包括的所有待顯示幀。

      作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述第一待顯示幀串中當前幀繪制完畢的時刻與所述當前幀的下一幀繪制完畢的時刻之間的第一時間長度等于1/M,且所述第一時間長度由三個階段組成:邏輯階段、線程休眠階段以及所述當前幀的下一幀的繪制階段;

      所述幀串繪制單元包括記錄子單元、啟動子單元、繪制子單元以及確定子單元,其中:

      所述記錄子單元,用于當所述當前幀繪制完畢時,記錄所述當前幀繪制完畢時的第一時刻;

      所述啟動子單元,用于當所述當前幀繪制完畢時,啟動所述邏輯階段的邏輯處理進程;

      所述記錄子單元,還用于記錄所述邏輯處理進程處理完畢時的第二時刻;

      所述啟動子單元,還用于當所述第二時刻與所述第一時刻之間的第二時間長度小于所述第一時間長度與第三時間長度的差值時,啟動所述線程休眠階段的休眠進程,所述第三時間長度為繪制所述當前幀的下一幀所需的時間長度;

      所述繪制子單元,用于當啟動所述休眠進程的時間長度達到第四時間長度時,繪制所述當前幀的下一幀;

      所述確定子單元,用于當所述當前幀的下一幀繪制完畢時,將所述當前幀的下一幀確定為新的當前幀;

      其中,所述第二時間長度、所述第三時間長度以及所述第四時間長度之和等于所述第一時間長度。

      作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述幀串獲取單元,還用于在所述幀率調(diào)整單元將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M之后以及執(zhí)行所述以所述目標幀率M為依據(jù),獲取在所述目標幀率M下用于描述所述3D應(yīng)用中待顯示場景的第一待顯示幀串之前,以所述缺省幀率N為依據(jù),獲取在所述缺省幀率N下用于描述所述3D應(yīng)用中待顯示場景的第二待顯示幀串;

      所述幀串獲取單元以所述目標幀率M為依據(jù),獲取在所述目標幀率M下用于描述所述3D應(yīng)用中待顯示場景的第一待顯示幀串的具體方式為:

      從所述第二待顯示幀串中選擇出目標數(shù)量的顯示幀,作為在所述目標幀率M下用于描述所述待顯示場景的第一待顯示幀串,所述目標數(shù)量等于M乘以所述第二待顯示幀串中的幀總數(shù)再除以N。

      作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述目標幀率M是由所述3D應(yīng)用的應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對所述3D應(yīng)用的多個特征值序列學習得到,每個所述特征值序列包括幀率、所述3D應(yīng)用在該幀率下的功耗以及所述3D應(yīng)用在該幀率下的幀繪制流暢度。

      作為一種可選的實施方式,在本發(fā)明實施例第二方面中,所述裝置還包括數(shù)據(jù)確定單元、時長計算單元以及時長判斷單元,其中:

      所述數(shù)據(jù)確定單元,用于在所述模式判斷單元判斷出所述3D應(yīng)用被設(shè)置為所述省電模式之后且在所述幀率調(diào)整單元將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M之前,確定所述用戶終端的剩余電量以及所述用戶終端在缺省幀率N下運行所述3D應(yīng)用的功耗;

      所述時長計算單元,用于根據(jù)所述剩余電量以及所述功耗,計算所述剩余電量的續(xù)航時長;

      所述時長判斷單元,用于判斷所述續(xù)航時長是否小于等于預(yù)設(shè)續(xù)航時長閾值;

      所述幀率調(diào)整單元具體用于當所述3D應(yīng)用被設(shè)置為所述省電模式以及所述續(xù)航時長小于等于預(yù)設(shè)續(xù)航時長閾值時,將所述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M。

      本發(fā)明實施例第三方面公開了一種用戶終端,所述用戶終端包括本發(fā)明實施例第二方面公開的待顯示幀的繪制裝置。

      與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下有益效果:

      本發(fā)明實施例中,當3D應(yīng)用啟動時,判斷該3D應(yīng)用是否被設(shè)置為省電模式,當判斷出該3D應(yīng)用被設(shè)置為省電模式時,將該3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M,該目標幀率M小于缺省幀率N且大于等于預(yù)設(shè)幀率L,以目標幀率M為依據(jù),獲取在目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串,以目標幀率M繪制該第一待顯示幀串包括的所有待顯示幀??梢姡瑢嵤┍景l(fā)明實施例能夠通過調(diào)整幀率的方式降低用戶終端運行3D應(yīng)用時的功耗,進而提高了用戶終端的續(xù)航時間。

      附圖說明

      為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是本發(fā)明實施例公開的一種待顯示幀的繪制方法的流程示意圖;

      圖2是本發(fā)明實施例公開的另一種待顯示幀的繪制方法的流程示意圖;

      圖3是本發(fā)明實施例公開的一種待顯示幀的繪制裝置的結(jié)構(gòu)示意圖;

      圖4是本發(fā)明實施例公開的另一種待顯示幀的繪制裝置的結(jié)構(gòu)示意圖;

      圖5是本發(fā)明實施例公開的又一種待顯示幀的繪制裝置的結(jié)構(gòu)示意圖;

      圖6是本發(fā)明實施例公開的一種用戶終端的結(jié)構(gòu)示意圖。

      具體實施方式

      下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

      本發(fā)明實施例公開了一種待顯示幀的繪制方法及裝置、用戶終端,能夠通過調(diào)整幀率的方式降低用戶終端運行3D應(yīng)用時的功耗,進而提高了用戶終端的續(xù)航時間。以下分別進行詳細說明。

      實施例一

      請參閱圖1,圖1是本發(fā)明實施例公開的一種待顯示幀的繪制方法的流程示意圖。其中,圖1所描述的待顯示幀的繪制方法可以應(yīng)用于智能手機(Android手機、iOS手機等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)等安裝有3D應(yīng)用的用戶終端中,本發(fā)明實施例不做限定。如圖1所示,該待顯示幀的繪制方法可以包括以下操作:

      101、當3D應(yīng)用啟動時,用戶終端判斷3D應(yīng)用是否被設(shè)置為省電模式。

      本發(fā)明實施例中,當步驟101的判斷結(jié)果為是時,觸發(fā)執(zhí)行步驟102;當步驟101的判斷結(jié)果為否時,用戶終端直接獲取在缺省幀率N下用于描述3D應(yīng)用中待顯示場景的待顯示幀串,并以缺省幀率N繪制該待顯示幀串,且在繪制該待顯示幀串的過程中,用戶終端還需要同步檢測3D應(yīng)用是否為設(shè)置省電模式。

      102、當判斷出上述3D應(yīng)用被設(shè)置為省電模式時,用戶終端將上述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M。

      本發(fā)明實施例中,目標幀率M小于缺省幀率N(如60幀),且目標幀率M大于等于預(yù)設(shè)幀率L,其中,預(yù)設(shè)幀率L為用戶終端繪制待顯示幀時使用戶肉眼感覺不到3D應(yīng)用出現(xiàn)延遲卡頓情況的最小幀率,如8幀,這樣能夠保證不降低用戶的視覺體驗。

      本發(fā)明實施例中,該目標幀率M可以是用戶終端自適應(yīng)調(diào)整得到的,也可以是用戶終端從3D應(yīng)用的應(yīng)用服務(wù)器中獲取到的,本發(fā)明實施例不做限定。

      當該目標幀率M是由用戶終端自適應(yīng)調(diào)整得到時,用戶終端確定目標幀率M的具體過程可以如下所示:

      用戶終端在判斷出上述3D應(yīng)用被設(shè)置為省電模式之后,確定上述3D應(yīng)用的缺省頻率N以及調(diào)整步長H;

      在保證用戶的視覺效果的前提下,通過調(diào)整步長H多次調(diào)整缺省頻率N,得到目標頻率M,使得用戶終端在目標幀率M下運行3D應(yīng)用的功耗最低,其中,M=N-xH,其中,x為調(diào)整次數(shù)。

      當該目標幀率M是用戶終端從3D應(yīng)用的應(yīng)用服務(wù)器中獲取到的幀率時,該目標幀率M是由3D應(yīng)用的應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對3D應(yīng)用的多個特征值序列學習得到的,即該目標幀率M是用戶終端在判斷出3D應(yīng)用被設(shè)置為省電模式時從應(yīng)用服務(wù)器獲取到的。

      每個特征值序列包括幀率、3D應(yīng)用在該幀率下的功耗以及3D應(yīng)用在該幀率下的幀繪制流暢度,可選的,該特征值序列還可以包括用戶終端在運行3D應(yīng)用時的溫度、屏幕亮度值以及3D應(yīng)用的音效等中的至少一種。具體的,由應(yīng)用服務(wù)器執(zhí)行以下操作來得到目標幀率M:

      采集型號相同的用戶終端針對上述3D應(yīng)用的特征值序列并存儲;

      從存儲的特征值序列中選擇出預(yù)設(shè)數(shù)量的特征值序列,并通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到目標幀率M或者用于計算目標幀率M的計算公式。

      其中,當特征值序列包括幀率、功耗以及幀繪制流暢度時,由應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到目標幀率M,且該目標幀率M既能夠保證運行3D應(yīng)用時的低功耗,又能夠保證用戶的視覺效果,即在用戶終端顯示3D應(yīng)用的應(yīng)用界面時不存在延遲卡頓的情況;當特征值序列還包括溫度、屏幕亮度值以及3D應(yīng)用的音效等中的至少一種時,由應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到用于計算該目標幀率M的計算公式,該計算公式的自變量可以為除幀率之外的其他特征值,該計算公式的因變量為目標幀率,在實際應(yīng)用中,該自變量的具體值可以是用戶終端在接收到用戶根據(jù)自己需求輸入的特征值時上傳至應(yīng)用服務(wù)器的,即該計算公式能夠根據(jù)用戶的實際需求為用戶計算出一個適合屏幕亮度值和/或溫度和/或3D應(yīng)用的音效且還能夠平衡功耗與幀繪制流暢度的最佳幀率,作為目標幀率M。

      103、用戶終端以上述目標幀率M為依據(jù),獲取在上述目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串。

      本發(fā)明實施例中,用戶終端獲取到的第一待顯示幀串可以是由應(yīng)用服務(wù)器在向用戶終端發(fā)送上述目標幀率M時一并向用戶終端發(fā)送的多個幀組成,也可以是由用戶終端從獲取到的在上述缺省幀率N下用于描述3D應(yīng)用的第二待顯示幀串中選擇出來的多個幀組成,本發(fā)明實施例不做限定,其中,選擇出來的多個幀的數(shù)量等于(M*該第二待顯示幀串中的幀總數(shù))/N,若計算得到的數(shù)量不是整數(shù),則可以對計算出的值進行向上取整。

      104、用戶終端以上述目標幀率M繪制上述第一待顯示幀串中包括的所有待顯示幀。

      本發(fā)明實施例中,用戶終端以上述目標幀率M繪制上述第一待顯示幀串中包括的所有待顯示幀即為以1/M的時間間隔刷新上述3D應(yīng)用的應(yīng)用界面。

      本發(fā)明實施例中,上述第一待顯示幀串中當前幀繪制完畢的時刻與該當前幀的下一幀繪制完畢的時刻之間的第一時間長度等于1/M,且該第一時間長度由三個階段組成:邏輯階段、線程休眠階段以及該當前幀的下一幀的繪制階段,其中,邏輯階段為繪制下一幀的準備階段,即當上述第一待顯示幀串中的一個幀繪制完畢時立即進入繪制下一幀的準備階段,當準備完畢時,進入休眠階段,當?shù)竭_下一個幀的繪制時刻時,進入該下一個幀的繪制階段,當該下一個幀繪制完畢時,進入下下幀的繪制階段準備階段,依次類推。其中,用戶終端以上述目標幀率M繪制上述第一待顯示幀串包括的所有待顯示幀可以包括:

      當上述第一待顯示幀串的當前幀繪制完畢時,記錄當前幀繪制完畢時的第一時刻,并啟動上述邏輯階段的邏輯處理進程;

      記錄邏輯處理進程處理完畢時的第二時刻,當?shù)诙r刻與第一時刻之間的第二時間長度小于第一時間長度與第三時間長度的差值時,啟動線程休眠階段的休眠進程,該第三時間長度為繪制當前幀的下一幀所需的時間長度;

      當啟動休眠進程的時間長度達到第四時間長度時,繪制當前幀的下一幀;

      當該當前幀的下一幀繪制完畢時,將該當前幀的下一幀確定為新的當前幀,并重新觸發(fā)執(zhí)行上述當上述第一待顯示幀串的前幀繪制完畢時,記錄當前幀繪制完畢時的第一時刻,并啟動上述邏輯階段的邏輯處理進程的操作,依次類推。

      其中,上述第二時間長度、上述第三時間長度以及上述第四時間長度之和等于上述第一時間長度,且上述休眠進程能夠進一步降低用戶終端運行上述3D應(yīng)用時的功耗。

      需要說明的是,當開始繪制時,上述當前幀為上述第一待顯示幀串中的第一幀。

      本發(fā)明實施例中,舉例來說,假設(shè)上述缺省幀率為60,當上述目標幀率為30時,用戶終端運行上述3D應(yīng)用時的功率能夠降低一半。

      可見,實施圖1所描述的待顯示幀的繪制方法能夠在無需改變用戶終端硬件的情況下通過降低幀率的方式來降低用戶終端運行3D應(yīng)用時的功耗,進而提高了用戶終端的續(xù)航時間。

      實施例二

      請參閱圖2,圖2是本發(fā)明實施例公開的另一種待顯示幀的繪制方法的流程示意圖。其中,圖2所描述的待顯示幀的繪制方法可以應(yīng)用于智能手機(Android手機、iOS手機等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)等安裝有3D應(yīng)用的用戶終端中,本發(fā)明實施例不做限定。如圖2所示,該待顯示幀的繪制方法可以包括以下操作:

      201、當檢測到針對3D應(yīng)用的啟動指令時,用戶終端根據(jù)該啟動指令啟動3D應(yīng)用。

      202、用戶終端判斷上述3D應(yīng)用是否被設(shè)置為省電模式。

      本發(fā)明實施例中,當步驟202的判斷結(jié)果為否時,觸發(fā)執(zhí)行步驟203;當步驟202的判斷結(jié)果為是時,觸發(fā)執(zhí)行步驟204。

      203、用戶終端獲取在缺省幀率N下用于描述3D應(yīng)用中待顯示場景的待顯示幀串,并以該缺省幀率N繪制該待顯示幀串。

      本發(fā)明實施例中,在執(zhí)行步驟203的同時,用戶終端還需要同步檢測上述3D應(yīng)用是否被設(shè)置為省電模式,當檢測結(jié)果為是時,觸發(fā)執(zhí)行步驟204。

      204、用戶終端將上述3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M。

      本發(fā)明實施例中,目標幀率M小于缺省幀率N,且目標幀率M大于等于預(yù)設(shè)幀率L,其中,預(yù)設(shè)幀率L為用戶終端繪制待顯示幀時使用戶肉眼感覺不到3D應(yīng)用出現(xiàn)延遲卡頓情況的最小幀率,這樣能夠保證不降低用戶的視覺體驗。

      205、用戶終端以上述目標幀率M為依據(jù),獲取在上述目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串。

      206、用戶終端繪制第一待顯示幀串中的當前幀。

      207、當?shù)谝淮@示幀串中的當前幀繪制完畢時,記錄該當前幀繪制完畢時的第一時刻,并啟動邏輯階段的邏輯處理進程。

      208、用戶終端記錄邏輯處理進程處理完畢時的第二時刻。

      209、當上述第二時刻與上述第一時刻之間的第二時間長度小于第一時間長度與第三時間長度的差值時,用戶終端啟動線程休眠階段的休眠進程。

      本發(fā)明實施例中,第一時間長度為相鄰兩個幀中第一幀繪制完畢的時刻到第二幀繪制完畢的時刻之間的時間長度且等于1/M,該第三時間長度為繪制當前幀的下一幀所需的時間長度。

      210、當啟動上述休眠進程的時間長度達到第四時間長度時,用戶終端繪制上述當前幀的下一幀。

      本發(fā)明實施例中,上述第二時間長度、上述第三時間長度以及上述第四時間長度之和等于上述第一時間長度,即上述第一時間長度由三個階段組成:邏輯階段、線程休眠階段以及當前幀的下一幀的繪制階段。

      211、當上述當前幀的下一幀繪制完畢時,用戶終端將上述當前幀的下一幀確定為新的當前幀。

      本發(fā)明實施例中,當步驟211完畢時,重新觸發(fā)執(zhí)行步驟207。

      可選的,在執(zhí)行完畢步驟204且在執(zhí)行步驟205之前,用戶終端還可以執(zhí)行以下操作:

      以上述缺省幀率N為依據(jù),獲取在上述缺省幀率N下用于描述3D應(yīng)用中待顯示場景的第二待顯示幀串。

      此時,用戶終端以上述目標幀率M為依據(jù),獲取在上述目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串可以包括:

      從上述第二待顯示幀串中選擇出目標數(shù)量的顯示幀,作為在目標幀率M下用于描述所述待顯示場景的第一待顯示幀串,其中,該目標數(shù)量等于M乘以第二待顯示幀串中的幀總數(shù)再除以N,若得到的目標數(shù)量不是整數(shù),則可以對其向上取整。

      進一步可選的,上述目標幀率M可以是用戶終端自適應(yīng)調(diào)整得到的,也可以是用戶終端從3D應(yīng)用的應(yīng)用服務(wù)器中獲取到的,本發(fā)明實施例不做限定。

      當該目標幀率M是由用戶終端自適應(yīng)調(diào)整得到時,用戶終端確定目標幀率M的具體過程可以如下所示:

      用戶終端在判斷出上述3D應(yīng)用被設(shè)置為省電模式之后,確定上述3D應(yīng)用的缺省頻率N以及調(diào)整步長H;

      在保證用戶的視覺效果的前提下,通過調(diào)整步長H多次調(diào)整缺省頻率N,得到目標頻率M,使得用戶終端在目標幀率M下運行3D應(yīng)用的功耗最低,其中,M=N-xH,其中,x為調(diào)整次數(shù)。

      當該目標幀率M是用戶終端從3D應(yīng)用的應(yīng)用服務(wù)器中獲取到的幀率時,該目標幀率M是由3D應(yīng)用的應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對3D應(yīng)用的多個特征值序列學習得到的,即該目標幀率M是用戶終端在判斷出3D應(yīng)用被設(shè)置為省電模式時從應(yīng)用服務(wù)器獲取到的。

      每個特征值序列包括幀率、3D應(yīng)用在該幀率下的功耗以及3D應(yīng)用在該幀率下的幀繪制流暢度,可選的,該特征值序列還可以包括用戶終端在運行3D應(yīng)用時的溫度、屏幕亮度值以及3D應(yīng)用的音效等中的至少一種。具體的,由應(yīng)用服務(wù)器執(zhí)行以下操作來得到目標幀率M:

      采集型號相同的用戶終端針對上述3D應(yīng)用的特征值序列并存儲;

      從存儲的特征值序列中選擇出預(yù)設(shè)數(shù)量的特征值序列,并通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到目標幀率M或者用于計算目標幀率M的計算公式。

      其中,當特征值序列包括幀率、功耗以及幀繪制流暢度時,由應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到目標幀率M,且該目標幀率M既能夠保證運行3D應(yīng)用時的低功耗,又能夠保證用戶的視覺效果,即在用戶終端顯示3D應(yīng)用的應(yīng)用界面時不存在延遲卡頓的情況;當特征值序列還包括溫度、屏幕亮度值以及3D應(yīng)用的音效等中的至少一種時,由應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到用于計算該目標幀率M的計算公式,該計算公式的自變量可以為除幀率之外的其他特征值,該計算公式的因變量為目標幀率,在實際應(yīng)用中,該自變量的具體值可以是用戶終端在接收到用戶根據(jù)自己需求輸入的特征值時上傳至應(yīng)用服務(wù)器的,即該計算公式能夠根據(jù)用戶的實際需求為用戶計算出一個適合屏幕亮度值和/或溫度和/或3D應(yīng)用的音效且還能夠平衡功耗與幀繪制流暢度的最佳幀率,作為目標幀率M。

      又進一步可選的,當步驟202的判斷結(jié)果為是且在執(zhí)行步驟204之前,用戶終端還可以執(zhí)行以下操作:

      確定用戶終端的剩余電量以及用戶終端在缺省幀率N下運行3D應(yīng)用的功耗,并根據(jù)剩余電量以及功耗,計算剩余電量的續(xù)航時長;

      判斷續(xù)航時長是否小于等于預(yù)設(shè)續(xù)航時長閾值,當續(xù)航時長小于等于預(yù)設(shè)續(xù)航時長閾值時,觸發(fā)執(zhí)行上述將3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M的操作。這樣通過設(shè)置調(diào)整幀率的觸發(fā)條件的方式保證了幀率調(diào)整的可靠性。

      可見,實施圖2所描述的待顯示幀的繪制方法能夠在無需改變用戶終端硬件的情況下通過降低幀率的方式來降低用戶終端運行3D應(yīng)用時的功耗,進而提高了用戶終端的續(xù)航時間。

      實施例三

      請參閱圖3,圖3是本發(fā)明實施例公開的一種待顯示幀的繪制裝置的結(jié)構(gòu)示意圖。其中,圖3所示的待顯示幀的繪制裝置300可以安裝在智能手機(Android手機、iOS手機等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)等安裝有3D應(yīng)用的用戶終端中,本發(fā)明實施例不做限定。如圖3所示,該待顯示幀的繪制裝置300可以包括模式判斷單元301、幀率調(diào)整單元302、幀串獲取單元303以及幀串繪制單元304,其中:

      模式判斷單元301用于當3D應(yīng)用啟動時,判斷3D應(yīng)用是否被設(shè)置為省電模式。

      幀率調(diào)整單元302用于當模式判斷單元301判斷出3D應(yīng)用被設(shè)置為省電模式時,將3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M,其中,目標幀率M小于缺省幀率N且大于等于預(yù)設(shè)幀率L。

      幀串獲取單元303用于以上述目標幀率M為依據(jù),獲取在上述目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串。

      幀串繪制單元304用于以上述目標幀率M繪制幀串獲取單元303獲取到的第一待顯示幀串包括的所有待顯示幀。

      在一個可選的實施例中,上述第一待顯示幀串中當前幀繪制完畢的時刻與該當前幀的下一幀繪制完畢的時刻之間的第一時間長度等于1/M,且該第一時間長度由三個階段組成:邏輯階段、線程休眠階段以及該當前幀的下一幀的繪制階段。此時,幀串繪制單元304可以包括記錄子單元3041、啟動子單元3042、繪制子單元3043以及確定子單元3044,此時,該待顯示幀的繪制裝置300的結(jié)構(gòu)可以如圖4所示,圖4是本發(fā)明實施例公開的另一種待顯示幀的繪制裝置的結(jié)構(gòu)示意圖。其中:

      記錄子單元3041用于當該當前幀繪制完畢時,記錄該當前幀繪制完畢時的第一時刻。

      啟動子單元3042用于當該當前幀繪制完畢時,啟動邏輯階段的邏輯處理進程。

      記錄子單元3041還用于記錄邏輯處理進程處理完畢時的第二時刻。

      啟動子單元3042還用于當?shù)诙r刻與第一時刻之間的第二時間長度小于第一時間長度與第三時間長度的差值時,啟動線程休眠階段的休眠進程,其中,第三時間長度為繪制該當前幀的下一幀所需的時間長度。

      記錄子單元3041還用于記錄休眠進程的啟動時長,即記錄啟動休眠進程的時間長度。

      繪制子單元3043用于當啟動休眠進程的時間長度達到第四時間長度時,繪制該當前幀的下一幀。

      確定子單元3044用于當該當前幀的下一幀繪制完畢時,將該當前幀的下一幀確定為新的當前幀,并繼續(xù)觸發(fā)記錄子單元3041執(zhí)行上述當該當前幀繪制完畢時,記錄該當前幀繪制完畢時的第一時刻的操作以及觸發(fā)啟動子單元3042執(zhí)行上述當該當前幀繪制完畢時,啟動邏輯階段的邏輯處理進程的操作。

      在該可選的實施例中,第二時間長度、第三時間長度以及第四時間長度之和等于上述第一時間長度1/M。

      在該可選的實施例中,可選的,幀串獲取單元303還用于在幀率調(diào)整單元302將3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M之后以及執(zhí)行上述以目標幀率M為依據(jù),獲取在目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串之前,以缺省幀率N為依據(jù),獲取在缺省幀率N下用于描述3D應(yīng)用中待顯示場景的第二待顯示幀串。

      在該可選的實施方式中,幀串獲取單元303以目標幀率M為依據(jù),獲取在目標幀率M下用于描述3D應(yīng)用中待顯示場景的第一待顯示幀串的具體方式可以為:

      從上述第二待顯示幀串中選擇出目標數(shù)量的顯示幀,作為在目標幀率M下用于描述待顯示場景的第一待顯示幀串,其中,該目標數(shù)量等于M乘以第二待顯示幀串中的幀總數(shù)再除以N,若計算得到的目標數(shù)量不是整數(shù),則可以對計算出的值進行向上取整。

      在該可選的實施例中,進一步可選的,上述目標幀率M是由3D應(yīng)用的應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對3D應(yīng)用的多個特征值序列學習得到,每個特征值序列可以包括幀率、3D應(yīng)用在該幀率下的功耗以及3D應(yīng)用在該幀率下的幀繪制流暢度,可選的,每個特征值序列還可以包括用戶終端在運行3D應(yīng)用時的用戶終端的溫度、屏幕亮度值以及3D應(yīng)用的音效等中的至少一種。

      其中,當特征值序列包括幀率、功耗以及幀繪制流暢度時,由應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到目標幀率,且該目標幀率M既能夠保證運行3D應(yīng)用時的低功耗,又能夠保證用戶的視覺效果,即在用戶終端顯示3D應(yīng)用的應(yīng)用界面時不存在延遲卡頓的情況;當特征值序列還包括溫度、屏幕亮度值以及3D應(yīng)用的音效等中的至少一種時,由應(yīng)用服務(wù)器通過預(yù)設(shè)學習算法對該預(yù)設(shè)數(shù)量的特征值序列進行學習,得到用于計算該目標幀率M的計算公式,該計算公式的自變量可以為除幀率之外的其他特征值,該計算公式的因變量為目標幀率,在實際應(yīng)用中,該自變量的具體值可以是用戶終端在接收到用戶根據(jù)自己需求輸入的特征值并上傳至應(yīng)用服務(wù)器的,即該計算公式能夠根據(jù)用戶輸入的實際需求為用戶計算出一個適合屏幕亮度值和/或溫度和/或3D應(yīng)用的音效的且還能夠平衡功耗與幀繪制流暢度的最佳幀率,作為目標幀率M。

      在該可選的實施例中,又進一步可選的,該待顯示幀的繪制裝置300還可以包括數(shù)據(jù)確定單元305、時長計算單元306以及時長判斷單元307,此時,該待顯示幀的繪制裝置300的結(jié)構(gòu)可以如圖5所示,圖5是本發(fā)明實施例公開的又一種待顯示幀的繪制裝置的結(jié)構(gòu)示意圖。其中:

      數(shù)據(jù)確定單元305用于在模式判斷單元301判斷出3D應(yīng)用被設(shè)置為省電模式之后且在幀率調(diào)整單元302將3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M之前,確定用戶終端的剩余電量以及用戶終端在缺省幀率N下運行3D應(yīng)用的功耗。

      時長計算單元306用于根據(jù)數(shù)據(jù)確定單元305確定出的剩余電量以及功耗,計算剩余電量的續(xù)航時長。

      時長判斷單元307用于判斷時長計算單元306計算出的續(xù)航時長是否小于等于預(yù)設(shè)續(xù)航時長閾值。

      幀率調(diào)整單元302具體用于當3D應(yīng)用被設(shè)置為省電模式以及上述續(xù)航時長小于等于預(yù)設(shè)續(xù)航時長閾值時,將3D應(yīng)用的幀率由缺省幀率N調(diào)整為目標幀率M。

      可見,實施圖3-5任一所描述的待顯示幀的繪制裝置300能夠在無需改變用戶終端硬件的情況下通過降低幀率的方式來降低用戶終端運行3D應(yīng)用時的功耗,進而提高了用戶終端的續(xù)航時間。

      實施例四

      請參閱圖6,圖6是本發(fā)明實施例公開的一種用戶終端的結(jié)構(gòu)示意圖。如圖6所示,該用戶終端可以為智能手機(Android手機、iOS手機等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)等安裝有3D應(yīng)用的用戶終端中的任意一種。如圖6所示,該用戶終端可以包括待顯示幀的繪制裝置,其中,該待顯示幀的繪制裝置的結(jié)構(gòu)可以如圖3至圖5任一所描述的待顯示幀的繪制裝置,本發(fā)明實施例不做限定。其中,實施圖6所描述的用戶終端能夠在無需改變用戶終端硬件的情況下通過降低幀率的方式來降低用戶終端運行3D應(yīng)用時的功耗,進而提高了用戶終端的續(xù)航時間。

      本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)包括只讀存儲器(Read-Only Memory,ROM)、隨機存儲器(Random Access Memory,RAM)、可編程只讀存儲器(Programmable Read-only Memory,PROM)、可擦除可編程只讀存儲器(Erasable Programmable Read Only Memory,EPROM)、一次可編程只讀存儲器(One-time Programmable Read-Only Memory,OTPROM)、電子抹除式可復(fù)寫只讀存儲器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只讀光盤(Compact Disc Read-Only Memory,CD-ROM)或其他光盤存儲器、磁盤存儲器、磁帶存儲器、或者能夠用于攜帶或存儲數(shù)據(jù)的計算機可讀的任何其他介質(zhì)。

      以上對本發(fā)明實施例公開的一種待顯示幀的繪制方法及裝置、用戶終端進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1