<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      小游戲canvas直接操作ImgaeData時(shí)的幾個(gè)優(yōu)化點(diǎn)

      前不久在處理一個(gè)canvas繪圖需求時(shí),經(jīng)過(guò)不斷測(cè)試優(yōu)化,將重繪一幀的時(shí)間由400ms降低至20ms左右,基本滿足了要求。特此記錄一下優(yōu)化方向。

      設(shè)備環(huán)境:Android,360*720,pixelRatio=3

      1.盡量減少canvas操作

      通常一幀的畫面由多層內(nèi)容疊加繪制而成,這時(shí)應(yīng)把中間態(tài)畫面繪制到與imageData大小相等的數(shù)組中,一幀內(nèi)容繪制完全后一次性繪制到canvas

      var buff = new Uint8Array(360*720*4)
      var layers = [];
      for(var k in layers){
          layers[k].render();//畫入buff
      }

      2.盡量減少getImageData

      除去必須獲取原有數(shù)據(jù)的場(chǎng)合,可使用createImageData代替,再putImageData到指定位置。

      var imgData = ctx.createImageData(360,720);
      //大小不變的imageData可考慮全局保存

      3.不要遍歷ImageData.data

      由于ImageData.data為只讀,看起來(lái)只能遍歷賦值,但其實(shí)它有set方法,可以一次性將數(shù)據(jù)填入。

      var imgdata = ctx.createImageData(2,2);
      
      var data = new Uint8Array(16);
      
      //遍歷data填入數(shù)據(jù)(遍歷數(shù)組比imageData快得多)
      imgdata.data.set(data);
      
      ctx.putImageData(data, 0, 0);

       

      posted @ 2019-01-19 10:04  超軟毛毛蟲  閱讀(500)  評(píng)論(1)    收藏  舉報(bào)
      主站蜘蛛池模板: 日本亚洲一区二区精品久久| 性色av免费观看| 国产一区二区在线观看粉嫩 | 国产亚洲综合欧美视频| 芜湖县| 亚洲综合无码日韩国产加勒比| 久久精品国产中文字幕| 张掖市| 国产精品久久久久久久专区| 久久精品国产亚洲AV麻| 日韩av片无码一区二区不卡| 国产99久久精品一区二区| 亚洲偷自拍国综合| 亚洲精品成人片在线观看精品字幕 | 天堂V亚洲国产V第一次| 亚洲精品国模一区二区| 久久99热只有频精品8| 377P欧洲日本亚洲大胆| 加勒比无码人妻东京热| 麻豆精品久久久久久久99蜜桃| 国产精品福利自产拍久久| 少妇人妻精品无码专区视频| 一级片免费网站| 热久久美女精品天天吊色| 亚洲国产在一区二区三区| 久久影院综合精品| 国产av成人精品播放| 日本一区二区三区内射| 色偷偷www.8888在线观看| 免费人成视频网站在线18| 97午夜理论电影影院| 韩国免费a级毛片久久| 国产欧美日韩高清在线不卡| 老色鬼在线精品视频| 国产精品自拍视频免费看| 免费人成视频在线| 亚洲人成小说网站色在线 | 中国CHINA体内裑精亚洲日本| 狠狠躁天天躁中文字幕无码| 乱色欧美激惰| 小伙无套内射老熟女精品|