午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 我做了一個(gè)h5的畫布游戲,用requestanimation控制方向移動(dòng),按鍵控制是否按下方向鍵,但是有點(diǎn)卡,請(qǐng)問大神怎么優(yōu)化

瀏覽:223日期:2023-03-06 10:22:48

問題描述

代碼具體沒辦法打出來,有沒有大神提供寶貴的意見

問題解答

回答1:

將以幀為單位的動(dòng)畫改成以時(shí)間為單位的動(dòng)畫

對(duì)于不需要經(jīng)常變動(dòng)的圖片,如背景等,請(qǐng)使用離屏canvas來實(shí)現(xiàn)

對(duì)于一些細(xì)節(jié)的地方,如canvas.width 等,需要用width = canvas.width來保存值使用

使用函數(shù)節(jié)流

事件觸發(fā)動(dòng)作不要以綁定的函數(shù)為主,需要將觸發(fā)的參數(shù)通過傳到程序內(nèi)部,通過游戲循環(huán)來實(shí)現(xiàn)。如:當(dāng)點(diǎn)擊右箭頭的時(shí)候,你只需要告訴游戲主體,往右移動(dòng)已經(jīng)被觸發(fā),至于怎么運(yùn)動(dòng)由程序自己決定。

優(yōu)化循環(huán),一般來說導(dǎo)致程序運(yùn)行緩慢最主要的原因都是這個(gè),內(nèi)部邏輯太多,一個(gè)單位循環(huán)內(nèi)根本來不及處理,對(duì)于某些數(shù)據(jù)計(jì)算性的東西,比如說生成隨機(jī)數(shù)等可以通過worker來實(shí)現(xiàn),對(duì)于一些不需要經(jīng)常使用的功能,請(qǐng)盡量避免調(diào)用,只有在某些情況觸發(fā)了以后,參數(shù)值變了,再進(jìn)行調(diào)用。 比如說if(go) dosomething(); 只有當(dāng)go為true時(shí)才進(jìn)行操作,這樣可以省下大量時(shí)間。

當(dāng)然具體的優(yōu)化細(xì)節(jié)需要根據(jù)你的代碼來決定,我只能講這么點(diǎn)通用的東西,其實(shí)大部分優(yōu)化的思路都一樣的

回答2:

有可能是事件注冊(cè)的問題,可以先從事件委托,和 dom 結(jié)束后取消事件入手。

可以使用 chrome devtool 點(diǎn)開 profile 看看 cpu 和 內(nèi)存,看看是否是有哪些函數(shù)有泄漏或者其他問題。

回答3:

使用canvas的局部刷新,不要每次移動(dòng)就刷新整個(gè)畫面

回答4:

你是用DOM 寫的小游戲?還是用CANVAS

標(biāo)簽: JavaScript
主站蜘蛛池模板: 国产成人自拍一区 | 亚洲精品午夜 | 欧美人成在线 | 国产欧美一区二区三区在线观看视频 | 最新国产拍偷乱偷精品 | 最新国产中文字幕 | 99热只有这里有精品 | 国产成人在线视频播放 | 99热3| 亚洲精品乱码久久久久久日本蜜臀 | 超碰在线 | 亚洲免费一区二区 | av中文字幕在线看 | 欧美激情xxxxx | 黄色av一区二区 | 婷婷丁香激情五月 | 国产中文在线播放 | 五月天婷婷综合网 | 一区二区三区视频在线 | 天天综合视频 | 依依成人综合网 | 91日韩 | www.猫咪av.com| 青草超碰 | 麻豆成人入口 | 色综合国产| 国产综合久久 | 麻豆91在线观看 | 免费观看毛片 | 天天爽夜夜爽人人爽 | 桃色激情网 | 午夜在线观看视频 | 欧美九九九 | 生猴子在线观看免费视频 | 国产成人黄色 | 黄色永久视频 | 日韩精品免费一区二区夜夜嗨 | 午夜免费在线观看 | 激情丁香| 国产精品xxxxx | 久草网站在线观看 |