[發明專利]一種目標信號處理方法和電子設備有效
| 申請號: | 202211048895.7 | 申請日: | 2022-08-30 |
| 公開(公告)號: | CN116048831B | 公開(公告)日: | 2023-10-27 |
| 發明(設計)人: | 忻振文;陳川福;孫文涌;李美君 | 申請(專利權)人: | 榮耀終端有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京匯思誠業知識產權代理有限公司 11444 | 代理人: | 汪源 |
| 地址: | 518040 廣東省深圳市福田區香蜜湖街道*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 目標 信號 處理 方法 電子設備 | ||
本發明實施例提供了一種目標信號處理方法和電子設備。本發明實施例提供的技術方案中,所述方法包括:將第一進程向第二進程周期性分發的第N+1個目標信號的相關信息保存至目標變量,N大于或等于1;檢查所述第二進程的消息隊列中是否有與第N個目標信號對應的目標消息;若檢查出所述消息隊列中有與所述第N個目標信號對應的目標消息,將所述與所述第N個目標信號對應的目標消息刪除;將與所述第N+1個目標信號對應的目標消息存儲至所述消息隊列,應用進程周期性接收vSync信號時,能夠正確串行處理vSync信號,保證SurfaceFlinger進程周期性向應用進程分發vSync信號時的繪制流程正常執行。
【技術領域】
本發明涉及計算機技術領域,尤其涉及一種目標信號處理方法和電子設備。
【背景技術】
用戶從桌面點擊應用后,電子設備在啟動該應用的過程中,在動效期間應用進程向SurfaceFlinger進程發送下一個幀垂直同步(Vertical?synchronization,vSync)信號的請求信號(即requestNextVsync信號),由于SurfaceFlinger進程優先處理優先級更高的任務,導致應用進程收不到SurfaceFlinger進程分發的vSync信號,沒有及時做繪制渲染,且兩次vSync信號間隔太遠,從顯示效果上來看,動效會有突變、卡頓的現象。
目前的解決方案是實現了周期性請求vSync信號的通道。但是,應用進程周期性接收vSync信號時,無法正確串行處理vSync信號,導致SurfaceFlinger進程周期性向應用進程分發vSync信號時的繪制流程不能正常執行。
【發明內容】
有鑒于此,本發明實施例提供了一種目標信號處理方法和電子設備,應用進程周期性接收vSync信號時,能夠正確串行處理vSync信號,保證SurfaceFlinger進程周期性向應用進程分發vSync信號時的繪制流程正常執行。
第一方面,本發明實施例提供了一種目標信號處理方法,所述方法包括:
將第一進程向第二進程周期性分發的第N+1個目標信號的相關信息保存至目標變量,N大于或等于1;
檢查所述第二進程的消息隊列中是否有與第N個目標信號對應的目標消息;
若檢查出所述消息隊列中有與所述第N個目標信號對應的目標消息,將所述與所述第N個目標信號對應的目標消息刪除;
將與所述第N+1個目標信號對應的目標消息存儲至所述消息隊列。
結合第一方面,在第一方面的某些實現方式中,所述第一進程包括SurfaceFlinger進程,所述第二進程包括應用進程。
結合第一方面,在第一方面的某些實現方式中,所述目標信號包括vSync信號。
結合第一方面,在第一方面的某些實現方式中,所述目標變量包括vSyncEventData。
結合第一方面,在第一方面的某些實現方式中,所述N等于1時,所述將第一進程向第二進程周期性分發的第N+1個目標信號的相關信息保存至目標變量之前,所述方法還包括:
將所述第一進程向所述第二進程周期性分發的第N個目標信號的相關信息保存至目標變量;
將所述與所述第N個目標信號對應的目標消息存儲至所述消息隊列。
結合第一方面,在第一方面的某些實現方式中,所述將第一進程向第二進程周期性分發的第N+1個目標信號的相關信息保存至目標變量,包括:
將所述第N+1個目標信號的相關信息覆蓋所述目標變量中所述第N個目標信號的相關信息。
結合第一方面,在第一方面的某些實現方式中,所述將與所述第N+1個目標信號對應的目標消息存儲至所述消息隊列之后,所述方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于榮耀終端有限公司,未經榮耀終端有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211048895.7/2.html,轉載請聲明來源鉆瓜專利網。





