2011-04-13 26 views
5

好的,我將在屏幕上繪製大量的「昆蟲」。我的問題是,如果我畫一個蜘蛛,例如,加載一個位圖,將它矩陣到正確的角度,並將其繪製在屏幕上(一次又一次),或使用canvas.drawLine繪製一個螞蟻, drawCircle等?對於直接的比較:加載位圖或繪製圖形?性能問題

位圖:500個字節瓦特/透明度

得出:8個drawLines,2個drawCircles

我已經有很多事情,所以在這裏的表現是非常重要的。

在此先感謝!

+0

你有兩種方法的基準嗎? – 2011-04-13 00:31:43

+0

不,我希望能夠節省創建代碼的時間,通過詢問繪製線條和圓圈是否比位圖更快來繪製蜘蛛。 :D – teynon 2011-04-13 00:34:15

回答

3

繪製位圖要快得多。真正重要的是要繪製多少像素(即透支,這將影響最大填充率)。使用位圖還可以創建更豐富的圖形,而不會影響性能。

+0

我一段時間都沒有在這方面做過工作,但是如果我沒有記錯的話,每次旋轉位圖時,它都會創建一個新的圖形(本質上)。換句話說,它增加了更多的內存。所以如果我在屏幕上有不同角度的70只螞蟻,那就是很多記憶。 – teynon 2012-01-09 20:39:44

+0

旋轉位圖不會分配內存。除非你自己製作副本。 – 2012-01-10 19:09:48

+0

屏幕上的70只螞蟻走向不同的方向意味着每個圖形必須單獨旋轉到指定的點。這樣做與矩陣需要副本,或者有辦法解決這個問題嗎? – teynon 2012-01-17 21:19:02