內(nèi)存分配對(duì)性能的影響是很大的,分配內(nèi)存本身需要時(shí)間,垃圾回收器回收內(nèi)存也需要時(shí)間,所以應(yīng)該盡量避免在堆里分配內(nèi)存。不過(guò)直到最近優(yōu)化HoLa cantk時(shí),我才深刻的體會(huì)到內(nèi)存分配對(duì)性能的影響,其中有一個(gè)關(guān)于arguments的問(wèn)題挺有意思,寫在這里和大家分享一下。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了柘城免費(fèi)建站歡迎大家使用!我要做的事情是用webgl實(shí)現(xiàn)canvas的2d API(這個(gè)話題本身也是挺有意思的,有空我們?cè)儆懻?,drawImage是一個(gè)重要的函數(shù),游戲會(huì)頻繁的調(diào)用它,所以它的性能至關(guān)重要。drawImage的參數(shù)個(gè)數(shù)是可變的,它有三種形式:
第一個(gè)版本大概是這樣實(shí)現(xiàn)的:
function Context() { } Context.prototype.drawImage3 = function(image, x, y) { this.drawImage9(image, 0, 0, image.width, image.height, x, y, image.width, image.height); } Context.prototype.drawImage5 = function(image, dx, dy, dw, dh) { this.drawImage9(image, 0, 0, image.width, image.height, dx, dy, dw, dh); } Context.prototype.drawImage9 = function(image, sx, sy, sw, sh, dx, dy, dw, dh) { //DO IT } Context.prototype.drawImage = function(image, a, b, c, d, e, f, g, h) { var n = arguments.length; if(n === 3) { this.drawImage3(image, a, b); }else if(n === 5) { this.drawImage5(image, a, b, c, d); }else if(n === 9) { this.drawImage9(image, a, b, c, d, e, f, g, h); } }
本文題目:動(dòng)態(tài)內(nèi)存分配導(dǎo)致影響Javascript性能的問(wèn)題-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://jinyejixie.com/article36/dehspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、建站公司、用戶體驗(yàn)、網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容