CN117689774B 一種動畫跳幀方法及相關裝置 (榮耀終端股份有限公司)_第1頁
CN117689774B 一種動畫跳幀方法及相關裝置 (榮耀終端股份有限公司)_第2頁
CN117689774B 一種動畫跳幀方法及相關裝置 (榮耀終端股份有限公司)_第3頁
CN117689774B 一種動畫跳幀方法及相關裝置 (榮耀終端股份有限公司)_第4頁
CN117689774B 一種動畫跳幀方法及相關裝置 (榮耀終端股份有限公司)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

街道東海社區紅荔西路8089號深業中本申請提供了一種動畫跳幀方法及相關裝(Choreographer)可以根據循環動畫的標志位,配合Vsync信號觸發跳幀進行繪制、渲染和送顯2接收用于打開第一界面的第一操作,所述第一界面包括第一在接收到所述第一操作后,通過編舞者在第一時刻接收到第一通過圖層合成器對繪制和渲染后的動畫幀進行圖層合成,并在所述第所述第一循環動畫的動畫幀和所述第二循環動畫的在通過圖層合成器對繪制和渲染后的動畫幀進行圖層合成后,錄包括所述動畫幀的時間戳和標志位;所述標志位大于或等于所述第一預設值,N為正整若所述回調隊列中時間戳在所述第一時刻之前的M個回調記錄中存在動畫幀的標志位在通過所述第一應用對M個回調記錄對應的M個動畫幀進行繪制和渲染后,將所述M個6.根據權利要求4或5所述的方法,其特征在于,所通過所述圖層合成器在獲取到第二垂直同步信號后,對繪制和渲染后的所述M個動畫若所述回調隊列中時間戳在所述第一時刻之前的M個回調記錄中,動畫幀的標志位都3響應于時間戳在所述第一時刻之前的動畫幀的通過編舞者在第二時刻接收到第二垂直同步信號,響應于時間戳在所二垂直同步信號為所述第一垂直同步信號的下一個垂直同若所述回調隊列中時間戳在所述第二時刻之前的M個回調記錄中動畫幀的標志位都不所述響應于時間戳在所述第二時刻之前的動畫幀的標志位為所述第一若所述回調隊列中時間戳在所述第二時刻之前的K個回調記錄中存在動畫幀的標志位所述響應于時間戳在所述第二時刻之前的動畫幀的標志位不為所述第若所述回調隊列中時間戳在所述第二時刻之前的K個回調記錄中動畫幀的標志位都不在通過所述第一應用對所述K個回調記錄對應的K個動畫幀通過所述圖層合成器在獲取到第三垂直同步信號后,對繪制和渲染后的所述K個動畫45[0003]本申請提供了一種動畫跳幀方法及相關裝置,可以實現編舞者(Choreographer)有循環動畫的第一界面時,電子設備的編舞者(Choreographer)可以根據循環動畫的標志6間戳在該第一時刻之前的M個回調記錄中存在動畫幀的標志位等于該第一預設值的回調記括:若該回調隊列中時間戳在該第二時刻之前的M個回調記錄中動畫幀的標志位都不等于7個處理器執行該計算機指令時,使得執行上述第一方面中任一項可能的實現方式中的方個功能模塊用于執行上述第一方面中任一項可能的實現于運行指令以執行上述任一方面任一項可能的8(applicationprocessor,AP),調制解調處理器,圖形處理器(graphicsprocessing[0045]天線1和天線2用于發射和接收電磁波信號。電子設備100中的每個天線可用于覆[0046]移動通信模塊150可以提供應用在電子設備100上的包括2G/3G/4G/5G等無線通信9[0048]無線通信模塊160可以提供應用在電子設備100上的包括無線局域網(wirelesslocalareanetworks,WLAN)(如無線保真(wirelessfidelity,Wi_Fi)網絡),藍牙無線通信技術可以包括全球移動通訊系統(globalsystemformobilecommunications,GSM),通用分組無線服務(generalpacketradioservice,GPRS),碼分多址接入(codedivisionmultipleaccess,CDMA),寬帶碼分多址(widebandcodedivisionmultipleaccess,WCDMA),時分碼分多址(time_divisioncodedivisionmultipleaccess,TD_統(globalnavigationsatellitesystem,GLONASS),北斗衛星導航系統(beidounavigationsatellitesystem,BDS),準天頂衛星系統(quasi_zenithsatellite晶顯示屏(liquidcrystaldisplay,LCD)。顯示屏面板還可以采用有機發光二極管light_emittingdiode,FLED),miniled,microled,micro_oled,量子點發光二極管[0054]攝像頭193用于捕獲靜態圖像或視頻。物體通過鏡頭生成光學圖像投射到感光元[0056]視頻編解碼器用于對數字視頻壓縮或解壓縮。電子設備100可以支持一種或多種[0059]內部存儲器121可以用于存儲計算機可執行程序代碼,所述可執行程序代碼包括[0061]音頻模塊170用于將數字音頻信息轉換成模擬音頻信號輸出,也用于將模擬音頻或發送語音信息時,用戶可以通過人嘴靠近麥克風170C發聲,將聲音信號輸入到麥克風信工業協會(cellulartelecommunicationsindustryassociationoftheUSA,CTIA)面型計算機、膝上型計算機、超級移動個人計算機(ultra_mobilepersonalcomputer,渲染,然后,應用可以將渲染完成的動畫幀存入圖層緩沖區(buffer)提供給圖層合成器圖層合成之后,得到圖像幀,會將圖層合成之后的圖像幀送入顯示屏上刷新顯示。而面撕裂的現象,顯示屏對應的硬件模塊可以生成周期與刷新率相同的Vsync信號,給到以尋求合適的時機進行繪制操作。編舞者在接收到SurfaceFlinger發送的垂直同步信號使用OnVsync回調方法成功接收到垂直同步信號后,會通知應用開始對界面中的動畫幀的指示的buffer中。SurfaceFlinger獲取到送幀指令后,可以獲取到動畫幀的buffer,在SurfaceFlinger檢測到動畫幀的buffer中填入渲染好的動畫幀后,可以等待下一個VsyncSurfaceFlinger可以將圖像幀送到顯示屏進[0077]例如,編舞者在接收到垂直同步信號1(VSYNC1)時,可以處理動畫幀1的回調完的畫面幀1存入渲染指令1指示的動畫幀1的buffer中。SurfaceFlinger可以通過送幀指得到圖像幀1。SurfaceFlinger可以將圖像幀1送入顯示屏。顯示屏可以在垂直同步信號3完的畫面幀2存入渲染指令2指示的動畫幀2的buffer中。SurfaceFlinger可以通過送幀指得到圖像幀2。SurfaceFlinger可以將圖像幀2送入顯示屏。顯示屏可以在垂直同步信號4完的畫面幀3存入渲染指令3指示的動畫幀3的buffer中。SurfaceFlinger可以通過送幀指得到圖像幀3。SurfaceFlinger可以將圖像幀3送入顯示屏。顯示屏可以在垂直同步信號5[0082]電子設備100可以接收用戶對狀態欄311的操作(例如向下畫幀A1的buffer中填入渲染好的動畫幀A1,動畫幀B1的buffer中填入渲染好的動畫幀B1,畫幀A1的buffer中取出動畫幀A1,從動畫幀B1的buffer中取出動畫幀B1,從動畫幀C1的在VSYNC1的到達時刻與VSYNC2的到達時刻之間。編舞者在接收到垂直同步信號2(VSYNC2)程(RenderThread)調用GPU對動畫幀A3、動畫幀C2進行渲染。應用可以將動畫幀A3的幀的回調,以觸發應用開始繪制渲染動畫幀,并將繪制渲染完的動畫幀送入SurfaceFlinger進行圖層合成。SurfaceFlinger用于將GPU渲染完成的動畫幀進行圖層合開放圖形庫(opengraphicslibrary,OpenGL)、針對嵌入式系統的開放圖形庫(opengraphicslibraryforembeddedsystems,OpenGLES)、以及繪圖應用程序接口[0101]內核層可以包括圖形處理器驅動(graphicsprocessingunitdriver,GPU口配置的渲染動畫幀的操作)。顯示屏驅動可以用于驅動顯示屏顯示SurfaceFlinger合成[0110]在一種可能的實現方式中,應用可以確定動畫的屬性和/或電子設備100的負載[0118]動畫模塊可以根據動畫幀在動畫中的幀位置、顯示屏的刷新率和動畫的開始時[0125]其中,編舞者可以使用OnVsync回調方法接收Vsync信號。具體有關編舞者接收[0135]SurfaceFlinger在獲取到一個或多個動畫幀的buffer后,可以等待下一個Vsync畫幀A1的buffer給到SurfaceFlinger,送幀指令A2用于將動畫A中動畫幀A2的buffer給到SurfaceFlinger,送幀指令A3用于將動畫A中動畫幀A3的buffer給到SurfaceFlinger。其[0139]其中,SurfaceFlinger可以通過CPU的處理能力對渲染完的畫面幀進行圖層合成[0140]在一種可能的實現方式中,SurfaceFlinger也可以通過GPU的處理能力對渲染完以根據動畫幀數據中的跳幀標志位,配合Vsync信號觸發一個或多個動畫的動畫幀跳幀進刻接收到第一垂直同步信號。電子設備100可以響應于時間戳在該第一時刻之前的動畫幀畫的動畫幀。電子設備100可以在通過圖層合成器對繪制和渲染后的動畫幀進行圖層合成[0148]下面介紹本申請實施例中編舞者根據回調隊列中回調記錄的跳幀標志位以及時[0164]S707、編舞者觸發應用基于取出的M個回調記錄繪制渲染M個動畫幀,并通過按照時間戳的先后順序將取出的M個回調記錄重新存入到回調隊于取出的M個回調記錄繪制和渲染M個動畫幀,并通過SurfaceFlinger根據渲染完的M個動直同步信號的下一個垂直同步信號。若回調隊列中時間戳在第二時刻之前的M個回調記錄中動畫幀的標志位都不等于第一預設值,將述M個回調記錄中動畫幀的標志位都減去所述[0171]示例性的,若回調隊列中時間戳在第二時刻之前的K個回調記錄中存在動畫幀的[0172]若回調隊列中時間戳在第二時刻之前的K個回調記錄中動畫幀的標志位都不等于[0176]在第一應用繪制和渲染后的上述K個動畫幀后,圖層合成器在獲取到第三垂直同[0181]例如,回調隊列中可以包括有回調記錄A(CallbackRecord_A)、回調記錄B調記錄E(CallbackRecord_E)、回調記錄F(CallbackRecord_F)、回調記錄G和渲染后的動畫幀傳入SurfaceFling[0206]在編舞者接收到垂直同步信號1(VSYNC1)時,由于回調隊列中存在時間戳在VSYNC1的到達時刻之前的回調記錄的跳幀標志位為0,編舞者可以執行回調隊列中時間戳中時間戳在VSYNC1的到達時刻之前的渲染。應用可以將動畫幀A1的buffer、動畫幀B1的buffer以及動畫幀C1的buffer送給畫幀B1存入到動畫幀B1的buffer中,將渲染完的動畫幀C1存入到動畫幀C1的buffer中。動畫幀B1,從動畫幀C1的buffer中取出動畫幀C1,進行圖層合成處理,得到圖像幀1。SurfaceFlinger可以將圖像幀1送入顯示屏。顯示屏可以在垂直同步信號3(VSYNC3)到來[0209]在編舞者接收到垂直同步信號2(VSYNC2)時,由于回調隊列中不存在時間戳在隊列中時間戳在VSYNC2之前的回調記錄的跳幀標志位都減1,再重新按照時間戳的先后順[0212]在編舞者接收到垂直同步信號3(VSYNC3)時,由于回調隊列中存在時間戳在VSYNC3的到達時刻之前的回調記錄的跳幀標志位為0,編舞者可以執行回調隊列中時間戳[0214]由于動畫幀A2和動畫幀A3都屬于動畫A,且動畫幀A3的時間戳在動畫幀A4的時間幀A3的buffer中取出動畫幀A3,從動畫幀B2的buffer中取出動畫幀B2,從動畫幀C2的第一應用可以給多個動畫設置不同的跳幀標志位,電子設備的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論