[發(fā)明專利]一種實(shí)現(xiàn)批渲染的方法、裝置和設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 201610083256.2 | 申請(qǐng)日: | 2016-02-05 |
| 公開(公告)號(hào): | CN107045437A | 公開(公告)日: | 2017-08-15 |
| 發(fā)明(設(shè)計(jì))人: | 金德才;曾旭;徐慶賀 | 申請(qǐng)(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44;G06T11/20;G06T15/00 |
| 代理公司: | 北京鴻德海業(yè)知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙)11412 | 代理人: | 孟繁琦 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 實(shí)現(xiàn) 渲染 方法 裝置 設(shè)備 | ||
【技術(shù)領(lǐng)域】
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種實(shí)現(xiàn)批渲染的方法、裝置和設(shè)備。
【背景技術(shù)】
當(dāng)前批渲染技術(shù)已經(jīng)被絕大多數(shù)圖形引擎和圖形框架所采用,其基本原理就是通過將一些渲染狀態(tài)一致的圖形對(duì)象放入一個(gè)批渲染對(duì)象(通常稱為batch)中,從而一次提交給GPU(Graphics Processing Unit,圖形處理器)進(jìn)行繪制。這樣CPU僅需要執(zhí)行一次提交,減少了CPU的負(fù)擔(dān),對(duì)GPU而言也不用多次切換渲染狀態(tài),也減少了GPU的負(fù)擔(dān)。
然而,在對(duì)一幀數(shù)據(jù)進(jìn)行渲染時(shí),例如對(duì)一個(gè)系統(tǒng)操作界面進(jìn)行渲染,該系統(tǒng)操作界面中的所有渲染狀態(tài)一致的圖形對(duì)象都被放入batch中,然后被傳入顯存并最終被渲染。這其中,將所有渲染狀態(tài)一致的圖形對(duì)象都放入batch,并傳入顯存進(jìn)行渲染,從而占用較多CPU、顯存以及GPU等的處理資源。
【發(fā)明內(nèi)容】
有鑒于此,本發(fā)明提供了一種實(shí)現(xiàn)批渲染的方法、裝置和設(shè)備,以便于節(jié)約CPU、顯存以及GPU等的處理資源。
具體技術(shù)方案如下:
本發(fā)明提供了一種實(shí)現(xiàn)批渲染的方法,該方法包括:
從待渲染數(shù)據(jù)幀中獲取各圖形對(duì)象;
判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外;
對(duì)處于屏幕可視區(qū)域之外的圖形對(duì)象不進(jìn)行批渲染處理。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外包括:
分別確定各圖形對(duì)象的包圍盒;
基于各圖形對(duì)象的包圍盒分別判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述基于各圖形對(duì)象的包圍盒分別判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外包括:
將圖形對(duì)象的包圍盒在幾何空間的坐標(biāo)映射到屏幕所在的像素空間的坐標(biāo);
若映射后得到的包圍盒的坐標(biāo)均未落入屏幕所在的坐標(biāo)區(qū)域,則確定該圖形對(duì)象在屏幕可視區(qū)域之外。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外包括:
確定圖形對(duì)象在幾何空間的最大坐標(biāo)值和最小坐標(biāo)值;
將所述最大坐標(biāo)值和最小坐標(biāo)值分別映射到屏幕所在的像素空間的坐標(biāo);
若映射后得到的最大坐標(biāo)值對(duì)應(yīng)的點(diǎn)和最小坐標(biāo)值對(duì)應(yīng)的點(diǎn)均未落入屏幕所在的坐標(biāo)區(qū)域,則確定該圖形對(duì)象在屏幕可視區(qū)域之外。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述對(duì)處于屏幕可視區(qū)域之外的圖形對(duì)象不進(jìn)行批渲染處理包括:
遍歷各圖形對(duì)象;
如果當(dāng)前遍歷到的圖形對(duì)象處于屏幕可視區(qū)域之外,則繼續(xù)遍歷下一個(gè)圖形對(duì)象;否則,將當(dāng)前遍歷到的圖形對(duì)象加入批渲染對(duì)象batch。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述將當(dāng)前遍歷到的圖形對(duì)象加入batch包括:
判斷當(dāng)前已有的batch中是否已經(jīng)存在與當(dāng)前遍歷到的圖形對(duì)象的渲染狀態(tài)一致的圖形對(duì)象,如果是,則將當(dāng)前遍歷到的圖形對(duì)象放入與其渲染狀態(tài)一致的圖形對(duì)象所在的batch;否則,創(chuàng)建一個(gè)新的batch,將當(dāng)前遍歷到的圖形對(duì)象放入該新的batch。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
將形成的各batch提交給圖形處理器GPU,以便GPU對(duì)各batch中的圖形對(duì)象進(jìn)行批渲染。
本發(fā)明還提供了一種實(shí)現(xiàn)批渲染的裝置,該裝置包括:
獲取單元,用于從待渲染數(shù)據(jù)幀中獲取各圖形對(duì)象;
判斷單元,用于判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外;
批處理單元,用于對(duì)處于屏幕可視區(qū)域之外的圖形對(duì)象不進(jìn)行批渲染處理。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷單元,具體用于分別確定各圖形對(duì)象的包圍盒;基于各圖形對(duì)象的包圍盒分別判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷單元在基于各圖形對(duì)象的包圍盒分別判斷各圖形對(duì)象是否在屏幕可視區(qū)域之外時(shí),具體執(zhí)行:
將圖形對(duì)象的包圍盒在幾何空間的坐標(biāo)映射到屏幕所在的像素空間的坐標(biāo);
若映射后得到的包圍盒的坐標(biāo)均未落入屏幕所在的坐標(biāo)區(qū)域,則確定該圖形對(duì)象在屏幕可視區(qū)域之外。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷單元,具體用于:
確定圖形對(duì)象在幾何空間的最大坐標(biāo)值和最小坐標(biāo)值;
將所述最大坐標(biāo)值和最小坐標(biāo)值分別映射到屏幕所在的像素空間的坐標(biāo);
若映射后得到的最大坐標(biāo)值對(duì)應(yīng)的點(diǎn)和最小坐標(biāo)值對(duì)應(yīng)的點(diǎn)均未落入屏幕所在的坐標(biāo)區(qū)域,則確定該圖形對(duì)象在屏幕可視區(qū)域之外。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610083256.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





