मेरे पास बहुत सारे मेष और मॉर्फएनिममेश के साथ एक बड़ा दृश्य है। मैश हटा दिए जाने पर मैं स्मृति मुक्त करना चाहता हूं।तीन जेएस मेमोरी प्रबंधन
for (var i = scene.children.length - 1; i >= 0 ; i --) {
var obj = scene.children[i];
scene.remove(obj);
obj.deallocate();
obj.geometry.deallocate();
obj.material.deallocate();
obj.material.map.deallocate();
}
अगर मैं इस के बाद कार्य प्रबंधक पर स्मृति के उपयोग की जाँच करें, कुछ भी नहीं बदलता है: अगर मुझे पता सही यह करने के लिए सबसे अच्छा तरीका है। (जीसी के लिए कुछ मिनट इंतजार करने की कोशिश की लेकिन कुछ भी नहीं।) Google क्रोम मेमोरी स्नैपशॉट ऑब्जेक्ट्स को अभी भी दिखाता है। तीनों में morphTargets। जीमेट्री @ 1862203 आदि
ओबीजे को शून्य पर सेट करने का प्रयास किया, लेकिन फिर भी कोई स्मृति कम नहीं हुई।
कोई विचार क्या मैं गलत कर रहा हूं?
यह स्तर के साथ एक गेम है और खिलाड़ी एक से दूसरे में बदल सकता है। कुछ बदलाव के बाद स्मृति उपयोग वास्तव में उच्च हो जाता है। मैं स्तर परिवर्तन से पहले स्मृति से सभी ऑब्जेक्ट को हटाना क्यों चाहता हूं।
इस कोशिश कब्जा किया जा सकता है, लेकिन कुछ भी नहीं बदला। यदि मैं वस्तुओं को क्रोम में एक हीप स्नैपशॉट लेता हूं, सरणी (उदाहरण के लिए: तीन। जीमेट्री @ 1862203 में morphTargets) अभी भी वहां है और स्मृति उपयोग समान है। – user974250
शायद आप कहीं जाल, बनावट या सामग्री के लिए एक रेफरी धारण कर रहे हैं? – Neil
इन उदाहरणों के बारे में बात यह है कि वे बनावट शामिल नहीं करते हैं –