Google認(rèn)為GPU將是未來互聯(lián)網(wǎng)的引擎
多年以來,互聯(lián)網(wǎng)和用戶的交互方式一直是在后端數(shù)據(jù)庫中儲存信息,然后在前端用靜態(tài)的方式顯示出來。但是最近類似互動游戲、動畫和視覺差滾動的網(wǎng)站越來越受到歡迎,互聯(lián)網(wǎng)的圖形表現(xiàn)也變得更加生動和豐富。在這場變革中,用戶設(shè)備的硬件配置也變得日益強(qiáng)大,而Google現(xiàn)在似乎認(rèn)為GPU將是構(gòu)造未來互聯(lián)網(wǎng)的最佳工具。
在上周四的GoogleI/O大會上,Google游戲開發(fā)倡導(dǎo)者(GameDeveloperAdvocate)ColtMcAnlis和Android版Chrome團(tuán)隊(duì)技術(shù)總監(jiān)GraeKloba向開發(fā)者們分享了一些如何更好地利用GPU的經(jīng)驗(yàn)。這些方法可以幫助網(wǎng)站更快更迅速的顯示圖形,并且在不犧牲性能的前提下優(yōu)化觸摸操作體驗(yàn)。
目前Chrome可以把一個網(wǎng)站分割成若干個部分并分配到GPU層面處理,其中的每個部分又可以再次細(xì)分成許多小塊就好像在頁面上覆蓋了一張網(wǎng)格。這樣就不必使用CPU在屏幕區(qū)域中載入像素,相反GPU會緩存這些內(nèi)容,并實(shí)時對用戶行為做出反應(yīng)。“這就好比讓CPU可以安靜地喝一杯瑪格麗特放松一下,而讓GPU來處理這些臟活累活”McAnlis說。
但是這種方式也是有代價的。如果GPU負(fù)擔(dān)的太多的話,“GPU的紋理緩存資源是固定的,不會增長的”McAnlis說,“如果緩存滿了,那就必須清除一部分頁面內(nèi)容,然后才能存入新的”,于是就會導(dǎo)致性能的下降。
目前,Chrome團(tuán)隊(duì)正在尋找如何正確分割每個頁面的方法。舉例來說,如果網(wǎng)頁中的某個部分對用戶來說是沒用的,而這個部分又被GPU緩存并載入,那無疑是對GPU計(jì)算資源的浪費(fèi)。網(wǎng)頁開發(fā)者可以在Chromium工程設(shè)計(jì)文檔中找到更多學(xué)習(xí)如何在Chrome中使用GPU的資源,并使用TraceEventProfilingTool工具來深入研究GPU使用情況。另外網(wǎng)頁開發(fā)者還可以在ChromeExperiments網(wǎng)站找到更多視覺體驗(yàn)范例,McAnlis說。
如果要舉一個好的范例網(wǎng)站,McAnlis說,不必驚奇,去看看Google的一個網(wǎng)站,也就是GoogleI/O大會的官方網(wǎng)站的移動版。“查看一下源代碼就會發(fā)現(xiàn)這是一個絕佳的范例”McAnlis說。當(dāng)用戶上下滾動頁面時,頁面會自動擴(kuò)展或者收縮以適應(yīng)屏幕,顯示出會議各項(xiàng)日程的時間。
那些能夠提供更加豐富精彩內(nèi)容的網(wǎng)站將會成為未來幾年中互聯(lián)網(wǎng)的王者。而Google看起來已經(jīng)堅(jiān)信充分利用GPU的強(qiáng)大能力將會是實(shí)現(xiàn)這一目標(biāo)的最好方式。