您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關html5 canvas如何實現(xiàn)簡單的雙緩沖,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
對于更高級的內(nèi)容,您可能希望使用畫布,這通常是GPU加速的,并且允許使用window.request.tionFrame進行相當高和穩(wěn)定的幀速率。(推薦課程:HTML5視頻教程)
如果您需要在畫布上進行雙重緩沖,那么一種流行的方法是創(chuàng)建第二個畫布元素并繪制到那個畫布元素,然后使用drawImage將完成的圖像繪制到主畫布,結(jié)果如下:
var primaryCtx = document.getElementById("canvas").getContext("2d"); var secondaryCanvas = document.createElement("canvas"), secondaryCtx = secondaryCanvas.getContext("2d"); (function drawFrame() { requestAnimationFrame(drawFrame); secondaryCtx.fillStyle = "#f00"; secondaryCtx.fillRect(10,10,20,20); primaryCtx.drawImage(secondaryCanvas); })();
輸入CTX.SAVER()和CTX.Rebug()
今天,我發(fā)現(xiàn)有一種方法更清潔,效果和上面的方法一樣好:
(function drawFrame() { requestAnimationFrame(drawFrame); primaryCtx.save(); //Freeze redraw primaryCtx.fillStyle = "#f00"; primaryCtx.fillRect(10,10,20,20); primaryCtx.restore(); //And now do the redraw })();
盡管名稱很奇怪,但是它只是凍結(jié)了上下文的呈現(xiàn),然后在完成繪圖之后恢復呈現(xiàn)。
關于html5 canvas如何實現(xiàn)簡單的雙緩沖就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。