一種網(wǎng)頁文字渲染方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明具體實(shí)施例涉及瀏覽器技術(shù)領(lǐng)域,特別涉及一種網(wǎng)頁文字渲染方法及裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,使用各種終端,例如臺(tái)式計(jì)算機(jī)、智能手機(jī)、平板電腦等瀏覽網(wǎng)頁是人們?nèi)粘I钪凶顬槌R姷膽?yīng)用之一。在終端通過所安裝的瀏覽器接收到來自服務(wù)器的網(wǎng)頁數(shù)據(jù)時(shí),需要對(duì)該網(wǎng)頁數(shù)據(jù),包括待渲染的文字、圖片甚至視頻進(jìn)行渲染,使之通過瀏覽器呈現(xiàn)給用戶。
[0003]目前,瀏覽器的網(wǎng)頁渲染引擎對(duì)網(wǎng)頁數(shù)據(jù)中的待渲染文字的渲染方法通常包括:從網(wǎng)頁數(shù)據(jù)中讀取待渲染文字的數(shù)量、指定字體及指定大小的信息,根據(jù)該數(shù)量、指定字體及指定大小的信息對(duì)瀏覽器頁面進(jìn)行排版,從而確定待渲染文字的顯示區(qū)域;其次,從網(wǎng)頁數(shù)據(jù)中讀取待渲染文字的編碼信息,從而確定待渲染文字;然后,從瀏覽器的字庫中找到待渲染文字的繪制路徑,根據(jù)該繪制路徑及所述指定字體及指定大小逐一繪制待渲染文字對(duì)應(yīng)的文字位圖,并將該文字位圖依次顯示在該顯示區(qū)域中。
[0004]根據(jù)所述繪制路徑繪制一個(gè)待渲染文字對(duì)應(yīng)的文字位圖,通常需要經(jīng)過連線、修正、填充等非常多的操作步驟才能實(shí)現(xiàn),因此繪制待渲染文字對(duì)應(yīng)的文字位圖的速度相對(duì)較慢,這將會(huì)影響瀏覽器接收到網(wǎng)頁數(shù)據(jù)后,對(duì)網(wǎng)頁首字首屏的顯示速度和滑動(dòng)流暢性,容易造成卡頓,因此無法滿足一些網(wǎng)頁,特別是大型網(wǎng)頁對(duì)滑動(dòng)幀率的較高要求。
[0005]為了提高網(wǎng)頁首字首屏的顯示速度和滑動(dòng)流暢性,目前的做法只能是提升終端的CPU性能,從而提高待渲染文字對(duì)應(yīng)的文字位圖的繪制速度。然而,提升CPU性能需要耗費(fèi)一定的成本,并且當(dāng)繪制文字位圖的操作大量占用CPU后,對(duì)網(wǎng)頁數(shù)據(jù)中其它資源的例如加載、解壓、解碼和排版等操作都會(huì)產(chǎn)生影響,從而影響網(wǎng)頁的打開速度。
【發(fā)明內(nèi)容】
[0006]有鑒于此,有必要提供一種網(wǎng)頁文字渲染方法及裝置,可以提高網(wǎng)頁首字首屏的顯示速度和滑動(dòng)流暢性。
[0007]—種網(wǎng)頁文字渲染方法,包括以下步驟:預(yù)先設(shè)定一個(gè)或多個(gè)指定文字,并分別對(duì)每個(gè)指定文字繪制相應(yīng)的文字位圖,得到文字位圖集合;當(dāng)接收到網(wǎng)頁數(shù)據(jù)時(shí),根據(jù)該網(wǎng)頁數(shù)據(jù)確定待渲染文字;從所述文字位圖集合中找出該待渲染文字對(duì)應(yīng)的文字位圖,將待渲染文字對(duì)應(yīng)的文字位圖顯示在瀏覽器頁面中。
[0008]一種網(wǎng)頁文字渲染裝置,包括:預(yù)設(shè)模塊,用于預(yù)先設(shè)定一個(gè)或多個(gè)指定文字,并分別對(duì)每個(gè)指定文字繪制相應(yīng)的文字位圖,得到文字位圖集合;確定模塊,用于當(dāng)接收到網(wǎng)頁數(shù)據(jù)時(shí),根據(jù)該網(wǎng)頁數(shù)據(jù)確定待渲染文字;查找模塊,用于從所述文字位圖集合中找出該待渲染文字對(duì)應(yīng)的文字位圖,將待渲染文字對(duì)應(yīng)的文字位圖顯示在瀏覽器頁面中。
[0009]相較于現(xiàn)有技術(shù),本發(fā)明網(wǎng)頁文字渲染方法及裝置,通過預(yù)先繪制一個(gè)或多個(gè)指定文字的文字位圖,得到文字位圖集合,當(dāng)接收到網(wǎng)頁數(shù)據(jù)時(shí),可以直接從該文字位圖集合中找出與網(wǎng)頁數(shù)據(jù)中待渲染文字對(duì)應(yīng)的文字位圖顯示在瀏覽器頁面中,從而可以提高網(wǎng)頁首字首屏的顯示速度和滑動(dòng)流暢性。
[0010]為讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下。
【附圖說明】
[0011]圖1為一種終端的結(jié)構(gòu)框圖。
[0012]圖2為本發(fā)明實(shí)施例提供的網(wǎng)頁文字渲染方法應(yīng)用時(shí)的環(huán)境示意圖。
[0013]圖3為本發(fā)明實(shí)施例提供的網(wǎng)頁文字渲染方法的流程圖。
[0014]圖4為預(yù)先設(shè)定指定文字的方法流程圖。
[0015]圖5為圖3中從文字位圖集合中找出待渲染文字對(duì)應(yīng)的文字位圖的方法流程圖。
[0016]圖6為圖5中判斷文字位圖集合中是否存在與所提取的待渲染文字對(duì)應(yīng)的文字位圖的方法流程圖。
[0017]圖7為本發(fā)明實(shí)施例提供的網(wǎng)頁文字渲染裝置的框圖。
【具體實(shí)施方式】
[0018]為更進(jìn)一步闡述本發(fā)明為實(shí)現(xiàn)預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明的【具體實(shí)施方式】、結(jié)構(gòu)、特征及其功效,詳細(xì)說明如后。
[0019]圖1示出了一種終端的結(jié)構(gòu)框圖。如圖1所示,終端I包括一個(gè)或多個(gè)(圖中僅示出一個(gè))存儲(chǔ)器11、處理器12、存儲(chǔ)控制器13、外設(shè)接口 14、通信模塊15、輸入單元16及顯示單元17。這些組件通過一條或多條通訊總線/信號(hào)線相互通訊。
[0020]本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對(duì)終端I的結(jié)構(gòu)造成限定。例如,終端I還可包括比圖1所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1所示的各組件可以采用硬件、軟件或其組合實(shí)現(xiàn)。
[0021]存儲(chǔ)器11可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的網(wǎng)頁文字渲染方法及裝置對(duì)應(yīng)的程序指令/模塊,處理器12通過運(yùn)行存儲(chǔ)在存儲(chǔ)器11內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的網(wǎng)頁文字渲染方法。
[0022]存儲(chǔ)器11可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器11可進(jìn)一步包括相對(duì)于處理器12遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程設(shè)置的存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至終端I。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。處理器12以及其他可能的組件對(duì)存儲(chǔ)器11的訪問可在存儲(chǔ)控制器13的控制下進(jìn)行。
[0023]外設(shè)接口 14將各種輸入/輸出裝置耦合至處理器12以及存儲(chǔ)器11。處理器12運(yùn)行存儲(chǔ)器11內(nèi)的各種軟件、指令以及執(zhí)行終端I的各種功能以及進(jìn)行數(shù)據(jù)處理。
[0024]通信模塊15用于與通信網(wǎng)絡(luò)或者其他設(shè)備進(jìn)行通信。具體地,通信模塊15例如可以是網(wǎng)卡151或RF (Rad1 Frequency,射頻)模塊152。網(wǎng)卡151作為局域網(wǎng)中連接計(jì)算機(jī)和傳輸介質(zhì)的接口,用于實(shí)現(xiàn)與局域網(wǎng)傳輸介質(zhì)之間的物理連接與電信號(hào)匹配,從而建立局域網(wǎng)并連接到因特網(wǎng)(Internet),與各種網(wǎng)絡(luò)如局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)進(jìn)行通信。網(wǎng)卡151可包括各種現(xiàn)有的用于執(zhí)行上述功能的電路元件,例如處理器和存儲(chǔ)器(包括ROM和RAM)等。RF模塊152用于接收以及發(fā)送電磁波,實(shí)現(xiàn)電磁波與電信號(hào)的相互轉(zhuǎn)換,從而與通信網(wǎng)絡(luò)或者其他設(shè)備進(jìn)行通信。RF模塊152可包括各種現(xiàn)有的用于執(zhí)行這些功能的電路元件,例如,天線、射頻收發(fā)器、數(shù)字信號(hào)處理器、加密/解密芯片、用戶身份模塊(SM)卡、存儲(chǔ)器等等。RF模塊152可與各種網(wǎng)絡(luò)如互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、無線網(wǎng)絡(luò)進(jìn)行通信或者通過無線網(wǎng)絡(luò)與其他設(shè)備進(jìn)行通信。上述的無線網(wǎng)絡(luò)可包括蜂窩式電話網(wǎng)、無線局域網(wǎng)或者城域網(wǎng)。上述的無線網(wǎng)絡(luò)可以使用各種通信標(biāo)準(zhǔn)、協(xié)議及技術(shù),包括但并不限于全球移動(dòng)通信系統(tǒng)(Global System for Mobile Communicat1n, GSM)、增強(qiáng)型移動(dòng)通信技術(shù)(Enhanced Data GSM Environment, EDGE),寬帶碼分多址技術(shù)(wideband codedivis1n multiple access, W-CDMA),碼分多址技術(shù)(Code divis1n access, CDMA)、時(shí)分多址技術(shù)(time divis1n multiple access, TDMA),無線保真技術(shù)(Wireless, Fidelity,WiFi)(如美國電氣和電子工程師協(xié)會(huì)標(biāo)準(zhǔn)IEEE802.11a, IEEE802.lib, IEEE802.1lg和/或 IEEE802.lln)、網(wǎng)絡(luò)電話(Voice over internet protocal, VoIP)、全球微波互聯(lián)接入(Worldwide Interoperability for Microwave Access,W1-Max)、其他用于郵件、即時(shí)通信及短消息的協(xié)議,以及任何其他合適的通信協(xié)議,甚至可包括那些當(dāng)前仍未被開發(fā)出來的協(xié)議。
[0025]輸入單元16可用于接收輸入的字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,輸入單元16可包括按鍵161以及觸控表面162。按鍵161例如可包括用于輸入字符的字符按鍵,以及用于觸發(fā)控制功能的控制按鍵??刂瓢存I的實(shí)例包括“返回主屏”按鍵、開機(jī)/關(guān)機(jī)按鍵、拍照鍵等等。觸控表面162可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控表面162上或在觸控表面162附近的操作),并根據(jù)預(yù)先設(shè)定的程序驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控表面162可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的