久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何將 HTML5 性能發(fā)揮到極致

由于實際運行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發(fā)者能夠決定的,開發(fā)者能作的是盡可能通
 

  HTML5作為新興領域越來越熱。然而在移動設備硬件性能弱于PC的背景下,對性能的需求顯得更為重要,而HTML5性能優(yōu)化前與優(yōu)化后有著極大的差別,如何優(yōu)化才能提高性能,對此熟知的人很少。本文以LayaAir引擎為例,通過代碼示例詳細闡述如何利用引擎對HTML5作出性能的極致優(yōu)化。

  主題包括:

  •   代碼執(zhí)行基本原理
  •   基準測試
  •   內(nèi)存優(yōu)化
  •   圖形渲染性能
  •   減少CPU使用量
  •   其他優(yōu)化策略

  第1節(jié):代碼執(zhí)行基本原理

  LayaAir引擎支持AS3、TypeScript、JavaScript三種語言開發(fā),然而無論是采用哪種開發(fā)語言,最終執(zhí)行的都是JavaScript代碼。所有看到的畫面都是通過引擎繪制出來的,更新頻率取決于開發(fā)者指定的FPS,例如指定幀頻率為60FPS,則運行時每個幀的執(zhí)行時間為六十分之一秒,所以幀速越高,視覺上感覺越流暢,60幀是滿幀。

  由于實際運行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發(fā)者能夠決定的,開發(fā)者能作的是盡可能通過優(yōu)化,在低端設備或低性能瀏覽器中,提升FPS幀速。

  LayaAir引擎在每幀都會重繪,在性能優(yōu)化時,除了關注每幀執(zhí)行邏輯代碼帶來的CPU消耗,還需要注意每幀調(diào)用繪圖指令的數(shù)量以及GPU的紋理提交次數(shù)。


  第2節(jié):基準測試

  LayaAir引擎內(nèi)置的性能統(tǒng)計工具可用于基準測試,實時檢測當前性能。開發(fā)者可以使用laya.utils.Stat類,通過Stat.show() 顯示統(tǒng)計面板。具體編寫代碼如下例所示:

Stat.show(0,0); //AS3的面板調(diào)用寫法       
Laya.Stat.show(0,0); //TS與JS的面板調(diào)用寫法

  Canvas渲染的統(tǒng)計信息:

如何將 HTML5 性能發(fā)揮到極致

  WebGL渲染的統(tǒng)計信息:

如何將 HTML5 性能發(fā)揮到極致

  統(tǒng)計參數(shù)的意義:

  FPS:

  每秒呈現(xiàn)的幀數(shù)(數(shù)字越高越好)。

  使用canvas渲染時,描述字段顯示為FPS(Canvas),使用WebGL渲染時,描述字段顯示為FPS(WebGL)。

  Sprite:

  渲染節(jié)點數(shù)量(數(shù)字越低越好)。

  Sprite統(tǒng)計所有渲染節(jié)點(包括容器),這個數(shù)字的大小會影響引擎節(jié)點遍歷,數(shù)據(jù)組織和渲染的次數(shù)。

  DrawCall:

  DrawCall在canvas和WebGL渲染下代表不同的意義(越少越好)。

  Canvas下表示每幀的繪制次數(shù),包括圖片、文字、矢量圖。盡量限制在100之下。

  WebGL下表示渲染提交批次,每次準備數(shù)據(jù)并通知GPU渲染繪制的過程稱為1次DrawCall,在每1次DrawCall中除了在通知GPU的渲染上比較耗時之外,切換材質(zhì)與shader也是非常耗時的操作。 DrawCall的次數(shù)是決定性能的重要指標,盡量限制在100之下。

  Canvas:

  三個數(shù)值 —— 每幀重繪的畫布數(shù)量 / 緩存類型為“normal”類型的畫布數(shù)量 / 緩存類型為“bitmap”類型的畫布數(shù)量”。

  CurMem:僅限WebGL渲染,表示內(nèi)存與顯存占用(越低越好)。

  Shader:僅限WebGL渲染,表示每幀Shader提交次數(shù)。

  無論是Canvas模式還是WebGL模式,我們都需要重點關注DrawCall,Sprite,Canvas這三個參數(shù),然后針對性地進行優(yōu)化。(參見“圖形渲染性能”)


  第3節(jié):內(nèi)存優(yōu)化

  對象池

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

本文將使用HTML5提供的VideoAPI做一個自定義的視頻播放器,需要用到HTML5提供的video標簽、以及HTML5提供的對JavascriptAPI的擴展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應用的豐富,HTML5 工程師們已經(jīng)不滿足于把桌面端體驗簡單移植到移動端,他們覬覦移動原生應用人性化的操作體驗,特別是原生應用與生俱來的豐富的手勢系統(tǒng)。HTML5 沒有提
你想要在自己網(wǎng)站上分享一個產(chǎn)品,或者是一個作品集,又或者僅僅只是一個靈感。在你發(fā)布到網(wǎng)上之前,你想讓它看起來有吸引力,專業(yè),或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設計流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個講義。同時,也讓我意外的收到了非常好反饋和認!這是對我的極大鼓勵!我的
本文主要內(nèi)容有:框架與組件、構建生態(tài)、開發(fā)技巧與調(diào)試、html、css與重構、native/hybrid/桌面開發(fā)、前端/H5優(yōu)化、全棧/全端開發(fā)、研究實驗、數(shù)據(jù)分析與監(jiān)控、其它軟技能、前端技術網(wǎng)
H5Slides是一款基于HTML5的輕量級幻燈片播放系統(tǒng),以前我們給客戶演示幻燈片時,還需要在機器上安裝ppt軟件,有時還會因為版本問題安裝失敗,影響演示的進度。但是如果能用瀏覽器來
主站蜘蛛池模板: 欧美日韩在线视频一区 | 国产伦一区二区三区四区 | 四虎成人免费视频 | 欧美日韩久久精品 | 亚洲成人av | 美女视频网站久久 | 国产精品一区二区三区四区五区 | 国产精品午夜电影 | 三级在线免费观看 | 爱爱爱av| 久久亚洲二区 | 久在线 | 日韩精品一区二区三区中文在线 | 日韩欧美一区二区三区免费观看 | 亚洲区一区二 | 爱爱综合网 | 国产精品久久久久久高潮 | 天天爽夜夜爽精品视频婷婷 | 玖玖综合在线 | 精品国产91久久久久久 | 日韩在线 | 成人在线一区二区 | 国内精品一区二区三区 | 99re热精品视频国产免费 | 99热这里有精品 | 亚洲高清成人在线 | 亚洲国产精品久久久久秋霞不卡 | 欧美在线日韩 | 欧美成人精品 | 人人做人人澡人人爽欧美 | av高清毛片 | 亚洲一级毛片 | 波多野结衣在线观看一区二区三区 | 国产亚洲精品久久久久久豆腐 | 色综合色综合网色综合 | 高清视频一区二区三区 | 97视频精品 | 国产女人第一次做爰毛片 | 欧美日韩久久 | 亚洲 中文 欧美 日韩 在线观看 | 国产在线观看一区二区三区 |