• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種圖形設(shè)備接口資源管理方法和裝置制造方法及圖紙

    技術(shù)編號:8489802 閱讀:153 留言:0更新日期:2013-03-28 10:59
    本發(fā)明專利技術(shù)公開了一種圖形設(shè)備接口(GDI)資源管理方法:當(dāng)訪問方需要訪問一GDI資源對象時,向資源池發(fā)送創(chuàng)建請求;所述資源池確定自身是否保存有所述GDI資源對象,如果否,則創(chuàng)建所述GDI資源對象及其句柄,進(jìn)行保存,并返回所述GDI資源對象的句柄,如果是,則返回所述GDI資源對象的句柄;所述訪問方利用所述資源池返回的句柄訪問所述GDI資源對象。應(yīng)用本發(fā)明專利技術(shù)所述的方法和裝置,能夠提高GDI資源的利用率,降低系統(tǒng)開銷,并減少系統(tǒng)內(nèi)存的占用等。

    【技術(shù)實現(xiàn)步驟摘要】

    本專利技術(shù)涉及資源管理技術(shù),特別涉及一種圖形設(shè)備接口(⑶I, Graphic DeviceInterface)資源管理方法和裝置。
    技術(shù)介紹
    ⑶I資源是由系統(tǒng)內(nèi)核程序“Gdiexe”管理的資源,用于保存畫刷、畫筆、字體、調(diào)色板等圖形對象信息。可以認(rèn)為,GDI資源是由一系列的GDI資源對象組成。現(xiàn)有技術(shù)中,當(dāng)一系統(tǒng)進(jìn)程需要訪問一 GDI資源對象時,會調(diào)用CreateFont、: :CreateSolidBrush或CreatePen等全局函數(shù),由這些全局函數(shù)來創(chuàng)建GDI資源對象,并返回GDI句柄,后續(xù)可利用GDI句柄來對GDI資源對象進(jìn)行訪問;之后的某一時刻,如果要訪問另一⑶I資源對象,重復(fù)上述過程。但是,上述方式在實際應(yīng)用中會存在一定的問題,如如果前后兩次要訪問的GDI資源對象相同,所述相同是指種類和屬性均相同,其中,種類是指畫刷、畫筆、字體等,屬性是指畫刷的顏色,畫筆的風(fēng)格、大小、顏色,字體的種類、大小、粗細(xì)、斜體屬性以及是否有下劃線等;那么按照現(xiàn)有方式,即使之前已經(jīng)創(chuàng)建了相同的⑶I資源對象,下一次仍會重新創(chuàng)建,即相同的GDI資源對象被重復(fù)創(chuàng)建,從而導(dǎo)致GDI資源利用率降低、系統(tǒng)開銷增大以及系統(tǒng)內(nèi)存占用增大等問題。
    技術(shù)實現(xiàn)思路
    有鑒于此,本專利技術(shù)提供一種⑶I資源管理方法和裝置,能夠提高⑶I資源的利用率,降低系統(tǒng)開銷,并減少系統(tǒng)內(nèi)存的占用。為達(dá)到上述目的,本專利技術(shù)的技術(shù)方案是這樣實現(xiàn)的一種⑶I資源管理方法,包括當(dāng)訪問方需要訪問一⑶I資源對象時,向資源池發(fā)送創(chuàng)建請求;所述資源池確定自身是否保存有所述GDI資源對象,如果否,則創(chuàng)建所述GDI資源對象及其句柄,進(jìn)行保存,并返回所述GDI資源對象的句柄,如果是,則返回所述GDI資源對象的句柄;所述訪問方利用所述資源池返回的句柄訪問所述GDI資源對象。一種⑶I資源管理裝置,包括訪問模塊和資源池;所述訪問模塊,用于當(dāng)需要訪問一⑶I資源對象時,向所述資源池發(fā)送創(chuàng)建請求,并利用所述資源池返回的句柄訪問所述GDI資源對象;所述資源池,用于在接收到所述創(chuàng)建請求后,確定自身是否保存有所述GDI資源對象,如果否,則創(chuàng)建所述GDI資源對象及其句柄,進(jìn)行保存,并返回所述GDI資源對象的句柄,如果是,則返回所述GDI資源對象的句柄。可見,采用本專利技術(shù)所述方案,如果要訪問的⑶I資源對象已經(jīng)保存在了資源池中,即之前已經(jīng)創(chuàng)建過了,則不再重新創(chuàng)建,從而盡可能地避免了出現(xiàn)相同的⑶I資源對象被重復(fù)創(chuàng)建的問題,進(jìn)而提高了 GDI資源的利用率,降低了系統(tǒng)開銷,并減少了系統(tǒng)內(nèi)存的占用等;另外,本專利技術(shù)所述方案實現(xiàn)起來簡單方便,便于普及和推廣。附圖說明圖1為本專利技術(shù)⑶I資源管理方法實施例的流程圖。圖2為本專利技術(shù)⑶I資源管理方法較佳實施例的流程圖。圖3為對應(yīng)圖2所示過程的一個具體示例示意圖。圖4為本專利技術(shù)⑶I資源管理裝置實施例的組成結(jié)構(gòu)示意圖。具體實施例方式針對現(xiàn)有技術(shù)中存在的問題,本專利技術(shù)中提出一種GDI資源管理方案,能夠提高GDI資源的利用率,降低系統(tǒng)開銷,并減少系統(tǒng)內(nèi)存的占用等。圖1為本專利技術(shù)⑶I資源管理方法實施例的流程圖。如圖1所示,包括以下步驟步驟11 :當(dāng)訪問方需要訪問一⑶I資源對象時,向資源池發(fā)送創(chuàng)建請求。所述訪問方可以是指一系統(tǒng)進(jìn)程等。資源池是指資源的集合,可有效地保存和管理資源。步驟12 :資源池確定自身是否保存有該GDI資源對象,如果否,則創(chuàng)建該GDI資源對象及其句柄,進(jìn)行保存,并返回該GDI資源對象的句柄,如果是,則返回該GDI資源對象的句柄。步驟11 12中,當(dāng)訪問方需要訪問一⑶I資源對象,假設(shè)為GDI資源對象X時,可首先生成⑶I資源對象X的資源鍵,之后,將生成的資源鍵攜帶在創(chuàng)建請求中發(fā)送給資源池;資源池確定自身是否保存有接收到的資源鍵,如果否,則根據(jù)接收到的資源鍵創(chuàng)建該GDI資源對象及其句柄,進(jìn)行保存,并對應(yīng)保存該資源鍵,同時向訪問方返回該GDI資源對象的句柄,如果是,則找到該資源鍵對應(yīng)的該GDI資源對象的句柄,返回給訪問方。其中,GDI資源對象X的資源鍵可以是利用GDI資源對象X的種類信息和屬性信息按預(yù)定順序拼接出的一個字符串。舉例說明假設(shè)⑶I資源對象X的種類為畫筆,屬性包括風(fēng)格、大小和顏色,在實際應(yīng)用中,上述種類和屬性均會以某種代碼或符號進(jìn)行表示,那么,將這些代碼或符號按照預(yù)定順序拼接起來即可得到一個字符串,該字符串即為GDI資源對象X的資源鍵,所述預(yù)定順序可依次為種類、風(fēng)格、大小和顏色。步驟13 :訪問方利用資源池返回的句柄訪問該⑶I資源對象。如何創(chuàng)建GDI資源對象以及如何利用句柄來訪問GDI資源對象均為現(xiàn)有技術(shù)。另外,為了及時釋放內(nèi)存空間,可在創(chuàng)建并保存GDI資源對象之后,設(shè)置其引用計數(shù)為I ;后續(xù),當(dāng)針對該GDI資源對象每接收到一次創(chuàng)建請求時,則將其引用計數(shù)加I ;當(dāng)針對該GDI資源對象每接收到一次釋放請求(訪問完畢)時,則將其引用計數(shù)減I ;當(dāng)其引用計數(shù)為0時,將該GDI資源對象及其相關(guān)信息從資源池中移除。也就是說,針對資源池中保存的每個⑶I資源對象,分別跟蹤其正被引用(訪問)的次數(shù),每個GDI資源對象均可被多個訪問方共享,當(dāng)訪問方增加或減少時,相應(yīng)地增大或減小其對應(yīng)的引用計數(shù),當(dāng)沒有任何訪問方使用它時,則可移除。綜上,對于資源池來說,針對其中保存的每個GDI資源對象,對應(yīng)保存其句柄、資源鍵和引用計數(shù)。在實際應(yīng)用中,可使用映射(MAP)表來維護(hù)上述信息。下面通過較佳實施例對圖1所示方法進(jìn)行進(jìn)一步說明。圖2為本專利技術(shù)⑶I資源管理方法較佳實施例的流程圖。如圖2所示,包括以下步驟步驟21 :當(dāng)訪問方需要訪問一 GDI資源對象時,生成該GDI資源對象的資源鍵,攜帶在創(chuàng)建請求中發(fā)送給資源池。步驟22:資源池確定自身是否保存有接收到的資源鍵,如果是,則執(zhí)行步驟23,否貝U,執(zhí)行步驟24。步驟23 :資源池將接收到的資源鍵對應(yīng)的引用計數(shù)加1,并向訪問方返回接收到的資源鍵對應(yīng)的GDI資源對象的句柄,然后執(zhí)行步驟25。步驟24 :資源池根據(jù)接收到的資源鍵創(chuàng)建GDI資源對象及其句柄,并保存所創(chuàng)建的GDI資源對象及其句柄以及對應(yīng)的資源鍵,同時設(shè)置所創(chuàng)建的GDI資源對象的引用計數(shù)為I ;之后,向訪問方返回所創(chuàng)建的GDI資源對象的句柄,然后執(zhí)行步驟25。步驟25 :訪問方根據(jù)接收到的句柄訪問⑶I資源對象。步驟26 :訪問方需要釋放一⑶I資源對象,向資源池發(fā)送釋放請求,其中攜帶有該GDI資源對象的資源鍵。步驟27:資源池確定自身是否保存有接收到的資源鍵,如果是,則執(zhí)行步驟28,否貝U,結(jié)束流程。如果資源池未保存接收到的資源鍵,后續(xù)如何處理不作限制。步驟28 :資源池將接收到的資源鍵對應(yīng)的引用計數(shù)減I。步驟29 :資源池確定接收到的資源鍵對應(yīng)的引用計數(shù)是否為0,如果是,則執(zhí)行步驟210,否則,結(jié)束流程。步驟210 :資源池將接收到的資源鍵對應(yīng)的GDI資源對象及其相關(guān)信息從自身移除,結(jié)束流程。圖3為對應(yīng)圖2所示過程的一個具體示例示意圖。如圖3所示,假設(shè)某一時刻,資源池中共存在兩個⑶I資源對象,分別為紅色畫刷和黑色畫筆,對應(yīng)的引用計數(shù)分別為4和1,之后的某一時刻,資源池接收到了一個創(chuàng)建紅色畫刷的請求,那么則將紅色畫刷對應(yīng)的引用計數(shù)加1,變?yōu)? ;再之后的某一時刻,資源池又接收到了一個釋放黑色畫筆的請求,那么則本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點】
    一種圖形設(shè)備接口GDI資源管理方法,其特征在于,包括:當(dāng)訪問方需要訪問一GDI資源對象時,向資源池發(fā)送創(chuàng)建請求;所述資源池確定自身是否保存有所述GDI資源對象,如果否,則創(chuàng)建所述GDI資源對象及其句柄,進(jìn)行保存,并返回所述GDI資源對象的句柄,如果是,則返回所述GDI資源對象的句柄;所述訪問方利用所述資源池返回的句柄訪問所述GDI資源對象。

    【技術(shù)特征摘要】

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:高峰潘昱存唐宗堯楊寶龍
    申請(專利權(quán))人:騰訊科技深圳有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 一本加勒比hezyo无码专区| 国产精品va无码二区| 亚洲Av永久无码精品三区在线| 国产莉萝无码AV在线播放| 一级电影在线播放无码| 国精无码欧精品亚洲一区| 亚洲中文字幕久久无码| 少妇性饥渴无码A区免费| 无码日韩人妻av一区免费| 国产精品亚洲а∨无码播放| 丰满亚洲大尺度无码无码专线| 国产v亚洲v天堂无码网站| aⅴ一区二区三区无卡无码| 无码国产精品一区二区免费| 免费看无码特级毛片| 无码国产69精品久久久久孕妇 | 国产在线拍偷自揄拍无码| 亚洲AV综合色区无码一二三区| 亚洲国产精品无码中文字| 国产麻豆天美果冻无码视频| 2024你懂的网站无码内射| 日日麻批免费40分钟无码| 亚洲中文字幕无码久久2017| 无码 免费 国产在线观看91| 亚洲av无码一区二区三区在线播放 | 免费无码又爽又刺激一高潮| 精品无码国产AV一区二区三区| 亚洲成av人片不卡无码| 亚洲AV无码久久寂寞少妇| 日日日日做夜夜夜夜无码| 色欲AV无码一区二区三区| 免费无码黄十八禁网站在线观看| 欧洲成人午夜精品无码区久久| 国产成人精品无码播放| 亚洲精品无码永久中文字幕| 亚洲日韩av无码| 亚洲AV日韩AV永久无码久久| 国产50部艳色禁片无码| 人妻无码一区二区三区免费| 无码精品人妻一区二区三区中| 色AV永久无码影院AV|