国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

HTML5制作QQ空間動感影集實例有不少心得干活喲_html/css

來源:懂視網 責編:小采 時間:2020-11-27 16:40:55
文檔

HTML5制作QQ空間動感影集實例有不少心得干活喲_html/css

HTML5制作QQ空間動感影集實例有不少心得干活喲_html/css_WEB-ITnose:你聽說過動感影集么動感影集在QQ空間可以將靜態的圖片輕松轉變為動態的視頻集,且載體是HTML5(簡稱H5)頁面,意味著可以隨時分享到空間或朋友圈給好友欣賞! 移動端區別于PC年代的相冊視頻,由于設備性能限制,每一個動畫細節都需要認真優化,今天就來
推薦度:
導讀HTML5制作QQ空間動感影集實例有不少心得干活喲_html/css_WEB-ITnose:你聽說過動感影集么動感影集在QQ空間可以將靜態的圖片輕松轉變為動態的視頻集,且載體是HTML5(簡稱H5)頁面,意味著可以隨時分享到空間或朋友圈給好友欣賞! 移動端區別于PC年代的相冊視頻,由于設備性能限制,每一個動畫細節都需要認真優化,今天就來

“你聽說過動感影集么?”動感影集在QQ空間可以將靜態的圖片輕松轉變為動態的視頻集,且載體是HTML5(簡稱H5)頁面,意味著可以隨時分享到空間或朋友圈給好友欣賞!

移動端區別于PC年代的相冊視頻,由于設備性能限制,每一個動畫細節都需要認真優化,今天就來說說動感影集開發過程中的動畫性能檢測與優化的問題。

1.先利其器 – Chrome Timeline&Rendering

性能分析前,我們先看看工具。Chrome瀏覽器帶來的兩個工具是發現性能問題的利器,它們是Timeline和Rendering。Timeline

Timeline是一款基于錄制的工具,通過錄制在瀏覽器中的一系列操作,系統會記錄這個過程的所有細節數據,包括js計算、頁面重繪、復合層消耗等,同時還保存著這個過程每一幀的截圖。

使用方法:打開Chrome開發者工具,選擇Timeline。點擊左上角小圓點錄制操作,然后在要檢測的頁面上做一系列交互操作,結束后再次點擊圓點停止,最后操作期間的一系列數據就會以圖表等的形式呈現在面板中。

它有四種事件,對應四個顏色。如下圖,網絡和DOM解析(藍色),JavaScript計算(黃色),樣式重計算和布局(紫色)以及繪畫和合成(綠色)事件。

它有三個模式:幀模式、事件模式和內存模式。

(1)幀模式幀模式需要選中幀視圖(柱形圖按鈕)開啟。該模式是檢查動畫性能最常用的模式。

注意到,幀查看器有兩條分界線,分別是30fps和60fps。

這需要我們重溫fps(每秒傳輸幀數)的概念:

也就是說fps要保證接近60才能保證流暢。 點擊這里 可以看到30fps和60fps的明顯區別。回歸到幀模式柱狀圖,不難看出柱狀圖柱高越小表示動畫越流暢。

同時通過點擊柱狀圖還可以看到CPU、內存的詳情,以及找到對應腳本和結點定位。

基本用法:

(2)事件模式和內存模式

事件模式需要點擊事件按鈕開啟(如圖左側藍色),而內存模式是可以同時顯示在幀模式或事件模式中,只需要勾選Memory面板即可。

事件模式是以事件為導向,觀察錄制間操作的事件經過,方便定位哪個操作占用的事件比較頻繁。同時結合內存面板,可以看得出哪個事件消耗的內存最大,有沒有合理地進行垃圾回收(GC)。

同時注意到這里勾選了Screenshots面板,這個面板記錄了過程間的屏幕截圖,更方便定位有性能問題的操作區間,發現問題所在。

Rendering

Rendering處于開發者工具的隱藏面板中,打開Chrome開發者工具然后按ESC鍵打開。

它有四個功能:

2.洞察技巧 – 如何發現性能問題

上面說了性能分析的工具,下面應該說說檢測動畫性能問題的辦法。動畫性能分析主要用到Timeline幀模式+Rendering的開啟繪制閃爍和顯示層級邊框功能。

用法1:檢查卡頓情況

打開幀模式,點擊錄制按鈕,開始錄制頁面操作,之后結束錄制,查看柱狀圖。發現低于60fps的柱形,點擊具體的幀率柱,查看記錄詳情,根據左邊的信息定位問題所在,如下圖:

用法2:查看層級與多余布局塊

有時候感覺頁面卡,可能會是因為層塊多沒有處理好顯隱。可以通過功能面板的paint選項卡開啟渲染截圖。

該功能開啟后,再次錄制操作,結束后可以在詳細數據面板看到每一個柱形圖的即時渲染截圖,通過移動和查找可以看出哪些塊是不應該出現的,從而把它解決掉。

用法3:查看多余或重復渲染的結點

勾選Rendering中的Enable paint flashing和Show layer borders。直接操作頁面,可以看到操作期間是否會有意料之外的塊狀渲染(渲染的結點會呈現綠色框框),若有問題則刪除多余結點再次嘗試,逐漸定位出有問題的結點。

以上三個功能可以幫助你發現很多性能的問題。

3.江湖事跡 – 動感影集性能案例

說了那么多,現在就來分享三個開發過程中的簡單性能案例。

1.封尾擴散動畫

動感影集的封尾頁會用到一個通用的頁尾,動畫很簡單,是一個圈圈由中間向兩邊擴散。實現也很快,馬上會想到border動畫,把border由0px->1000px,在PC看沒問題,于是就有了這個。

但是,在小米2S看的時候就發現結束的時候十分卡,看了下前面的元素都是漸現動畫,不可能呀,于是用Timeline工具分析了一下。

各種綠色!說明是painting(渲染)引起的性能問題,因此毫無疑問是動畫原因了。同時我還看了下Paint面板:

發現了一個十分大的層在繪制(綠色部分),發現是bg-border這個結點的問題。于是我查看了該結點的動畫:

會不會就是這個結點的border動畫引起的?那試試換一種寫法,我把border值固定,通過transform:scale來改變大小,實現了一樣的效果。

再看看timeline?

O.M.G!除了剛開始繪制的消耗外,其他時候已經不會產生太多嚴重消耗,總體FPS維持在60以上(十分流暢),而且層的大小也自然降了下來。

結論:border動畫在低端機器可能會產生性能問題,看情況使用其他方式代替。

2.前景放大動畫

在邀請函模板里有一個前景由小變大的動畫,但是在安卓機上產生了嚴重的渲染異常,如下圖:

在IOS機器上沒有重現,循例我查看了timeline。發現上面也沒有異樣,性能還是能保持流暢。那么問題出在哪里呢?

我查看了這區域的代碼,這里是一個影集間的相片切換效果,其中上一個效果結束會加上一個.animate-b的類,作用了這個類將會有一個漸隱的動畫;與此同時新的頁只要加上.animate類就開始播放。這是通過js控制兩個類來實現不同類型動畫的切換。

那么問題是否出在這里呢?于是我把漸隱動畫去掉,播放完的頁面直接隱藏掉,不讓動畫播放,然后新動畫調整到直接播放不漸現的效果。

最后發現,問題解決了!效果如圖:

結論:背后的動畫可能會影響當前動畫的播放,在安卓4.0系統都會產生渲染異常的問題,因此應該把不在當前播放的動畫停掉。

3.安卓逐幀渲染bug

更多的性能問題都不會產生嚴重的表現,最多是一點卡頓。但是安卓4.0的渲染異常卻是常會出現,為此我再找一個例子。以下是我做萬圣節活動的時候發現的一個問題,具體表現直接上圖:

這是魅族比較好的一臺機器,但依然會產生逐幀渲染問題。根據之前的例子,我第一時間會想到是否別的動畫在影響?我看到這個動畫作用錢有一個手一直搖一搖的動畫,而且發現搖完后那個動畫在背后是循環播放(infinite)的,一直沒有結束。

心想,只能是它了,于是我把它去掉:

結果如我所想,頁面終于流暢了:

總結: 在性能檢測的時候,有時候工具并不能幫到你,在找問題的時候也不要一味在當前頁面找,很有可能是背后的一些無關代碼在做著別的消耗性行為,因此在找不到問題的時候不妨從當前頁的上下游入手。

4.熟能生巧 – 性能優化的經驗技巧

說了一些具體操作辦法,最后來說一下我在開發過程中積累的經驗。

1.以下屬性的更優解決方案

左側屬性都很有可能會帶來性能問題。

2.動畫坑點

兄弟元素間動畫互相影響

當前播放的動畫會因為其他結點動畫還沒結束而收到影響,安卓機器上會呈現逐幀渲染的表現。

解決辦法:處可視區域播放的動畫外,將背后播放的動畫display:none或者animation-play-state:pause。

z-index設置不當

兄弟元素在復合層中渲染,且z-index比主元素小,則主元素也會被加入到復合層渲染。 有篇文章 就是說這個問題。

解決辦法:給作用于動畫的兄弟元素設置合理z-index值。

3.巧妙使用css動畫

這是一些用CSS3來解決一般JS效果的做法。

4.是否都要GPU加速?

最后,討論一下這個問題。開啟GPU加速固然會讓頁面動畫更流暢,但是否表示所有元素都要開啟?肯定不是,會有以下幾個缺點:

盲目使用會讓無關元素都渲染成復合層。

復合層渲染成位圖消耗內存,也會耗時。

移動端手機會因此電量消耗更快。

由此可見,如果使用GPU的元素很多,那么內存的消耗可能就遠遠大于動畫的消耗,這就有點本末倒置了。因此,最好的辦法是處理好動畫層級,整合動畫層一并開啟GPU加速。

原文鏈接

文章來源于網絡,如果有侵犯到您的權益,請及時聯系QQ:123464386,將會在第一時間進行處理!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

HTML5制作QQ空間動感影集實例有不少心得干活喲_html/css

HTML5制作QQ空間動感影集實例有不少心得干活喲_html/css_WEB-ITnose:你聽說過動感影集么動感影集在QQ空間可以將靜態的圖片輕松轉變為動態的視頻集,且載體是HTML5(簡稱H5)頁面,意味著可以隨時分享到空間或朋友圈給好友欣賞! 移動端區別于PC年代的相冊視頻,由于設備性能限制,每一個動畫細節都需要認真優化,今天就來
推薦度:
標簽: QQ空間 制作 it
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美 日韩 成人 | 中日韩欧美在线观看 | 欧美性xxxbbb | 国产高清自拍 | 国产精品美女一区二区三区 | 中文字幕韩国电影 | 国产精品成人一区二区 | 亚洲欧美日韩综合在线 | 国产偷自拍 | 亚洲综合一区二区三区 | 一区二区三区视频在线播放 | 真实的国产乱xxxx在线 | 国产在线观看精品 | 99久久国内精品成人免费 | xxx色xxx性| 熟年中出交尾六十路七十路 | 欧美中日韩在线 | 97国产精品欧美一区二区三区 | 国产在线精品一区二区夜色 | 亚洲精品视频区 | 国内精品一区二区 | 中文字幕另类 | 久久精品国产免费一区 | 亚洲综合久久久 | 久久久精品麻豆 | 国产高清视频免费在线观看 | 欧美日韩综合精品一区二区三区 | 一级毛片一级毛片一级毛片 | 亚洲国产精品久久久久久 | a一区二区三区视频 | 欧美xxx在线 | 欧美变态人zozo禽交 | 性久久久久久 | 免费亚洲网站 | 91在线 一区 二区三区 | 日韩在线一区二区三区免费视频 | 在线欧美a | 热综合一本伊人久久精品 | 91精品一区二区 | 国产区视频在线 | 精品在线免费播放 |