हमारे पास एक ऐसा एप्लिकेशन है जो मिश्रित .NET 2.0 और मूल C++ है। हमारे परीक्षण में, हमारे पास एक ऐसा मोड है जो स्वचालित रूप से परियोजनाओं के एक सेट के माध्यम से लूप कर सकता है। एक प्रोजेक्ट खुलता है, चलाता है, बंद करता है, दोहराता है। इन चरणों में से प्रत्येक को विंडोज़ के निर्माण/विनाश की आवश्यकता होती है (Winforms सटीक होने के लिए)। हाल ही में हमने प्रदर्शन में कुछ अजीब व्यवहार का अनुभव किया है। कुछ घंटों तक चलने के बाद उद्घाटन और समापन भाग धीमा हो जाते हैं (गुई धागे को अवरुद्ध करते हैं और आधे खींचे गए स्क्रीन आदि दिखाते हैं)। अब संसाधन संसाधन रिसाव में इसे चॉक करना आसान होगा ... लेकिन हम हैंडल और मेमोरी को ट्रैक कर रहे हैं, और जबकि स्मृति थोड़ा बढ़ता है, इस समस्या के स्तर को इंगित करने के लिए कुछ भी नहीं है। हैंडल स्थिर हैं। तो शायद घटना हैंडलरों को लटकाना ... अभी भी इसकी जांच करने की आवश्यकता है। लेकिन किकर, जो मुझे परेशान करता है, यह है कि एप्लिकेशन को बंद करना और इसे पुनरारंभ करना प्रारंभिक प्रदर्शन को वापस नहीं लाता है। यह अभी भी धीमा है जब तक कि मैं ओएस को रीबूट नहीं करता (XP जीतता हूं) और फिर प्रदर्शन फिर से शुरू हो जाता है। यह वास्तव में मुझे परेशान करता है क्योंकि मुझे लगता है कि एप्लिकेशन को बंद करना सभी संसाधनों को पुनः प्राप्त करेगा। कोई विचार?आवेदन में अजीब प्रदर्शन गिरावट
उत्तर
हम खिड़की वर्गों
एक संभावित जीडीआई हैंडल रिसाव की तरह लगता है। GDI objects कचरा कलेक्टर द्वारा स्वचालित रूप से उठाया नहीं जाता है।
.NET मेमोरी प्रोफाइलर (http://memprofiler.com/) इन्हें ट्रैक करने का एक अच्छा काम करता है (एक 14 दिन का परीक्षण संस्करण है)।
आप इन देखा है:
Resource Leaks: Detecting, Locating, and Repairing Your Leaky GDI Code
Detect and Plug GDI Leaks in Your Code with Two Powerful Tools for Windows XP (एक GDI हैंडल दर्शक उपकरण के लिए एक लिंक है)।
मैं मेमोरी प्रोफाइलर का उपयोग करूंगा। यह आपको स्नैपशॉट लेने और उनकी तुलना करने देता है - ताकि आप एक पुनरावृत्ति पर एक स्नैपशॉट ले सकें, अगले पर एक और ले जाएं, और उन्हें अलग करें - आप देख सकते हैं कि आपके ऐप के सामान्य पुनरावृत्तियों के बीच क्या बढ़ रहा है। – stusmith
मेरे पास .NET मेमोरी प्रोफाइलर है और यह कोशिश करेगा - लेकिन तथ्य यह है कि एप्लिकेशन को पुनरारंभ करना (रीबूट किए बिना) समस्या को ठीक नहीं करता है, प्रक्रिया की प्रक्रिया में कुछ भी नहीं समझाया जाएगा। – user109078
जीडीआई हैंडल जैसे कुछ सीमित सिस्टम संसाधनों के लिए यह सच नहीं है .... –
आप इसे एक संसाधन रिसाव (जो एक बुरा अनुमान नहीं है) मान रहे हैं, लेकिन यह कुछ और हो सकता है।
क्या आपने प्रदर्शन प्रोफाइलर का उपयोग करने का प्रयास किया है?
- 1. Azure सीडीएन का उपयोग कर प्रदर्शन गिरावट?
- 2. समय के साथ AS3 बड़े गेम प्रदर्शन में गिरावट
- 3. अजीब सी ++ प्रदर्शन अंतर?
- 4. अजीब प्रदर्शन व्यवहार
- 5. गिट पुश उत्पत्ति गिरावट से गिरावट, हुक गिरावट: गिटोलाइट
- 6. गहन गिरावट -
- 7. आवेदन, स्पर्श घटनाओं के प्रदर्शन में सुधार
- 8. सी ++ परिवर्तनीय गिरावट वाक्यविन्यास
- 9. केस कथन की गिरावट?
- 10. गिरावट -webkit-text-security
- 11. डेटाटाइप कॉन्टैक्स नवीनतम जीएचसी में गिरावट: क्यों?
- 12. जावास्क्रिप्ट/Google मानचित्र में चुंबकीय गिरावट
- 13. प्रदर्शन ट्यूनिंग एक नॉकआउट आवेदन - प्रतिक्रिया समय
- 14. कोड स्पष्टता हत्या प्रदर्शन आवेदन है?
- 15. अजीब
- 16. एचटीएमएल 5 वीडियो और गिरावट?
- 17. कोको-टच: प्रदर्शन चयनकर्ताऑनमेन थ्रेड: अजीब व्यवहार + क्रैश
- 18. लॉग फ़ाइल में अजीब संदेश @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
- 19. गिरावट के साथ मामले स्विच करें?
- 20. वेब श्रमिकों के साथ गर्व से गिरावट
- 21. Xcrun पैकेज आवेदन, आवेदन
- 22. ब्लैक/स्मिथवाटरमैन का प्रदर्शन सीधे मेरे आवेदन से
- 23. एचटीएमएल में इनलाइन एसवीजी - कैसे शानदार ढंग से गिरावट?
- 24. अजीब
- 25. अजीब
- 26. अजीब
- 27. अजीब
- 28. अजीब
- 29. अजीब
- 30. एसवीएन: अजीब (बैश में)
आप से पहले और मंदी के बाद प्रोफाइलर तहत अनुप्रयोग चलाने चाहिए, और दो परिणामों की तुलना लीक कर रहे थे। सब कुछ जो काफी अलग होने के रूप में चिपक जाता है वह जांच के लायक है। बहुत सारे मुफ्त, या अच्छे, या मुफ्त और अच्छे प्रोफाइलर हैं, बस कुछ कोशिश करें और एक को चुनें जिसे आप सहज महसूस करते हैं। – Rom