国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

iPhone 4中HTML5 Canvas優化Retina屏幕

移動開發 iOS
本文介紹的是iPhone 4中HTML5 Canvas優化Retina屏幕,主要是介紹針對 HTML5 canvas 在 retina 屏上的應用,先來看內容。

iPhone 4中HTML5 Canvas優化retina屏幕是本文要介紹的內容,隨著 iPhone 4 的推出, retina 屏在移動設備中被越來越廣泛的應用。雖然 retina 屏給畫面的展現帶來了***的清晰平滑的效果,卻給開發人員帶來了一些小小的麻煩。網上針對如何在 retina 屏下設計軟件 UI 的文章有很多,在這里我不想重復這些內容, 而是想針對 HTML5 canvasretina 屏上的應用說一說我的一點心得。

最近業余時間一直在利用HTML5技術開發游戲引擎,一切進行的還算順利,但是當我在 iPhone4 上測試該引擎時,發現其性能比在 iPod touch 3 上還要低得多。造成這一現象的主要原因就是 retina 屏。

下面先簡單說說 retina 屏設備如何處理 canvas 的

iPhone 4 的 Safari 瀏覽器在展現 canvas 上的圖像時,為了得到和傳統屏幕一樣的視覺大小,會將原始像素放大 1 倍。(retina 屏幕的像素更小,可以理解為 4 個 retina 像素表示 1 個傳統像素)。在進行這種放大時,并不是簡單的將 1*1 像素變成 2*2 像素,而是會進行"復雜的放大算法",目的是得到更加平滑自然(類似抗鋸齒)的圖像。雖然這種放大操作是 native 的,但還是會導致渲染 canvas 時性能變得極其低下(可能還有其他原因)。

我們無法人為的控制這種放大操作(禁止放大,或者簡化放大算法)。不過我們還是有一些技巧來對 canvas 進行一些優化,從而提高它在 retina 屏幕上的性能。假設我們要在 iPhone 3GS 上做如下操作:

加載一個 50*50 的圖片

創建一個 300*300 的 canvas

將這個圖片繪制在 canvas 的 (100 , 100)坐標處

(以上單位均為:像素) 

下面看一看在 iPhone 4 下如何優化這一個操作:

加載一個 50*50 的圖片

將此圖片放大1倍,變為 100*100 , 放大操作通過代碼來實現,可采用"簡單的1變4算法"

創建一個 600*600 的 canvas ( 即,原始的寬高都乘以 2 ) 

設置該 canvas 的 style.width=300  和 style.height=300  (也就是說 style 的大小仍為原始大小) 

將放大的圖片 繪制在 canvas的 ( 200 , 200 )坐標處.(即,原始的橫縱坐標都乘以 2 ) 

通過這個方案實現的效果和優化之前以及在 iPhone 3GS 上的效果幾乎完全一樣(肉眼難以察覺),但是性能卻比優化前提高近50% !優化方案中的第 4 步最為關鍵,其它幾步的核心就是"在 2 倍大的 canvas 上繪制 2 倍大的圖片"。按理說應該性能更低才對,但是由于 canvas 的 style 大小只是 canvas 的實際大小的一半,一切就變得不同了。

當執行以下代碼:

  1. canvas.width=600;  
  2. canvas.height=600;  
  3. canvas.style.width="300px";  
  4. canvas.style.height="300px"

canvas 的實際大小變為了 300*300, 同時 canvas 的坐標系發生了縮放,縮放比為 300/600。也就是說 canvas 上所有的點的大小和坐標都縮小了一半,所以之前 "在 2 倍大的 canvas 上繪制 2 倍大的圖片",縮小一半后(這個縮小的算法也是一個復雜的縮小算法)先放大再縮小,于是***相當于什么都沒有變。

到這里也許有人會迷糊:先放大再縮小,然后繪制在 iPhone 4 的 retina 屏上,為什么比直接繪制性能高?按道理多了一步操作應該更慢才對。當我們了解了以上每一步的操作后,不妨可以這樣理解:

優化前:50*50 像素 通過"復雜的放大算法"轉變為 100*100 像素

優化后:50*50 像素通過"簡單的放大算法"變為 100*100 像素……100*100 像素通過 "復雜的縮小算法"變為 50*50 像素……50*50 像素通過"復雜的放大算法"轉變為 100*100 像素

"復雜的縮小算法" 和 "復雜的放大算法" 兩者在 iPhone 4 內部很可能是互為逆操作,于是相互抵消了。所以優化后就是:50*50 像素通過"簡單的放大算法"轉變為 100*100 像素。姑且這么理解吧。

下面是一個更復雜的示例 http://data.wiyun.com/finscn/retina/test-retina.html,有 iPhone 4 或 iPod touch 4 的朋友可以訪問一下試試,看看選擇優化前和優化后的 FPS 變化。目前根據網友的反饋,優化前為 32 FPS 左右,優化后為 45 FPS 左右。

小結:iPhone 4中HTML5 Canvas優化Retina屏幕的內容介紹完了,希望本文對你有所幫助。

轉自 http://fins.javaeye.com/blog/903268

責任編輯:zhaolei 來源: CocoaChina
相關推薦

2012-02-24 15:28:36

ibmdw

2017-07-05 16:22:09

HTML5canvas動態

2015-10-08 08:48:44

HTML5canvas動畫

2012-08-30 10:18:09

HTML5CanvasHTML5實例

2014-12-30 17:13:51

HTML5

2012-05-09 12:18:14

HTML5Canvas

2016-01-20 10:11:56

華麗CanvasHTML5

2012-06-04 10:16:18

HTML5

2015-07-22 16:44:51

HTML5優化

2012-04-18 15:36:33

HTML5Canvas交互式

2011-03-11 08:38:17

HTML 5ASP.NET 4

2012-09-24 13:49:13

HTML5CanvasJS

2012-06-12 09:53:14

HTML5

2012-04-29 13:03:58

2013-01-24 10:26:04

HTML5HTML 5HTML5的未來

2013-03-06 16:14:16

UCHTML5游戲引擎

2012-04-11 22:12:09

iPad

2013-10-21 15:24:49

html5游戲

2011-05-13 17:36:05

HTML

2012-05-09 09:41:58

HTML5
點贊
收藏

51CTO技術棧公眾號

久久视频这里只有精品| 亚洲一区二区三区精品在线观看| 黄色三级视频片| 亚洲经典三级| 久久久久五月天| 91色在线看| 亚洲影院久久精品| 亚洲啊啊啊啊啊| 亚洲激情社区| 日韩美女主播视频| 色猫猫成人app| 制服丝袜亚洲色图| 国产字幕中文| 久久久久久久久久久电影| 亚洲午夜精品一区二区 | 中文字幕第36页| 精品夜夜嗨av一区二区三区| 国产91亚洲精品一区二区三区| 理论片一区二区在线| 在线日韩欧美视频| 国产高潮在线| 欧美一区二区三区爱爱| 在线一级观看| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧美日韩国产成人综合一二三区| 国产综合网站| 91精品国产综合久久香蕉的用户体验| 国产精品色呦| 亚洲美女黄色片| 91av久久| 亚洲欧美另类自拍| 波多野结衣久久| 日韩视频一区二区三区在线播放| 中文在线视频| 亚洲第一av色| 导航福利在线| 亚洲一区电影777| 人人干人人视频| 久久综合丝袜日本网| 欧美日韩福利在线| 不卡一区在线观看| 熟妇熟女乱妇乱女网站| 7799精品视频| 中文在线一二区| 国产精品中文字幕制服诱惑| www国产亚洲精品久久网站| 亚洲日本天堂| 伊人久久精品视频| 秋霞国产精品| 这里只有精品在线播放| 免费观看亚洲| 久久综合88中文色鬼| 久久天堂久久| 97在线视频免费观看| 亚洲成人一品| 91在线观看免费高清| 国产综合视频| 日韩欧美精品在线不卡| 国产成人免费视频网站高清观看视频 | 欧美自拍一区| 国产综合福利在线| 尤物在线精品| 国产日韩欧美大片| 久久九九99视频| 免费一级电影| 一本到高清视频免费精品| 日本韩国在线视频爽| 日韩欧美一区二区久久婷婷| 2020国产在线| 欧美xxxx18性欧美| blacked蜜桃精品一区| 懂色一区二区三区av片| 黑人巨大精品欧美一区| 三级a三级三级三级a十八发禁止| 婷婷综合久久一区二区三区| 国产精品一卡二卡三卡| 亚洲精品视频免费在线观看| 麻豆视频久久| 91亚洲国产成人久久精品网站| 国产suv精品一区二区三区| 亚洲а∨精品天堂在线| 久热精品在线视频| 日韩精品午夜视频| 屁屁影院在线观看| 色妞色视频一区二区三区四区| 欧美视频亚洲视频| 五月婷婷丁香综合网| 精品国产乱码久久久久久闺蜜| 欧美精品中文| av片在线免费| 欧美高清性hdvideosex| 亚洲最好看的视频| 免费一级特黄毛片| 欧美一区二区播放| 天天天综合网| 四虎免费av| 最近2019中文免费高清视频观看www99 | 精品1区2区在线观看| 97精品视频| 一本岛在线视频| 亚洲精品在线看| 亚洲人妖在线| 又黄又爽在线免费观看| 蜜臀久久99精品久久久无需会员 | 91大神在线观看线路一区| 久久久99爱| 一区二区三区在线观看动漫| 日本亚洲欧洲无免费码在线| 五月婷婷综合色| 在线观看欧美精品| 欧美高清在线| 久热久精久品这里在线观看| 午夜精品99久久免费| 2020国产精品自拍| 成人视屏在线观看| 警花观音坐莲激情销魂小说 | chinese偷拍一区二区三区| 欧美在线视频一区二区| 久久精品在这里| 日本成人在线网站| 免费超爽大片黄| 在线观看日韩视频| 岛国精品在线播放| 国产成人77亚洲精品www| gogogo免费高清日本写真| 欧美成人一区二区三区片免费| 国产日韩亚洲| 人妖欧美1区| 中文精品视频一区二区在线观看| 亚洲精品在线三区| 美女脱光内衣内裤视频久久影院| 国产视频中文字幕在线观看| 精品欧美日韩在线| 91精品国产一区二区三区| 国产精品美女久久久| 国产视频在线播放| 日韩成人在线资源| 日韩激情视频在线播放| 久久99精品久久久久婷婷| 波多野结衣在线播放| 久久久久久久久久久久久国产| 亚洲欧美一区二区三区久久 | 久久不见久久见中文字幕免费| 国产福利一区视频| 97香蕉久久夜色精品国产| 亚洲免费观看视频| 一本一道久久a久久精品蜜桃| 久久精品蜜桃| 美女亚洲精品| 精品国产免费视频| 国产福利91精品一区二区三区| av高清不卡| 69堂免费视频| 韩国精品美女www爽爽爽视频| 一区二区三区在线视频观看58| 波多野结衣在线观看一区二区| 男人天堂综合| 亚洲一卡二卡区| 精品中文字幕视频| 精品久久久久久电影| 夜夜精品视频| 欧洲精品久久久久毛片完整版| 中文字幕国产免费| 99国产盗摄| 亚洲天堂av在线播放| 一区精品在线播放| 欧美日本二区| 欧美动物xxx| 美女胸又www又黄的网站| 国产精品自拍首页| 一区二区三区在线播放欧美| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲澳门在线| 精品捆绑调教一区二区三区| 国产a级片免费观看| 亚洲影视九九影院在线观看| 亚洲国产精品va在线| 国产精品久久久久久久久搜平片 | 国产乱码午夜在线视频| heyzo国产| 91在线免费网站| 亚洲精品国产拍免费91在线| 亚洲国产成人在线| 国产精品vip| 国产成年精品| 国产尤物视频在线| 国产免费毛卡片| 69堂成人精品视频免费| 夜夜嗨av色一区二区不卡| 亚洲精品成人精品456| 久久精品国产在热久久| 免费福利视频一区| 在线三级电影| 国产精品黄页网站在线播放免费 | 在线播放亚洲激情| 欧美日韩一区二区精品| 国产精品一二三| 狠狠入ady亚洲精品| 91精品日本| 国产伦子伦对白在线播放观看|