[發明專利]一種圖形設備接口資源管理方法和裝置有效
| 申請號: | 201110273287.1 | 申請日: | 2011-09-15 |
| 公開(公告)號: | CN102999518B | 公開(公告)日: | 2016-11-09 |
| 發明(設計)人: | 高峰;潘昱存;唐宗堯;楊寶龍 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 謝安昆;宋志強 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 圖形 設備 接口 資源管理 方法 裝置 | ||
技術領域
本發明涉及資源管理技術,特別涉及一種圖形設備接口(GDI,Graphic?Device?Interface)資源管理方法和裝置。
背景技術
GDI資源是由系統內核程序“Gdiexe”管理的資源,用于保存畫刷、畫筆、字體、調色板等圖形對象信息。可以認為,GDI資源是由一系列的GDI資源對象組成。
現有技術中,當一系統進程需要訪問一GDI資源對象時,會調用::CreateFont、::CreateSolidBrush或::CreatePen等全局函數,由這些全局函數來創建GDI資源對象,并返回GDI句柄,后續可利用GDI句柄來對GDI資源對象進行訪問;之后的某一時刻,如果要訪問另一GDI資源對象,重復上述過程。
但是,上述方式在實際應用中會存在一定的問題,如:如果前后兩次要訪問的GDI資源對象相同,所述相同是指種類和屬性均相同,其中,種類是指畫刷、畫筆、字體等,屬性是指畫刷的顏色,畫筆的風格、大小、顏色,字體的種類、大小、粗細、斜體屬性以及是否有下劃線等;那么按照現有方式,即使之前已經創建了相同的GDI資源對象,下一次仍會重新創建,即相同的GDI資源對象被重復創建,從而導致GDI資源利用率降低、系統開銷增大以及系統內存占用增大等問題。
發明內容
有鑒于此,本發明提供一種GDI資源管理方法和裝置,能夠提高GDI資源的利用率,降低系統開銷,并減少系統內存的占用。
為達到上述目的,本發明的技術方案是這樣實現的:
一種GDI資源管理方法,包括:
當訪問方需要訪問一GDI資源對象時,向資源池發送創建請求;
所述資源池確定自身是否保存有所述GDI資源對象,如果否,則創建所述GDI資源對象及其句柄,進行保存,并返回所述GDI資源對象的句柄,如果是,則返回所述GDI資源對象的句柄;
所述訪問方利用所述資源池返回的句柄訪問所述GDI資源對象。
一種GDI資源管理裝置,包括:訪問模塊和資源池;
所述訪問模塊,用于當需要訪問一GDI資源對象時,向所述資源池發送創建請求,并利用所述資源池返回的句柄訪問所述GDI資源對象;
所述資源池,用于在接收到所述創建請求后,確定自身是否保存有所述GDI資源對象,如果否,則創建所述GDI資源對象及其句柄,進行保存,并返回所述GDI資源對象的句柄,如果是,則返回所述GDI資源對象的句柄。
可見,采用本發明所述方案,如果要訪問的GDI資源對象已經保存在了資源池中,即之前已經創建過了,則不再重新創建,從而盡可能地避免了出現相同的GDI資源對象被重復創建的問題,進而提高了GDI資源的利用率,降低了系統開銷,并減少了系統內存的占用等;另外,本發明所述方案實現起來簡單方便,便于普及和推廣。
附圖說明
圖1為本發明GDI資源管理方法實施例的流程圖。
圖2為本發明GDI資源管理方法較佳實施例的流程圖。
圖3為對應圖2所示過程的一個具體示例示意圖。
圖4為本發明GDI資源管理裝置實施例的組成結構示意圖。
具體實施方式
針對現有技術中存在的問題,本發明中提出一種GDI資源管理方案,能夠提高GDI資源的利用率,降低系統開銷,并減少系統內存的占用等。
圖1為本發明GDI資源管理方法實施例的流程圖。如圖1所示,包括以下步驟:
步驟11:當訪問方需要訪問一GDI資源對象時,向資源池發送創建請求。
所述訪問方可以是指一系統進程等。資源池是指資源的集合,可有效地保存和管理資源。
步驟12:資源池確定自身是否保存有該GDI資源對象,如果否,則創建該GDI資源對象及其句柄,進行保存,并返回該GDI資源對象的句柄,如果是,則返回該GDI資源對象的句柄。
步驟11~12中,當訪問方需要訪問一GDI資源對象,假設為GDI資源對象X時,可首先生成GDI資源對象X的資源鍵,之后,將生成的資源鍵攜帶在創建請求中發送給資源池;資源池確定自身是否保存有接收到的資源鍵,如果否,則根據接收到的資源鍵創建該GDI資源對象及其句柄,進行保存,并對應保存該資源鍵,同時向訪問方返回該GDI資源對象的句柄,如果是,則找到該資源鍵對應的該GDI資源對象的句柄,返回給訪問方。
其中,GDI資源對象X的資源鍵可以是利用GDI資源對象X的種類信息和屬性信息按預定順序拼接出的一個字符串。
舉例說明:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201110273287.1/2.html,轉載請聲明來源鉆瓜專利網。





