मेरे पास एक ऐप है जो वेबसॉकेट पर अक्सर बाइनरी संदेश प्राप्त करता है (कम से कम प्रति फ्रेम) और कैनवास/वेबग्ल का उपयोग करके डेटा प्लॉट करता है। मैंने देखा है कि मेरे पास एक बहुत अच्छा देखा-टूथ मेमोरी प्रोफाइल है; डेटा के बहुत कम रहने वाले भाग। वेबसॉकेट अक्सर ऑनमेसेज शून्य-प्रति
यह मैं आश्चर्य नहीं है के बाद से मैं हर 16ms है, जो ड्राइंग के लिए प्रयोग किया जाता है और उसके बाद डी-संदर्भित onmessage
से एक वस्तु प्राप्त कर रहा हूँ, कम से कम एक बार।
मेरा प्रश्न है: क्या इससे बचने/कम करने के लिए कोई सुझाव हैं? WebSocket API के आधार पर, प्रत्येक सॉकेट प्राप्त कॉल पर आवंटित नई मेमोरी रखने का विकल्प प्रतीत नहीं होता है। एक और भाषा/पर्यावरण में, मैं कुछ स्मृति को पूर्व-आवंटित करता हूं और उस बफर में प्राप्त करता हूं, ताकि अल्पकालिक वस्तुओं के लिए स्मृति आवंटित करने से बच सकूं, लेकिन ब्राउज़र में जावास्क्रिप्ट में इसे प्राप्त करने के किसी भी स्पष्ट तरीके से मैं नहीं सोच सकता।
संदर्भ के लिए, यहां मेरे फ्रेम्स व्यू हैं।
मैं अगर है कि निष्क्रिय समय कचरा संग्रहण है पता नहीं है? किसी भी देव-उपकरण निंजा अंतर्दृष्टि की सराहना की जाएगी।
आप किसी भी कोड नमूना मिल गया है में जे एस में स्मृति आवंटन बारे में अधिक जानकारी मिल सकती है? कुछ शुरू कर दिया है? एक बेवकूफ? – Anonymous0day
मुझे वेबस्केट्स पर मेरे रास्पबेरी पाई से सेंसर की तारीख स्ट्रीमिंग में एक ही समस्या है। मुझे डर है कि जावास्क्रिप्ट में वेबस्केट्स की स्मृति आवंटन में हस्तक्षेप करने का कोई तरीका नहीं होगा। मेरे शोध ने कोई परिणाम नहीं लाया है। – windm
आप क्या हासिल करने की उम्मीद करते हैं? प्रोग्राम कितना समय चलता है और कितना महत्वपूर्ण है, लंबे समय तक प्रदर्शन किया जाता है? थोड़ा कोड या कोड नमूना देखना बहुत अच्छा होगा –