2012-11-14 63 views
0

我正在嘗試爲Google的GWT做一個遊戲開發API來製作Canvas遊戲,並且我對prerendering問題有了一個疑問。使用HTML5的Canvas預渲染的最佳方式?

第一:我不完全知道如何瀏覽器/的JavaScript/GWT管理已刪除的畫布,如果它的數據停留在內存或不使用removeChild()RootPanel.Remove()(與GWT),甚至是正確的方法將其刪除後從記憶裏。

所以我提出的解決方案是使用多個(根據需要)大的隱藏畫布作爲預渲染調色板,並使用drawImage()魔法來跳過主要背景上的預渲染圖像,並讓我的自己的問題,插入,刪除,空的空間等

這是最好的解決方案?或者我應該嘗試使用一個小畫布來渲染每個小圖像和紋理?或者我應該嘗試一些完全不同的東西?

在此先感謝,並對我的拼寫感到抱歉。

回答

1

使用畫布預渲染您的項目是一個好主意,但它並不總是最好的選擇。 如果你的項目很複雜(有漸變,陰影和視覺效果),所以是的,它會很好。但是如果你的項目很簡單(圖像,多邊形,簡單的貝塞爾曲線......),你的幀率不會增加,但可以減少(因爲drawImage)。然後實時渲染會更好。

從我的實驗中,你不會因使用幾個小畫布而失去性能(可能只有很少的內存),但比大畫布(比如面向對象的場景)更容易管理。 如果您的項目有時會發生變化,您一定要輕鬆管理臨時畫布的大小。

希望得到這個幫助。

相關問題