Çok fazla svg dayanan bir web uygulaması yapıyorum. Referans için, hepsiyle başa çıkmak için raphael js kütüphanesini kullanıyorum.SVG metin öğesi hızı
Bu özel durumda, kaydırma çubuğunu taklit eden ve svg özelliklerini (~ 500 öğe) ekran boyunca geçiren bir şey uyguladık. Bu özelliklerin bir kısmı <text>
(~ 100) öğedir. Diğer öğeler <rect>
, <image>
ve <path>
öğelerini içerir.
Bu yüzden, uygulamamın dizüstü bilgisayarımda gerçekten çok hızlı olmadığını ve hız nedeniyle bir ipad ile uğraşmak için doğru bir şekilde sinir bozucu olduğunu fark ettim. Bununla birlikte, kaydırma sırasında metin öğeleri kaldırıldığında veya yok sayıldığında, hemen iyi bir hıza ulaşır. <text>
elemanlar dahil edildiğinde
new Date().getTime()
kullanılarak çok ham olanlar) bazı hızı testleri yaparak çalıştı ve
<text>
elemanları hariç tüm öğeleri taşımak için 10 ms ~ keşfetti.
Bunun olduğuna inanıyorum çünkü her harf bir vektör şekli olarak işlenir ve böyle karmaşık bir yapı tarafından tam olarak neyin engellendiğini hesaplamak için çok fazla işlem gücü alır.
Yalnızca metni katıştırmak mümkün mü, bu nedenle metin şekil olarak değil, raster grafik olarak oluşturuluyor mu? Ya da metin oluşturma işleminin performansını başka bir şekilde artırın mı?
Arka plan saydamlığına ihtiyacım yok ve herhangi bir süslü yazı tipi kullanmıyorum.
sen() 'metin öğeleri oluşturmak için' paper.print() 'veya' paper.text kullanarak Are. Ayrıca bir keman iyi olabilir. – Bruno
Belirli bir tarayıcı kümesini mi hedefliyorsunuz? Performans, tarayıcılar arasında önemli ölçüde farklıdır. – Sebastian
@Bruno Hala oldukça yavaş olan paper.text() kullanıyorum. – gintas