2011-12-27 83 views
5

我正在開發一個遊戲,它開始變得非常圖形密集。有很多點,弧和漸變需要繪製。問題是繪製所有這些圖形開始變慢。 RGBA徑向漸變在其他漸變(即背景)上繪製時,似乎需要特別長的繪製時間。如何緩衝HTML5畫布的圖形

如果有某種方式來緩衝圖形,這可以節省我每一幀很多的計算。根據this問題圖形緩衝可以通過在html文檔上創建一個隱藏的html5畫布來完成。不幸的是,這不會起作用,因爲我需要能夠爲遊戲緩衝未定義數量的圖形。

有什麼辦法來緩衝HTML5畫布的圖形?

回答

8

http://kaioa.com/node/103

var renderToCanvas = function (width, height, renderFunction) { 
    var buffer = document.createElement('canvas'); 
    buffer.width = width; 
    buffer.height = height; 
    renderFunction(buffer.getContext('2d')); 
    return buffer; 
};