चूंकि मैं मोबाइल उपकरणों पर चार्ट दिखाने के लिए एक तेज़ चार्टिंग लाइब्रेरी खोजने की कोशिश कर रहा हूं, इसलिए प्रदर्शन मेरे लिए महत्वपूर्ण था। इसके पास एक लाइसेंस भी होना चाहिए जो व्यावसायिक रूप से उपयोग करना संभव बनाता है। मैंने तुलना की:
- c3, जो d3 पर आधारित है और इसलिए SVG का उपयोग करता है
- chart.js जो कैनवास का उपयोग कर रहा है
चार्ट्स को मूल एप्लिकेशन के अंदर एक वेब व्यू घटक के अंदर लोड किया जाता है और सभी डेटा (जेएस लाइब्रेरी सहित) स्थानीय है, इसलिए http अनुरोधों के कारण धीमा नहीं होता है। प्रदर्शन को और भी अधिक करने के लिए, मैंने अतिरिक्त रूप से एक ही फाइल के अंदर सब कुछ डाल दिया।
मैंने लगभग 500 डेटा पॉइंट्स के साथ 4 चार्ट (लाइन, बार, पाई, लाइन / बार कॉम्बो) लोड किए।
मेरा समय HTML पेज की वास्तविक लोडिंग को बाहर करने का था। मैंने उस क्षण को मापा जब मैंने रेंडरिंग के अंत तक चार्टिंग लाइब्रेरी कोड का उपयोग करना शुरू कर दिया था। सभी चार्ट एनीमेशन को बंद कर दिया गया था।
C3 ने आधुनिक Android और IPhone उपकरणों पर लगभग 1500-1800 ms लिए। iPhone ने Android की तुलना में लगभग 100ms बेहतर प्रदर्शन किया।
Chart.js ने लगभग 400-800ms का समय लिया। Android ने iPhone की तुलना में लगभग 300ms बेहतर प्रदर्शन किया।
कोई आश्चर्य नहीं, एसवीजी धीमी है। आपके उपयोग के मामले के आधार पर, शायद बहुत धीमी गति से।
C3 में एक डेस्कटॉप कंप्यूटर रेंडरिंग लगभग 150-200ms और चार्ट .js लगभग 80-100ms का था। एंड्रॉइड और आईफोन एमुलेटर में एक ही परीक्षण चलाने पर डेस्कटॉप के समान परिणाम था। इसलिए हार्डवेयर / प्रोसेसिंग सीमा के कारण मोबाइल उपकरणों पर धीमा होना निश्चित है।
उम्मीद है की वो मदद करदे