我注意到當動態創建一個大畫布(6400x6400)時,相當多的時候沒有畫任何東西,當將畫布設置爲小尺寸時,它可以在100%的時間內工作,然而,因爲我不知道更好,我沒有別的選擇,只能嘗試讓大帆布正確工作。HTML5 Large canvas
thisObj.oMapCanvas = jQuery(document.createElement('canvas')).attr('width', 6400).attr('height', 6400).css('border','1px solid green').prependTo(thisObj.oMapLayer).get(0);
// getContext and then drawing stuff here...
畫布的目的是簡單地畫兩個節點(圖像),這是可以左右拖動(視我認爲,人們稱他們)一個div容器內之間的線路。
我認爲可能會發生的事情是,在畫布上調整大小會清空畫布,並且這會干擾上下文繪圖,就像我之前所說的那樣,畫布非常小時它一直工作。
有沒有人經歷過這個和/或知道任何可能的解決方案?
這是一個隨機生成的地圖,尺寸爲100x100,每個單元格爲64x64(想象一個星形圖,其中星星通過星形連接),另一種我試圖用的方法是爲每個鏈接(線)創建一個畫布,需要,我只是認爲它會很慢,因爲更多的插入到DOM中。 最初我跟着javascript繪圖庫wz_jsgraphics,但由於渲染線條的性質,滾動非常緩慢。 – Steve 2009-12-26 18:38:58
我也從來沒有意識到這樣做的內存要求,這確實使它不可行。我將不得不考慮使用SVG動態執行此操作,謝謝! – Steve 2009-12-26 18:49:32