2012-11-16 15 views
5

Sadece bir tuvale çizilen bir şeklin bir kısmını göstermek istiyorum. Soyum esasen bu olduğunu ve gayet iyi çalışıyor:Tuval, negatif koordinatlar: Tuvali kapatacak yollar çizmek kötüdür ve devam eder mi?

ctx.fillRect(xPosition, rectHeight - offsetV , rectWidth, rectHeight); 

ikinci değişken negatif olacaksa edilir. Öyleyse, benim quesiton'um: bu, kötü bir uygulama mı (yoksa yoldaki hatalar için kendimi ayarlıyorum) tuvalden (negatif bir koordinatla) başlayan ve ardından tuvali çizmeye devam eden bir yol çizmektir.

+2

Hayır, değil mi' t, uzun zamandır ekrandan çok şey çizmediğiniz sürece, bu büyük bir kaynak kaybı olacaktır. – Shmiddty

+1

Merak ediyorsanız, çoğu uygulama (? Hepsi?), Çizmeden önce rect'i klipsleyecektir, bu nedenle maliyet yalnızca bu klip maliyetidir - tuvalin dışına tek bir piksel çizilmez -. – GameAlchemist

cevap

0

Hiç sorun değil. Eğer çok sayıda çizim nesnesine sahipseniz (GameAlchemist'in dediği gibi) bu nesneyi çizmeyi engelleyebilirsiniz. Çizim yapmak için tuval gibi haritayı kullanırsanız (çek/küçült, tüm içeriği çevirin), çekmeyi engelleyen daha fazla maliyete neden olabilir. Ve karmaşık ...

Çizim nesnesini tuvalin dışına çıkarıyorum. Hesaplama ve diğer (çizimsiz) personel intro draw işlevini kullanırsanız bir probleminiz olabilir. Önemli

:

-yaptırın tuval beraberlik işlevi kodu açık (sadece çizmek tuval kodu).

-Uygulamanız const güncellemesine gerek duymuyorsa güncelleme çağrısı yalnızca ihtiyaç duyulduğunda yapılır. Sadece (0,0, canvas.w, canvas.h) içinde

-sifresiz tuval

-Kullanım tarzı sadece ihtiyaç duyduğunda (kontur, dolgu yazı vs.)