8月25日下午,CSDN(微博) TUP第十三期“架構師沙龍快時代之客戶端優化”在北京麗亭華苑酒店舉行。暴風影音(微博)播放研發總監黃森堂、搜狗研發總監李子拓和鮮果CEO梁公軍擔任本次活動講師,分別從PC和Moblie兩個方面分享了客戶端性能優化的實戰經驗。
本次活動中,搜狗研發總監李子拓發表了主題為《搜狗瀏覽器,上網究竟能多快》的演講。

以下是他的演講實錄(以下內容僅供參考):
李子拓:今天很高興能有機會跟大家一起探討,怎么在客戶端上我們的軟件做的更快。因為我是頭一次來談到這個CSDN這個活動,我做個調查。咱們在座的各位朋友里面,有多少人親自在Windows或者其他平臺做客戶端開發的。
看一個圖,大家看到這個圖,能想到什么?瀏覽器是肯定的。這兩個瀏覽器,應該是比較高端的用戶才會用。但是,其實所謂的高端用戶,看到他有什么特點,或者有什么反映,那么其實我們也做過一些調查。其實大家看到這個東西以后,很簡單,一個快,一個慢。就是這種結果,我們比如搞專業的人聽起來可能鄙視一番,但是他確實代表著一些問題。所以我們今天搜狗瀏覽器也是從這兒開始。
其實我們很多用戶在看瀏覽器,或者其他客戶端產品快慢的時候,包括用戶調查,大家都只得到一個很模糊的概念?具體什么是快?什么是慢剛才也講了。我隨便列幾條,比如啟動時候,初次之后,我建一個標簽多長時間。IE8大家體會到,我新建一個標簽非常慢。比如說網站下載資源用多長時間,甚至還有一些比較厲害的用戶,說你這個瀏覽器退出用多長時間,也是一個問題。所以也是客戶端軟件快慢所探討的范疇。我講之前,簡單的從我個人的角度定義一下客戶端產品什么叫快和慢?
我們用戶每次電擊鼠標或者按鍵盤有一個預期的行為。如果雙擊圖表以后,3分鐘一點動靜都沒有,大家需要干什么?看有沒有起來。對于普通用戶,他會再去放一些,我是不是剛才鼠標點錯了,沒點上。這種情況下,一般來說,我們需要給他一個中間的結果。那么,但是用VC的應該知道,點他以后,VC會出現一個條,就是在軟件里面比較重要的一個地方。
我今天可能也是做廣告,就是介紹一下我們搜狗瀏覽器團隊,然后在做搜狗瀏覽器里面的一些經驗。搜狐瀏覽器,相比國內老牌的瀏覽器來說,是太年輕的一個角色。像遨游做了好幾年,搜狗是3年前才開始做,其實到今年年底是他的3周歲的生日。但是,大家可以關注搜狐瀏覽器,在短短三年時間內,能上升到國內瀏覽器排名的第三名,他一定是有用戶認可的一方面。
在瀏覽器2.2版本,我們有一個圖,這個圖片有點老,我們有一個五級加速。我們先簡單看一下瀏覽器用戶怎么操作。比如我去敲一個網址,訪問網址以后,這個頁加載完了以后,得到我所要的信息。在這個過程里面有很多步驟,要做很的復雜的工作。所以我們簡單的歸納為一個網絡請求。還有一個就是你抓完東西回來以后,你要把服務器的HTML源碼展示,看看中間有多少相交的區域。他不用等到你所有的資源下來以后才展示,我們把用戶第一次看見頁面頂上的那些定義一下。
我們先講網速,因為網速是根本。大家在上網的時候,肯定我先訪問一個網址,然后這個網址去搜狐新浪發東西,然后這個頁面加載完成了。我不知道在座的有多少在教育網上過,他里面非常快,教育網的干線也很牛,但是他到公網不通,各種原因,可能是政治上,一些利益上的問題。總之,你的教育網去訪問一些公網速度非常慢。當時搜狗在1.0的時候也是試圖解決這些事情。我們當時很簡單,就是架一個代理。其實這個東西,大家一拍腦袋都能想到,就是錢的問題,有錢把服務器都架起來了。
其實外面的一些業界或者用戶可能都看不到,但是里面很復雜。不是說我們用戶教育網的百分之百都是公網,就需要有一個名單濾一下,我們就有本地的一個策略,這個策略用來把這個教育網的這個類似于名單的東西過濾一下。只有在你訪問的網站,跟你不熟,紊亂的時候找這個服務器。具體的技術細節,我就簡單說了,基本上就是去客戶端連接不同網端的服務器,這時候,你數量哪一個網端,服務器知道的一清二楚。等到用戶真正想訪問一個真正的站點的時候,決定你是不是要加速。這套思路,我覺得用在客戶端的時候針對不同的網端在本地做一些策略,這也是我個人的一些猜測,具體還要看大家真正做軟件時候的需求。
網速這一塊,還有一種情景,就是說,大家經常用迅雷(微博)下載,在下東西的時候,大家會不會覺得上網比較慢?應該有一些用戶會遇到,比如我開迅雷下東西,確實挺快,這時候我上網,一點都打不開,迅雷不想停怎么辦?為了解決這個問題,我們可以說,我們去連目標網站的時候,我們先去借網速,相當于你暫時把他停掉,這個時候對用戶是透明的,他看不到。然后等到訪問頁面完成以后,再把這個網速還回來,這個其實就是一個叫網速保護的概念。這個概念,現在像迅雷,360他們都有,原來也是比較簡單。就是通過一個驅動來控制系統底層的網速,等到有請求的時候,去通知其他的軟件讓一下,大家覺得瀏覽器削弱了,比較可怕,但是這個其實對用戶還是有很大作用。
然后就是下載,下載是上網比較重要的一個操作,這里不多講了,就是我們用P2P的下載,這個東西到不是搜狗的專利,因為迅雷在這方面確實做的更好。但是,迅雷剛才講了,就是啟動慢,所以有些用戶不太愿意用。覺得我開的時間還不夠下,所以搜狗提出一個搜狗高速下載。我們接下來探討一下客戶端共有的這么一個問題,就是我們也談這個渲染跟繪圖。他其實目的就是把這個從網上下載的描述語言,包括各種腳本把他轉變成排版,這里面其實嚴格意義上講分好多階段。我們這里面把他當成一個來看。
對于傳統的瀏覽器,大家用IE可能是最多的,數據也擺在這兒,IE有什么問題?其實用的也很好。但是,在他IE自己,只有他自己,大家覺得也就這樣用了,但是當一些競爭對手出來以后,大家覺得IE很慢,不是網速的問題,就是我們都下來了,然后你也慢,這就是他內核實現的問題。那么,我們瀏覽器又加了一個核,加了一個VIP的核,他是業界公認的更快的瀏覽器的核。這里面提一句,大家在寫客戶端軟件的時候,會不會在里面嵌一些內容。最近新浪微博的客戶端也是用了一個IE核,應該是大家可能會用到這些。當你發現IE核在你做需求的時候比較痛苦,你可以換一個別的。痛苦具體是哪些方面,慢是一方面,還有一個就是準不統一。如果5、6個不同的標準寫這個Java腳本,你也是一個很痛苦的地方,核不在自己手里的問題。在這種情況下,你可以考慮帶一個UIK的核。你不用去給IE擦這種屁股,是一個比較值得推薦的做法。大家在做客戶端開發的時候,可以有限考慮一下這個。這也是在消滅IE6的道路上做一些貢獻。
推薦閱讀
樓市仍然是今年兩會的熱點之一,而在經歷史上最嚴房市調控之后,中國的房地產調控會不會繼續加碼?已經在上海和重慶試點的房產稅,是否會推廣到全國? 全國兩會上,全國工商聯提交的一份提案明確提出,要加快土地出讓>>>詳細閱讀
本文標題:李子拓:搜狗瀏覽器 上網究竟能多快
地址:http://m.sdlzkt.com/a/kandian/20120305/36858.html