चूंकि मैं मोबाइल उपकरणों पर चार्ट दिखाने के लिए एक तेज चार्टिंग लाइब्रेरी खोजने की कोशिश कर रहा हूं, प्रदर्शन मेरे लिए महत्वपूर्ण था। इसमें एक लाइसेंस होना भी था जो व्यावसायिक रूप से उपयोग करना संभव बनाता है। मैं तुलना में:
- सी 3, जो डी 3 पर आधारित है और इसलिए एसवीजी
- चार्ट का उपयोग करता है।जेएस जो कैनवास
चार्ट मूल ऐप के अंदर वेबव्यू घटक के अंदर लोड किए जाते हैं और सभी डेटा (जेएस लाइब्रेरी समेत) स्थानीय है, इसलिए http अनुरोधों के कारण धीमा नहीं होता है। प्रदर्शन को और भी अधिकतम करने के लिए, मैं अतिरिक्त रूप से एक ही फ़ाइल के अंदर सबकुछ डालता हूं।
मैंने लगभग 500 डेटापॉइंट्स के साथ 4 चार्ट (लाइन, बार, पाई, लाइन/बार कॉम्बो) लोड किया।
मेरा समय मापने से एचटीएमएल पेज की वास्तविक लोडिंग को उजागर किया गया। मैंने उस क्षण को माप लिया जब मैंने प्रतिपादन के अंत तक चार्टिंग लाइब्रेरी कोड का उपयोग शुरू किया था। सभी चार्ट एनीमेशन बंद कर दिया गया था।
सी 3 ने आधुनिक एंड्रॉइड और आईफोन उपकरणों पर लगभग 1500-1800 एमएस लिया। आईफोन ने एंड्रॉइड की तुलना में 100 एमएमएस बेहतर प्रदर्शन किया।
चार्ट.जेएस ने लगभग 400-800ms लिया। एंड्रॉइड ने आईफोन की तुलना में 300 एमएमएस बेहतर प्रदर्शन किया।
कोई आश्चर्य नहीं, एसवीजी धीमा है। आपके उपयोग के मामले के आधार पर, शायद बहुत धीमी है।
सी 3 में डेस्कटॉप कंप्यूटर प्रतिपादन पर लगभग 150-200ms और charts.js लगभग 80-100ms था। एंड्रॉइड और आईफोन एमुलेटर में एक ही परीक्षण चलाने के लिए डेस्कटॉप पर एक ही परिणाम था। तो मोबाइल उपकरणों पर धीमा गति निश्चित रूप से हार्डवेयर/प्रसंस्करण सीमा के कारण है।
आशा है कि मदद करता है
बस मस्ती के लिए, मैं chart.js एक ही डाटासेट साथ d3.js का उपयोग करके बुनियादी चार्ट के विकास कर रहा हूँ। आप इसके लिए +1 समझाए जाने के लिए धन्यवाद - https://s.codepen.io/bumbeishvili/debug/RGbvPg – bumbeishvili