यूनिटी 3 डी Profiler मुझे स्पाइक्स देता है जो ज्यादातर कचरा संग्रह के बारे में है। नीचे दिए गए स्क्रीनशॉट में, तीन लाल स्पाइक्स मेरे गेमप्ले में तीन स्टालों का प्रतिनिधित्व करते हैं। इनमें से प्रत्येक स्टालों 100 + एमएस हैं और अधिकांश समय TrackDependencies
पर खर्च किया गया था।यूनिटी 3 डी: कचरा संग्रह अनुकूलित करें
if (Time.frameCount % 30 == 0)
{
System.GC.Collect();
}
यह मदद नहीं की:
Unity instruction के अनुसार, मैं अपने कोड को यह जोड़ने की कोशिश की। मेरे पास अभी भी स्पाइक्स हैं और वे अभी भी 100 + एमएस लेते हैं। वास्तव में क्या चल रहा है और मैं अपने गेम को अनुकूलित करने के लिए क्या कर सकता हूं?
पुनश्च:
मैं गतिशील बनाने रहा हूँ और मेरी खेल में GameObject
रों का एक बहुत नष्ट करने। क्या यह एक समस्या हो सकती है?
मेरे पास लूप या सरणी में स्ट्रिंग कॉन्सटेनेशन नहीं है क्योंकि the post में गुफा के रूप में वापसी मूल्य है।
क्या आप अपने कोड में कहीं वस्तुओं को नष्ट कर रहे हैं? – Heisenbug
यदि संभव हो, अत्यधिक विनाश से बचने के लिए अपनी वस्तुओं को पूल करना एक अच्छा समाधान हो सकता है। – SlxS
@ हेइसेनबग हां मैं गतिशील रूप से अपने खेल में बहुत सारी वस्तुओं को बना रहा हूं और नष्ट कर रहा हूं। मेरे नष्ट ऑब्जेक्ट फ़ंक्शन में मैंने 'Resources.UnloadUnusedAssets();' भी कहा – CherryQu