2009-02-26 44 views
2

Tuval üzerine bir uygulama yapıyorum, her fare hareketinde yeniden çizilen basit bir DOM'den oluşur (evet, gereklidir), performans sorunları için her bölümün parçası sadece neyi yeniden çizmez gereklidir.Çizim Uygulaması Zoom Konsept

uygulama iyi çalışıyor ama, gördüğüm kadarıyla, bu üç farklı şekilde yapılabilir yakınlaştırma özelliğini eklemek istiyorum:

1 - (Her DOM öğesi yeniden hesaplanır alır konumunu ve boyutunu) bir kullanıcı her zaman yakınlaştırır veya dışarı çıkarsa - hassaslıkla ilgili sorunları olabilir ve çok iyi bir soyutlama olmayabilir

2 - Tuvalin çözünürlük özelliği vardır (örn. kullanıcı uzaklaştırma çözünürlüğü 1'den 0,75'e değiştiğinde)) - her bir yeniden hesaplamada hesaplama yapmak için bir gereksinim olacak

3 - Yerleşik çevir() ve ölçek() yöntemini kullanın ds - muhtemelen en zarif ve en hızlı çözüm, ancak hiç de sezgisel değil, benim ya da bir başkası tarafından nasıl yapıldığını anlamak zor olabilir (bu yöntemler tam tuval üzerinde çalışır, önce çevirirsiniz ve tuval üzerinde ölçek ve sonra çizdiğiniz her şey 'sihirli' tercüme ve ölçeklenir '

En iyi hangisi veya düşünmüyorum başka olasılıklar var mı?

+0

iyi şanslar. İnşa ettiğiniz şey gerçekten çok zor. – Natrium

+0

Merhaba Vasco, şimdi uygulamasında da aynı şeyi uygulamam gerekiyor. Bu konudaki deneyiminizi paylaşabilir misiniz? Teşekkürler. –

cevap

1

Yerleşik çeviri()/ölçek() yöntemlerini kullanırdım. Bu yöntemlerden herhangi birinin performansından ve kalitesinden endişe ediyorsanız, sonuçların size herhangi bir endişe uyandırması durumunda, karşılaştırma yapılabilecek seçeneklerden bir diğeriyle değiştirebileceğiniz bir şekilde yapmaya çalışmalısınız. Tüm proje ile