2011-04-13 15 views
5

Tamam, ekranda çok fazla "böcek" çizeceğim. Benim sorum şu ki, örneğin bir örümcek çizirsem, bir bitmap yerleştirmek, doğru açıya matris yapmak ve tekrar ekrana çizmek (veya tekrar) veya canvas.drawLine kullanarak bir karı çizmek daha hızlı olur. drawCircle, vb? doğrudan karşılaştırma için:Bitmap yükleyin veya grafik çizin mi? Performans Sorusu

Bitmap: 500 bayt

şeffaflık w/Çizilen: 8 drawLines, 2 drawCircles

Zaten çok oluyor, bu yüzden burada performans çok önemlidir.

Şimdiden teşekkürler!

+0

Her iki yöntemi de kıyasladınız mı? –

+0

Nope, Çizim çizgilerinin ve çemberlerin bitmaplerden daha hızlı olup olmadığını sorarak örümceğin nasıl çizileceğini bulmak için kod oluşturma zamanını kaydetmeyi umuyordum. : D – teynon

cevap

3

Bir bitmap çizmek çok daha hızlıdır. Asıl önemli olan, ne kadar piksel çizeceğinizdir (yani, maksimum doldurmayı etkileyecek olan aşırı çekilme). Bitmap'leri kullanmak, performans cezaları olmadan daha zengin grafikler oluşturmanıza da olanak tanır.

+0

Bunu bir süredir üzerinde çalışmıyorum, ancak doğru hatırlıyorsam, her bitmap'i döndürdüğünüzde, yeni bir grafik oluşturur (aslında). Başka bir deyişle, daha fazla bellek ekler. Yani ekranda farklı açılarda 70 karınca varsa, bu çok fazla bellek. – teynon

+0

Bir bitmap'in döndürülmesi bellek ayırmaz. Kopyaları kendin yapmıyorsan tabii. –

+0

Ekrandaki 70 karınca, tüm farklı yönlere gidiyor, her bir grafiğin tek tek belirtilen noktaya döndürülmesi gerektiği anlamına gelir. Matris ile yapmak kopya gerektiriyor mu, yoksa bunun bir yolu var mı? – teynon