<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    關注技術,關注生活

    任何事情只要開始去做,永遠不會太遲。
    posts - 5, comments - 23, trackbacks - 0, articles - 18
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    優化JS客戶端速度之倒行逆施篇

    Posted on 2008-10-08 15:57 errorfun 閱讀(2252) 評論(2)  編輯  收藏 所屬分類: JavaScript

    在網上大多數的文章里都有教大家怎么優化JS,達到高性能,高效率。這些都說得很正確,同時也跟本文沒有任何沖突。
    因為本文所要講的是在客戶使用感覺到的(用戶體驗)速度上的提升,而不是JS執行速度。
    在很多JS應用中,優化的方向無非就是減少JS執行時間,比如減少深層對象a.b.c.d……這種形式的調用。但很多情況下,你會感覺優化得越多,頁面使用的速度感覺反而慢了。
    這在我做過的三維地圖應用中就有很深的體會,電子地圖大家應該都用過的,像百度和GOOGLE的那樣,不過三維地圖上加載的元素就比他們豐富了一點(當然他們也可以加)。
    每次拖動地圖時都會對地圖和加載的內容進行偏移。開始時沒感覺速度慢,但隨著JS優化的完成,每次拖動都會感覺頁面很“卡”。
    但測試每次拖動開始到完成所耗的時間都差不多在32到100毫秒之間。這個速度應該說是很快了,應該是基本感覺不到延遲的才對。
    在測試的過程中卻發現了一個有趣的事情,就是我在結束前又做了一次定位計算,使耗時加多了差不多一倍,這時拖動的速度明顯流暢了許多。
    然后經過多次試驗后,得到一個結論:“卡”是因為速度太快了。因為每次都耗費很短的時間完成,在高速拖動的情況下,幾乎是每時每刻在處在高峰狀態。有點像CPU占用一直處于100%的感覺。
    但這種情況只有在IE中會出現,在FF中卻沒有,估計是和IE本身的處理機制有關。

    最后的解決方案就是:使用setTimeout處理移動的觸發事件。具體timeout的時間還是跟應用有關的,但一般設在10-30之間就夠了,有些卻只是設了0就可以了。這樣看來setTimeout倒有點像多起了一個線程在處理。

    最近在寫的一個webgame程序也出現同樣的情況,突然想起之前的經驗,又一次驗證了setTimout對頁面速度提高的可行性,同時也將此分享給大家。

    PS:在做過幾個WEB應用后發覺FF的圖像處理方面好像有點問題,在同一個IMG中切換圖片會出現一些殘像,IE中不會。不知道是不是有其它原因造成,以后有時間再研究看看


    評論

    # re: 優化JS客戶端速度之倒行逆施篇  回復  更多評論   

    2008-10-08 21:10 by aisdf
    新思路...
    不錯不錯...
    setTimeout有時相當于一個Alert,只不過不彈出來的中止

    IE運行JS大字符串相加時效率太低..而且一不小心就掛了..

    # re: 優化JS客戶端速度之倒行逆施篇  回復  更多評論   

    2008-10-08 21:15 by guest
    實踐出真知 不錯, 收藏!

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: av大片在线无码免费| 亚洲人成在线免费观看| 亚洲AV永久无码精品一区二区国产| 亚洲综合伊人制服丝袜美腿| 97人妻无码一区二区精品免费| 亚洲精品视频免费看| 美女视频黄的全免费视频| 亚洲av极品无码专区在线观看| 亚洲成年人免费网站| 91亚洲国产成人久久精品网址| 免费观看激色视频网站bd| 亚洲一级毛片免费在线观看| 精品熟女少妇AV免费观看| 处破女第一次亚洲18分钟| 亚洲国产一区二区视频网站| www在线观看播放免费视频日本| 亚洲熟妇av一区二区三区| 一区二区三区四区免费视频| 亚洲人成伊人成综合网久久| 日韩一级免费视频| 一级毛片免费播放试看60分钟| 亚洲精品无码专区久久久 | 亚洲乱码卡三乱码新区| 成人在线视频免费| 日韩成人毛片高清视频免费看| 久久亚洲精品无码观看不卡| 午夜免费福利视频| 亚洲色大成网站www久久九 | 日韩电影免费在线观看中文字幕 | 亚洲AV人人澡人人爽人人夜夜| 最近中文字幕大全免费视频| 亚洲另类无码专区首页| 国产AV无码专区亚洲AV手机麻豆| 最近免费中文字幕大全免费| 麻豆亚洲AV成人无码久久精品 | 美女裸免费观看网站| 亚洲不卡av不卡一区二区| 黄色成人网站免费无码av| 久草免费福利在线| 亚洲中文字幕无码mv| 国产亚洲精品xxx|