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