[發明專利]優化Canvas繪制性能的方法及裝置有效
| 申請號: | 201410183109.3 | 申請日: | 2014-04-30 |
| 公開(公告)號: | CN105096367B | 公開(公告)日: | 2018-07-13 |
| 發明(設計)人: | 梁捷;易旭昕 | 申請(專利權)人: | 廣州市動景計算機科技有限公司 |
| 主分類號: | G06T15/00 | 分類號: | G06T15/00;G06T1/20 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 吳開磊 |
| 地址: | 510665 廣東省廣州市天河區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 紋理 壓縮紋理數據 非壓縮 壓縮 繪制 解碼 紋理繪制 壓縮位圖 占用量 貼圖 與非 優化 創建 | ||
本發明提供一種優化Canvas繪制性能的方法及裝置,其中的方法包括:壓縮解碼后的非壓縮位圖,獲得與非壓縮位圖相對應的壓縮紋理數據;根據壓縮紋理數據創建非壓縮位圖的壓縮紋理;將壓縮紋理繪制到Canvas上。通過本發明能夠減少紋理對內存的占用量,同時提高GPU對紋理進行貼圖操作的性能。
技術領域
本發明涉及移動通信技術領域,更為具體地,涉及一種優化Canvas繪制性能的方法及裝置。
背景技術
隨著HTML5的興起,尤其是Canvas的引入,使得Web頁面的開發者完全不需要借助Flash或者Silverlight之類的插件,便可以實現直接在網頁中創建并操作動畫,網頁游戲便是最好的應用之一。
通常一些HTML5Canvas網頁游戲需要在Canvas上繪制大量的圖片,例如背景、人物、前景修飾等等。這些圖片一般使用PNG或者JPEG圖像壓縮格式進行編碼,GPU(顯卡處理器)在繪制這些圖片時,需要先將圖片進行解碼得到一個非壓縮的位圖,然后再將這個非壓縮的位圖上傳到紋理緩存區創建一個非壓縮的紋理,最后通過貼圖操作將這個非壓縮的紋理繪制到Canvas上面。
由于繪制到Canvas上面的紋理是非壓縮的,因此占用的移動終端的內存較大,同時GPU在對非壓縮的紋理進行貼圖操作時,還需要多次訪問內存,如此便造成GPU對紋理進行貼圖操作的性能較差。
發明內容
鑒于上述問題,本發明的目的是提供一種優化Canvas繪制性能的方法及裝置,以減少紋理對內存的占用,且能減少GPU對紋理進行貼圖時訪問內存的次數,進而提高GPU對紋理進行貼圖操作的性能。
根據本發明的一個方面,提供一種優化Canvas繪制性能的方法,包括:
壓縮解碼后的非壓縮位圖,生成與所述非壓縮位圖相對應的壓縮紋理數據;
根據所述壓縮紋理數據創建所述非壓縮位圖的壓縮紋理;
將所述壓縮紋理繪制到Canvas上。
其中,在壓縮解碼后的非壓縮位圖生成與所述非壓縮位圖相對應的壓縮紋理數據的過程中,通過在后臺運行的紋理壓縮線程將所述非壓縮位圖進行壓縮生成與所述非壓縮位圖相對應的壓縮紋理數據。
其中,在生成與所述非壓縮位圖相對應的壓縮紋理數據后,將所述壓縮紋理數據存儲于緩存區。
其中,根據所述壓縮紋理數據創建所述非壓縮位圖的壓縮紋理前包括:
查找所述緩存區中是否存在所述壓縮紋理數據,
當所述緩存區中存在所述壓縮紋理數據時,從所述緩存區中獲取所述壓縮紋理數據。
其中,壓縮解碼后的非壓縮位圖,生成與所述非壓縮位圖相對應的壓縮紋理數據前包括:
根據預設條件判斷所述非壓縮位圖是否能夠進行紋理壓縮,其中,
所述預設條件為:非壓縮位圖為不可變、非壓縮位圖的寬度小于或者等于設備支持的最大紋理寬度并且大于或者等于128像素、所述非壓縮位圖的繪制次數超過設定的閾值;
當所述非壓縮位圖滿足上述預設條件中的一項或者多項組合時,即判斷所述非壓縮位圖能夠進行紋理壓縮。
另一方面,本發明還提供一種優化Canvas繪制性能的裝置,包括:
壓縮紋理數據生成單元,用于壓縮解碼后的非壓縮位圖,生成與所述非壓縮位圖相對應的壓縮紋理數據;
壓縮紋理創建單元,用于根據所述壓縮紋理數據生成單元所生成的壓縮紋理數據創建所述非壓縮位圖的壓縮紋理;
繪制單元,用于將所述壓縮紋理創建單元所創建的壓縮紋理繪制到Canvas上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州市動景計算機科技有限公司,未經廣州市動景計算機科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410183109.3/2.html,轉載請聲明來源鉆瓜專利網。





