一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法
2023-05-15 10:51:56
一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法
【專利摘要】一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,其特徵在於包括如下步驟:如果小屏開啟,則創建離屏渲染用內存空間離屏FBO;將屏幕數據渲染輸出更改定向到離屏FBO;創建整屏層Layer n+1和小屏層Layer n+2,且這兩個層共用紋理;將小屏層Layer n+2紋理接入到離屏FBO;合成各個應用層Layer 1、Layer 2、……、Layer n到離屏FBO,也即小屏層Layer n+2內存空間中;將屏幕數據渲染輸出恢復定向到顯存FrameBuffer,並銷毀離屏FBO;合併整屏層Layer n+1和小屏層Layer n+2到顯存FrameBuffer;交換Buffer空間;將合併的整屏層Layer n+1和小屏層Layer n+2數據發送到顯示屏上顯示。本發明可實現整屏(大屏)和小屏的屏幕數據的同步顯示,帶來流暢的、大小屏屏幕數據同步的完美體驗。
【專利說明】一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法
【技術領域】
:
[0001]本發明涉及一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法。
【背景技術】
:
[0002]如今,移動手持設備的觸控屏屏幕尺寸越來越大,在很多使用場合下,需要用到內嵌式縮小屏幕,比如單手操作,先將大屏幕的數據縮小,放置於單手能夠觸控的小屏區域內,然後對小屏進行操作,從而滿足掌控整個大屏幕區域的需求。
[0003]那麼如何生成內嵌式小屏呢?普通且又簡單的做法是:定時截取整屏(大屏)圖像數據,抽取部分點或縮小截圖後填充到小屏區域。這種方法的缺點是:①小屏上的數據和整屏(大屏)數據不同步截屏有I/o操作,佔用CPU時間較長,大大的降低了整屏(大屏)渲染的幀率,表現為卡頓。這兩個缺點導致體驗很差,甚至嚴重影響正常使用。
【發明內容】
:
[0004]本發明的目的在於提供一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,其可解決顯示屏的整屏(大屏)與小屏之間延時不同步、有卡頓的現象,實現整屏(大屏)和小屏的屏幕數據的同步顯示,為用戶帶來流暢的、大小屏屏幕數據同步的完美體驗。
[0005]一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,其特徵在於包括如下步驟:
[0006]如果小屏開啟,則創建離屏渲染用內存空間:離屏FBO ;
[0007]將屏幕數據渲染輸出更改定向到離屏FBO ;
[0008]創建整屏層Layer n+1和小屏層Layer n+2,且這兩個層共用紋理,即共用內存空間;
[0009]將小屏層Layer n+2紋理接入到離屏FBO ;
[0010]合成各個應用層Layer ULayer 2、......、Layer η到離屏FB0,也即小屏層Layer
n+2內存空間中;
[0011]將屏幕數據渲染輸出恢復定向到顯存FrameBuffer,並銷毀離屏FBO ;
[0012]合併整屏層Layer n+1和小屏層Layer n+2到顯存FrameBuffer ;
[0013]交換Buffer 空間;
[0014]將合併的整屏層Layer n+1和小屏層Layer n+2數據發送到顯示屏上顯示。
[0015]本發明可通過如下方案進行改進:
[0016]如果小屏未開啟,則直接合成各個應用層Layer l、Layer 2、......、Layer η到顯存FrameBuffer,並在交換Buffer空間後發送到顯示屏上顯示。
[0017]所述屏幕數據為所述各個應用層Layer l、Layer 2、......、Layer η的圖像數據。
[0018]本發明之方法,可以實現大屏和小屏屏幕數據的同步顯示,並且在渲染時並沒有很長時間佔用CPU,所以用戶操作時,大屏和小屏的屏幕數據同步更新十分流暢,體驗十分佔主兀夫O【專利附圖】
【附圖說明】:
[0019]圖1為本發明之方法的流程圖。
【具體實施方式】
:
[0020]如圖1所示,本發明之一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,該方法始於步驟S101,然後在步驟S102,判斷小屏是否開啟?
[0021]當步驟S102的判斷結果為是時,流程進入步驟S103 ;否則,流程進入步驟S104。
[0022]在步驟S103,創建離屏渲染用內存空間:離屏FB0。
[0023]在步驟S104,直接合成各個應用層Layer l、Layer 2、......、Layer η到顯存
FrameBuffer0
[0024]在步驟S103之後,流程進入步驟S105 ;而在步驟S104之後,流程進入步驟Slll。
[0025]在步驟S105,將屏幕數據渲染輸出更改定向到離屏FB0,所述屏幕數據為所述各個應用層Layer 1、Layer 2、......、Layer η的圖像數據。
[0026]在步驟S106,創建整屏層Layer n+1和小屏層Layer n+2,且這兩個層共用紋理,即共用內存空間。
[0027]在步驟S107,將小屏層Layer n+2紋理接入到離屏FB0。
[0028]在步驟S108,合成各個應用層Layer ULayer 2、......>Layer η到離屏FB0,也即小屏層Layer n+2內存空間中。
[0029]在步驟S109,將屏幕數據渲染輸出恢復定向到顯存FrameBuffer,並銷毀離屏FBO。
[0030]在步驟S110,合併整屏層Layer n+1和小屏層Layer n+2到顯存FrameBuffer。
[0031]在步驟S111,交換Buffer空間;
[0032]在步驟SI 12,將合併的整屏層Layer n+1和小屏層Layer n+2數據發送到顯示屏上顯示,完成刷新。其中,所述小屏層數據顯示於整屏層數據之上。
[0033]以上所述僅為本發明的較佳實施例,並非用來限定本發明實施的範圍,凡依本發明專利範圍所做的同等變化與修飾,皆落入本發明專利涵蓋的範圍。
【權利要求】
1.一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,其特徵在於包括如下步驟: 如果小屏開啟,則創建離屏渲染用內存空間:離屏FBO ; 將屏幕數據渲染輸出更改定向到離屏FBO ; 創建整屏層Layer n+1和小屏層Layer n+2,且這兩個層共用紋理,即共用內存空間; 將小屏層Layer n+2紋理接入到離屏FBO ; 合成各個應用層Layer ULayer 2、......>Layer η到離屏FB0,也即小屏層Layer n+2內存空間中; 將屏幕數據渲染輸出恢復定向到顯存FrameBuffer,並銷毀離屏FBO ; 合併整屏層Layer n+1和小屏層Layer n+2到顯存FrameBuffer ; 交換Buffer空間; 將合併的整屏層Layer n+1和小屏層Layer n+2數據發送到顯示屏上顯示。
2.根據權利要求1所述的一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,其特徵在於:如果小屏未開啟,則直接合成各個應用層Layer ULayer 2、......、Layer η到顯存FrameBuffer,並在交換Buffer空間後發送到顯示屏上顯示。
3.根據權利要求1或2所述的一種在顯示屏上同步生成內嵌式小屏的屏幕數據處理方法,其特徵在於:所述屏幕數據為所述各個應用層Layer l、Layer 2、......、Layer η的圖像數據。
【文檔編號】G06F3/14GK104281424SQ201310277309
【公開日】2015年1月14日 申請日期:2013年7月3日 優先權日:2013年7月3日
【發明者】曾昆鵬, 李照, 郭濤, 鄒雷 申請人:深圳市艾酷通信軟體有限公司