मैं एक वेब एप्लिकेशन बना रहा हूं जो svg पर निर्भर करता है। संदर्भ के लिए, मैं इसके साथ निपटने के लिए राफेल जेएस लाइब्रेरी का उपयोग कर रहा हूं।एसवीजी टेक्स्ट तत्व गति
इस विशेष मामले में मैंने कुछ ऐसा लागू किया है जो स्क्रॉलबार की नकल करता है और स्क्रीन पर svg सुविधाओं (~ 500 तत्व) का गुच्छा चलाता है। उन सुविधाओं का हिस्सा <text>
(~ 100) तत्व हैं। अन्य तत्वों में <rect>
, <image>
और <path>
तत्व शामिल हैं।
तो, मैंने देखा कि मेरा आवेदन वास्तव में मेरे लैपटॉप पर बहुत ही नाराज नहीं है, और गति के कारण आईपैड पर निपटने के लिए सही परेशान है। हालांकि, स्क्रॉलिंग के दौरान जब भी टेक्स्ट तत्व हटा दिए जाते हैं या अनदेखा होते हैं, तो यह तुरंत सभ्य गति तक पहुंच जाता है।
मैं जब <text>
तत्वों को शामिल कर रहे हैं कुछ गति परीक्षण कर की कोशिश की (बहुत कच्चे हैं, new Date().getTime()
का प्रयोग करके) और कहा कि यह ~ 10 एमएस <text>
तत्वों को छोड़कर सभी तत्वों को स्थानांतरित करने के लिए ले जाता है, लेकिन यह लेता है ~ 120 एमएस।
मेरा मानना है कि ऐसा होता है क्योंकि प्रत्येक पत्र को वेक्टर आकार के रूप में प्रस्तुत किया जाता है और इस तरह की जटिल संरचना द्वारा वास्तव में बाधित होने की गणना करने के लिए प्रसंस्करण शक्ति का भार लगता है।
क्या टेक्स्ट को एम्बेड करना संभव है, इसलिए पाठ को रास्टर ग्राफ़िक के रूप में प्रस्तुत किया गया है, न कि आकार के रूप में? या किसी भी अन्य तरीके से प्रतिपादन पाठ के प्रदर्शन में सुधार?
मुझे पृष्ठभूमि पारदर्शिता की आवश्यकता नहीं है, और मैं किसी भी फैंसी फोंट का उपयोग नहीं करता हूं।
आप 'paper.print()' या 'paper.text का उपयोग कर()' अपने पाठ तत्वों को बनाने के हैं। एक बेवकूफ भी अच्छा हो सकता है। – Bruno
क्या आप ब्राउज़र के विशिष्ट सेट को लक्षित कर रहे हैं? प्रदर्शन ब्राउज़र के बीच नाटकीय रूप से भिन्न है। – Sebastian
@ ब्रूनो मैं paper.text() का उपयोग कर रहा हूं, जो अभी भी काफी धीमी है। – gintas