久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

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

問題解答

回答1:

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

對于不需要經常變動的圖片,如背景等,請使用離屏canvas來實現

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

使用函數節(jié)流

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

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

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

回答2:

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

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

回答3:

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

回答4:

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

標簽: JavaScript
主站蜘蛛池模板: 国产小视频在线播放 | 久久精品久久久久电影 | 日韩欧美一区二区视频 | 午夜tv免费观看 | 国产高清视频一区二区 | 91亚洲成人 | www久 | 成人午夜剧场 | 久久国产精品免费一区二区三区 | 在线中文一区 | 激情欧美一区二区三区中文字幕 | 久久久久久久久久一区二区 | 手机看片1| 台湾佬亚洲色图 | 一级黄色录像免费观看 | 一区二区三区在线 | 欧美区国产区 | 亚洲激情一区 | 五月婷婷综合网 | 亚洲高清在线 | 色资源 | 国产一区在线视频 | 西西做爰免费视频 | 久久波多野结衣 | 99久久婷婷国产综合精品 | 国产精品69毛片高清亚洲 | 亚洲xxxx3d| 国产精品久久久久久久久免费 | 国产精品毛片久久久久久久 | 草草视频在线播放 | 综合伊人| 黄色一级视 | 日韩视频在线免费观看 | 成人午夜在线 | 欧美一级淫片免费视频黄 | 欧美成人综合在线 | 一级黄片毛片 | 国产欧美日韩在线观看 | 久久视频免费 | 欧美一级视频在线观看 | 亚洲国产欧美日韩 |