国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

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

問題描述

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

問題解答

回答1:

將以幀為單位的動畫改成以時間為單位的動畫

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

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

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

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

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

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

回答2:

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

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

回答3:

使用canvas的局部刷新,不要每次移動就刷新整個畫面

回答4:

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

標(biāo)簽: JavaScript
主站蜘蛛池模板: 日本一级大黄毛片免费基地 | 一级看片 | 真实国产乱子伦高清 | 欧美日韩亚洲国内综合网俺 | 韩国一级毛片在线观看 | 日本aaaa片毛片免费观看 | 国产在线精品一区免费香蕉 | 国产精品玖玖 | 97精品久久久久中文字幕 | 欧美成人极品怡红院tv | 欧美成人精品三级网站 | 亚洲人成亚洲精品 | 欧美一级专区免费大片 | 岛国毛片在线观看 | 99久久精品免费看国产免费 | 国产一区二区在线不卡 | 天堂在线www网亚洲 天堂在线视频网站 | 欧美一级在线观看视频 | 久久欧美久久欧美精品 | 波多野结衣视频免费观看 | 88av视频| 99精品福利视频在线一区 | 欧美成人一区二区三区 | 91精品国产爱久久久久久 | 久草在线视频看看 | 国产啪在线 | 国产精品99久久99久久久看片 | 欧美成人h精品网站 | 曰本美女高清在线观看免费 | 国产欧美综合一区二区 | 国产免费一区不卡在线 | 亚洲三级视频在线观看 | 久久免费精品国产72精品剧情 | 色在线网站免费观看 | 免费被黄网站在观看 | 无圣光福利视频 | 国产日韩一区二区三区在线观看 | 台湾三级香港三级经典三在线 | 日本一级特黄在线播放 | 千涩成人网 | 亚洲在线免费免费观看视频 |