[發明專利]屏幕描述方法及裝置有效
| 申請號: | 201210364763.5 | 申請日: | 2012-09-26 |
| 公開(公告)號: | CN102929570A | 公開(公告)日: | 2013-02-13 |
| 發明(設計)人: | 聶山人;楊明;張翼;包蕊 | 申請(專利權)人: | 東軟集團股份有限公司 |
| 主分類號: | G06F3/14 | 分類號: | G06F3/14;G09G5/00 |
| 代理公司: | 北京鴻元知識產權代理有限公司 11327 | 代理人: | 林錦輝 |
| 地址: | 110179 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 屏幕 描述 方法 裝置 | ||
技術領域
本發明涉及屏幕鏡像技術,更為具體地,涉及一種屏幕描述方法及裝置。?
背景技術
屏幕鏡像技術是指將某個設備(比如,智能手機)的屏幕顯示內容傳輸到另一個設備(如個人電腦)上進行顯示的技術。圖1示出了屏幕鏡像技術的一個應用的示意圖。如圖1所示,智能手機上的屏幕顯示內容可以通過WiFi傳輸到個人電腦的顯示器上進行顯示。?
圖2示出了屏幕鏡像技術的業務流程的流程圖。如圖2所示,在該業務流程中,首先,在設備A上獲取屏幕顯示內容并封裝為數據包。接著,通過網絡傳輸(無線傳輸和/或有線傳輸,通常是無線傳輸),將封裝后的數據包傳輸到設備B。然后,在設備B接收到數據包后,對所接收的數據包進行解包處理,并且在設備B的顯示屏幕上描繪并顯示設備A上所顯示的屏幕內容。?
依據不同的平臺,上述各個步驟的實現各不相同。為了提高描繪性能,在設備B上進行的“描繪”步驟在Windows平臺下一般通過基于DirectDraw進行描繪來實現。在現有技術中,為了實現動畫效果,一般采用Flip方式進行描繪。Flip的工作原理類似于電影膠片的放映過程。膠片的每一頁是一個靜態的圖片。當把這些膠片快速切換并依次投放到屏幕上時,就產生了動畫。Flip正是利用該原理來顯示動畫。具體而言,Flip描繪方法主要依靠兩個表面之間的連續切換來顯示動畫。通常的做法是:申請兩個表面(Surface),一個為主表面(Primary?Surface),該表面上存儲的內容即為設備A的屏幕上顯示的內容;另一個為副表面(Back?Surface),作為主表面的一個備用表面。通過不斷地更新副表面的內容,并和主表面進行切換產生效果,如圖3所示。?
圖4示出了Flip描述過程的示意圖。如圖4所示,在步驟S410,當設備B通過網絡接收到從設備A傳輸的數據包后,對所接收的數據包進行解包處理。將解包處理后得到的數據拷貝到副表面(步驟S420),然后將屏幕更新通?知發送給窗口處理函數(步驟S430)。在發送完屏幕更新通知后,網絡端進行到步驟S470,等待新的網絡數據。窗口處理函數在收到屏幕更新通知(步驟S440)后,調用Flip函數,將副表面切換到前臺(步驟S450),成為主表面顯示在屏幕上。接著,在步驟S460,窗口處理函數阻塞,等待新的屏幕更新通知。在接收到新的屏幕更新通知后,返回到步驟S440。與此同時,原來的主表面切換為副表面隱藏起來,由此完成了從一幀到另一幀的過渡。整個描繪過程如圖4所示。?
然而,上述采用Flip方式的描繪方法存在下述問題。?
首先,該描繪方法采用基于消息通知的異步描繪模式,增大了描繪過程的開銷,不能應對性能要求嚴格的場合。在異步描繪模式中,為了保護描繪過程的上下文環境,在進入描繪過程時需要加鎖,退出描繪過程時需要解鎖,鎖操作屬于讀寫內存的操作,相比于一般的CPU操作來說需要多花費近300倍的時間,這種慢速操作對于快速描繪這種性能要求嚴格的場合來說是不適用的。?
其次,在該描繪方法中,采用兩個表面進行輪換。在這種情況下,當屏幕只發生了部分變化時會出現問題。如圖5所示。假設設備A上將依次顯示幀A、幀B和幀C,其中幀A和幀B相比,整個畫面發生了變化,而幀B和幀C相比僅變化了一小片區域,即圖中的粉紅色區域。在時刻1時,設備A顯示幀A,并將幀A通過網絡傳輸給設備B,設備B接收到幀A后將其拷貝到副表面,然后發送屏幕更新請求,整個過程如圖5A所示。在時刻2時,設備B已經發生了主副表面切換,將前一時刻的副表面的切換為主表面,并顯示在屏幕上。此時,設備A正顯示幀B,并將幀B傳輸到設備B,設備B接收到數據后將其拷貝至副表面,如圖5D所示。在時刻3時,同樣,設備B的主副表面發生了切換,原來的副表面成為現在的主表面并顯示在屏幕上。此時,設備A的屏幕只有一小部分發生了變化,為了節省網絡帶寬,設備A僅發送發生了變化的區域,即圖中的粉紅色區域。設備B在接收到該區域后,將其傳輸到副表面,如圖5C所示。這樣,在時刻4時,副表面中的內容將顯示到屏幕上,如圖5D所示。由此可見,設備A上的幀C傳輸到設備B上后顯示,已經變成了幀A和粉紅色變化區域的組合,出現了錯誤。?
此外,在上述描繪方法中,調用Flip函數來切換兩個表面,該函數的作?用是進行主副表面的切換。該切換需要消耗一定的時間。另外,在畫面局部變化的情況下,仍需要進行整個表面的切換,也造成了一定的資源浪費。?
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東軟集團股份有限公司,未經東軟集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210364763.5/2.html,轉載請聲明來源鉆瓜專利網。





