6,創(chuàng)建圖形處理器進(jìn)程,通過(guò)圖形處理器進(jìn)程執(zhí)行系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù)并存儲(chǔ)在顯存中。
[0083]步驟S208,生成顯存中渲染數(shù)據(jù)準(zhǔn)備就緒的通知指令。
[0084]在一個(gè)實(shí)施例中,如圖8所示,一種基于3D引擎的圖形渲染數(shù)據(jù)生成裝置,包括指令獲取模塊202、圖形引擎選擇模塊204、渲染數(shù)據(jù)生成模塊206以及通知模塊208,其中:
[0085]指令獲取模塊202,用于獲取輸入的腳本指令和/或標(biāo)簽信息。
[0086]圖形引擎選擇模塊204,用于獲取操作系統(tǒng)版本信息,將所述腳本指令和/或標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令。
[0087]渲染數(shù)據(jù)生成模塊206,用于創(chuàng)建圖形處理器進(jìn)程,通過(guò)所述圖形處理器進(jìn)程執(zhí)行所述系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù)并存儲(chǔ)在顯存中。
[0088]通知模塊208,用于生成顯存中渲染數(shù)據(jù)準(zhǔn)備就緒的通知指令。
[0089]上述網(wǎng)頁(yè)繪制方法及裝置、基于3D引擎的圖形渲染數(shù)據(jù)生成方法及裝置中,無(wú)需先將網(wǎng)頁(yè)中的腳本指令和網(wǎng)頁(yè)標(biāo)簽先轉(zhuǎn)換成同一標(biāo)準(zhǔn)的OpenGL指令,再由OpenGL指令轉(zhuǎn)化成底層的系統(tǒng)圖形引擎指令,而是通過(guò)獲取操作系統(tǒng)版本信息直接將網(wǎng)頁(yè)中的腳本指令和網(wǎng)頁(yè)標(biāo)簽轉(zhuǎn)換成底層的系統(tǒng)圖形引擎指令。使得網(wǎng)頁(yè)中的渲染模式為硬件加速模式的網(wǎng)頁(yè)元素中的腳本指令和網(wǎng)頁(yè)標(biāo)簽?zāi)軌蚩焖俚剞D(zhuǎn)換成底層的系統(tǒng)圖形引擎指令,從而提高了執(zhí)行效率。
[0090]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種網(wǎng)頁(yè)繪制方法,包括: 獲取網(wǎng)頁(yè)中渲染模式為硬件渲染模式的網(wǎng)頁(yè)元素,獲取所述網(wǎng)頁(yè)元素中包含的腳本指令和標(biāo)簽信息; 獲取操作系統(tǒng)版本信息,將所述腳本指令和標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令; 創(chuàng)建圖形處理器進(jìn)程,通過(guò)所述圖形處理器進(jìn)程執(zhí)行所述系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù); 通過(guò)瀏覽器進(jìn)程加載所述生成的渲染數(shù)據(jù)并展示。
2.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)繪制方法,其特征在于,所述獲取網(wǎng)頁(yè)中渲染模式為硬件渲染模式的網(wǎng)頁(yè)元素的步驟包括: 遍歷所述網(wǎng)頁(yè)中的網(wǎng)頁(yè)元素,判斷所述網(wǎng)頁(yè)元素是否為WebGL標(biāo)簽定義的網(wǎng)頁(yè)元素,若是,則該網(wǎng)頁(yè)元素即為渲染模式為硬件渲染模式的網(wǎng)頁(yè)元素。
3.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)繪制方法,其特征在于,所述將所述腳本指令和標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令包括: 獲取所述腳本指令和標(biāo)簽信息的類(lèi)型,獲取所述腳本指令和標(biāo)簽信息的類(lèi)型對(duì)應(yīng)的轉(zhuǎn)換引擎接口函數(shù); 根據(jù)所述轉(zhuǎn)換引擎接口函數(shù)將所述腳本指令和標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令。
4.根據(jù)權(quán)利要求3所述的網(wǎng)頁(yè)繪制方法,其特征在于,所述轉(zhuǎn)換引擎接口函數(shù)包括場(chǎng)景創(chuàng)建接口函數(shù)、渲染算法接口函數(shù)和資源加載接口函數(shù)中的至少一種。
5.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)繪制方法,其特征在于,所述通過(guò)圖形處理器進(jìn)程生成相應(yīng)的渲染數(shù)據(jù)的步驟為: 通過(guò)圖形處理器進(jìn)程以渲染到紋理的方式生成渲染數(shù)據(jù)并存儲(chǔ)在顯存中; 所述通過(guò)瀏覽器進(jìn)程加載所述生成的渲染數(shù)據(jù)的步驟為: 通過(guò)瀏覽器進(jìn)程在顯存中讀取生成的渲染數(shù)據(jù)將其加載。
6.根據(jù)權(quán)利要求1所述的網(wǎng)頁(yè)繪制方法,其特征在于,所述獲取操作系統(tǒng)版本信息的步驟之后還包括: 獲取顯卡驅(qū)動(dòng)信息,根據(jù)所述操作系統(tǒng)版本信息和/或顯卡驅(qū)動(dòng)信息判斷是否支持硬件加速,若否,則以圖形設(shè)備接口的方式繪制所述網(wǎng)頁(yè)元素。
7.—種網(wǎng)頁(yè)繪制裝置,其特征在于,包括: 腳本提取模塊,用于獲取網(wǎng)頁(yè)中渲染模式為硬件渲染模式的網(wǎng)頁(yè)元素,獲取所述網(wǎng)頁(yè)元素中包含的腳本指令和標(biāo)簽信息; 指令轉(zhuǎn)換模塊,用于獲取操作系統(tǒng)版本信息,將所述腳本指令和標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令; 指令執(zhí)行模塊,用于創(chuàng)建圖形處理器進(jìn)程,通過(guò)所述圖形處理器進(jìn)程執(zhí)行所述系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù); 渲染數(shù)據(jù)加載模塊,用于通過(guò)瀏覽器進(jìn)程加載所述生成的渲染數(shù)據(jù)并展示。
8.根據(jù)權(quán)利要求7所述的網(wǎng)頁(yè)繪制裝置,其特征在于,所述腳本提取模塊還用于遍歷所述網(wǎng)頁(yè)中的網(wǎng)頁(yè)元素,判斷所述網(wǎng)頁(yè)元素是否為WebGL標(biāo)簽定義的網(wǎng)頁(yè)元素,若是,則該網(wǎng)頁(yè)元素即為渲染模式為硬件渲染模式的網(wǎng)頁(yè)元素。
9.根據(jù)權(quán)利要求7所述的網(wǎng)頁(yè)繪制裝置,其特征在于,所述指令轉(zhuǎn)換模塊還用于獲取所述腳本指令和標(biāo)簽信息的類(lèi)型,獲取所述腳本指令和標(biāo)簽信息的類(lèi)型對(duì)應(yīng)的轉(zhuǎn)換引擎接口函數(shù);根據(jù)所述轉(zhuǎn)換引擎接口函數(shù)將所述腳本指令和標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令。
10.根據(jù)權(quán)利要求9所述的網(wǎng)頁(yè)繪制裝置,其特征在于,所述轉(zhuǎn)換引擎接口函數(shù)包括場(chǎng)景創(chuàng)建接口函數(shù)、渲染算法接口函數(shù)和資源加載接口函數(shù)中的至少一種。
11.根據(jù)權(quán)利要求7所述的網(wǎng)頁(yè)繪制裝置,其特征在于,所述指令執(zhí)行模塊還用于通過(guò)圖形處理器進(jìn)程以渲染到紋理的方式生成渲染數(shù)據(jù)并存儲(chǔ)在顯存中; 所述渲染數(shù)據(jù)加載模塊還用于通過(guò)瀏覽器進(jìn)程在顯存中讀取生成的渲染數(shù)據(jù)將其加載。
12.根據(jù)權(quán)利要求7所述的網(wǎng)頁(yè)繪制裝置,其特征在于,所述指令轉(zhuǎn)換模塊還用于獲取顯卡驅(qū)動(dòng)信息,根據(jù)所述操作系統(tǒng)版本信息和/或顯卡驅(qū)動(dòng)信息判斷是否支持硬件加速,若否,則以圖形設(shè)備接口的方式繪制所述網(wǎng)頁(yè)元素。
13.一種基于3D引擎的圖形渲染數(shù)據(jù)生成方法,包括: 獲取輸入的腳本指令和/或標(biāo)簽信息; 獲取操作系統(tǒng)版本信息,將所述腳本指令和/或標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令; 創(chuàng)建圖形處理器進(jìn)程,通過(guò)所述圖形處理器進(jìn)程執(zhí)行所述系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù)并存儲(chǔ)在顯存中; 生成顯存中渲染數(shù)據(jù)準(zhǔn)備就緒的通知指令。
14.一種基于3D引擎的圖形渲染數(shù)據(jù)生成裝置,其特征在于,包括: 指令獲取模塊,用于獲取輸入的腳本指令和/或標(biāo)簽信息; 圖形引擎選擇模塊,用于獲取操作系統(tǒng)版本信息,將所述腳本指令和/或標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令; 渲染數(shù)據(jù)生成模塊,用于創(chuàng)建圖形處理器進(jìn)程,通過(guò)所述圖形處理器進(jìn)程執(zhí)行所述系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù)并存儲(chǔ)在顯存中; 通知模塊,用于生成顯存中渲染數(shù)據(jù)準(zhǔn)備就緒的通知指令。
【專(zhuān)利摘要】一種網(wǎng)頁(yè)繪制方法,包括:獲取網(wǎng)頁(yè)中渲染模式為硬件渲染模式的網(wǎng)頁(yè)元素,獲取所述網(wǎng)頁(yè)元素中包含的腳本指令和標(biāo)簽信息;獲取操作系統(tǒng)版本信息,將所述腳本指令和標(biāo)簽信息轉(zhuǎn)換成與所述操作系統(tǒng)版本信息對(duì)應(yīng)的系統(tǒng)圖形引擎指令;創(chuàng)建圖形處理器進(jìn)程,通過(guò)所述圖形處理器進(jìn)程執(zhí)行所述系統(tǒng)圖形引擎指令,生成相應(yīng)的渲染數(shù)據(jù);通過(guò)瀏覽器進(jìn)程加載所述生成的渲染數(shù)據(jù)并展示。此外,還提供了一種網(wǎng)頁(yè)繪制裝置、一種基于3D引擎的圖形渲染數(shù)據(jù)生成方法及裝置。上述網(wǎng)頁(yè)繪制方法及裝置、基于3D引擎的圖形渲染數(shù)據(jù)生成方法及裝置能夠減少指令轉(zhuǎn)換的時(shí)間,從而提高執(zhí)行效率。
【IPC分類(lèi)】G06F9-44, G06F17-30
【公開(kāi)號(hào)】CN104850388
【申請(qǐng)?zhí)枴緾N201410050728
【發(fā)明人】康亮
【申請(qǐng)人】騰訊科技(深圳)有限公司
【公開(kāi)日】2015年8月19日
【申請(qǐng)日】2014年2月13日