[發(fā)明專利]圖形渲染方法和系統(tǒng)、通用游戲支撐平臺有效
| 申請?zhí)枺?/td> | 201310089264.4 | 申請日: | 2013-03-20 |
| 公開(公告)號: | CN104063892B | 公開(公告)日: | 2018-06-08 |
| 發(fā)明(設(shè)計)人: | 姜威 | 申請(專利權(quán))人: | 北京麒麟網(wǎng)文化股份有限公司 |
| 主分類號: | G06T15/00 | 分類號: | G06T15/00 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 丁沙 |
| 地址: | 100191 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 圖形渲染 內(nèi)存緩沖區(qū) 數(shù)據(jù)緩存 支撐平臺 渲染 讀取 數(shù)據(jù)存儲設(shè)備 圖形數(shù)據(jù)顯示 圖形數(shù)據(jù) 系統(tǒng)設(shè)置 指向位置 通用 游戲 寫入 指向 屏幕 | ||
1.一種圖形渲染方法,其特征在于,執(zhí)行所述方法的系統(tǒng)設(shè)置有內(nèi)存緩沖區(qū),所述方法包括:
數(shù)據(jù)緩存過程:若WritePointer+AllocationSize<ReadPointer,或者,ReadPointer<WritePointer且WritePointer+AllocationSize<Enddata,則將從數(shù)據(jù)存儲設(shè)備讀取的長度為AllocationSize的圖形數(shù)據(jù)寫入所述內(nèi)存緩沖區(qū)中WritePointer指向的位置;
圖形渲染過程:若ReadPointer<Enddata且ReadPointer≠WritePointer,則將所述內(nèi)存緩沖區(qū)中ReadPointer指向位置的圖形數(shù)據(jù)顯示在屏幕上;
所述數(shù)據(jù)緩存過程還包括:當WritePointer+AllocationSize≥Enddata時,若ReadPointer≠BeginData,則將WritePointer移動到BeginData;
所述圖形渲染過程還包括:當ReadPointer≥EndData時,若WritePointer≠BeginData,則將ReadPointer移動到BeginData;
其中,ReadPointer表示指向所述內(nèi)存緩沖區(qū)的讀指針,WritePointer表示指向所述內(nèi)存緩沖區(qū)的寫指針,Enddata表示所述內(nèi)存緩沖區(qū)的結(jié)束地址,AllocationSize表示每次處理的圖形數(shù)據(jù)長度,BeginData表示所述內(nèi)存緩沖區(qū)的起始地址;所述數(shù)據(jù)緩存過程由1個寫線程操作,所述圖形渲染過程由1個或多個并行讀線程操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述內(nèi)存緩沖區(qū)為環(huán)形隊列結(jié)構(gòu),所述數(shù)據(jù)緩存過程還包括:
當WritePointer+AllocationSize≥Enddata時,若
(WritePointer+AllocationSize)%BufferSize+BeginData<ReadPointer
則將從數(shù)據(jù)存儲設(shè)備讀取的長度為AllocationSize的圖形數(shù)據(jù)寫入所述內(nèi)存緩沖區(qū)中WritePointer指向的位置,當寫到EndData地址時,后續(xù)圖形數(shù)據(jù)從BeginData地址開始繼續(xù)寫入;
其中,%表示取模運算,BeginData表示所述內(nèi)存緩沖區(qū)的起始地址,BufferSize表示所述內(nèi)存緩沖區(qū)的大小。
3.一種圖形渲染系統(tǒng),其特征在于,包括:
內(nèi)存管理單元,用于申請和管理起始地址為BeginData,結(jié)束地址為EndData的內(nèi)存緩沖區(qū);
數(shù)據(jù)讀取單元,用于從存儲設(shè)備讀取長度為AllocationSize的圖形數(shù)據(jù);
指針位置判斷單元,用于判斷指向所述內(nèi)存緩沖區(qū)的讀指針ReadPointer和寫指針WritePointer的位置關(guān)系;
第一數(shù)據(jù)緩存單元,用于根據(jù)所述指針位置判斷單元的判斷結(jié)果重復(fù)執(zhí)行下述數(shù)據(jù)緩存過程:當讀指針ReadPointer和寫指針WritePointer的位置關(guān)系為WritePointer+AllocationSize<ReadPointer,或者,ReadPointer<WritePointer且WritePointer+AllocationSize<Enddata時,接收所述數(shù)據(jù)讀取單元讀取的圖形數(shù)據(jù),并寫入所述內(nèi)存緩沖區(qū)中WritePointer指向的位置,其中,所述數(shù)據(jù)緩存過程由1個寫線程操作;
圖形渲染單元,用于根據(jù)所述指針位置判斷單元的判斷結(jié)果重復(fù)執(zhí)行下述圖形渲染過程:當ReadPointer≠WritePointer時,將所述內(nèi)存緩沖區(qū)中ReadPointer指向位置的圖形數(shù)據(jù)顯示在屏幕上,其中,所述圖形渲染過程由1個或多個并行讀線程操作;
寫指針位置調(diào)整單元,用于根據(jù)所述指針位置判斷單元的判斷結(jié)果執(zhí)行下述指針位置調(diào)整過程:當WritePointer+AllocationSize≥Enddata時,若ReadPointer≠BeginData,則將WritePointer移動到BeginData;
讀指針位置調(diào)整單元,用于根據(jù)所述指針位置判斷單元的判斷結(jié)果執(zhí)行下述指針位置調(diào)整過程:當ReadPointer≥EndData時,若WritePointer≠BeginData,則將ReadPointer移動到BeginData。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京麒麟網(wǎng)文化股份有限公司,未經(jīng)北京麒麟網(wǎng)文化股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310089264.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 寫緩存方法、緩存同步方法和裝置
- 數(shù)據(jù)緩存系統(tǒng)和數(shù)據(jù)緩存方法
- 一種緩存管理方法、裝置及現(xiàn)場可編程門陣列
- 分布式緩存方法及系統(tǒng)
- 一種數(shù)據(jù)緩存方法、裝置、設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)緩存方法和數(shù)據(jù)緩存裝置
- 緩存數(shù)據(jù)的刪除、數(shù)據(jù)緩存及緩存數(shù)據(jù)的讀取方法及裝置
- 一種分布式存儲的數(shù)據(jù)緩存方法和裝置
- 一種隊列緩存方法及設(shè)備
- 一種數(shù)據(jù)緩存方法、裝置、設(shè)備及存儲介質(zhì)





