2011-10-25 21 views
5

मैंने टाइमर का उपयोग किया है और सेकंड या मिलीसेकंड में निर्णय लेने के दौरान मुझे यह बहुत उपयोगी लगता है। अब मुझे मजबूत भावनाएं हैं कि टाइमर का निरंतर चलना धीरे-धीरे प्रोसेसर चक्रों की खपत को बढ़ाता है।क्या 'टाइमर' अधिक CPU पावर लेता है?

मैंने एक आवेदन (सी #) बनाया है और प्रति 1000 मिलीसेकंड (1 सेकंड) 'तीन' निर्देशों को निष्पादित करने के लिए 'टाइमर टिक' का उपयोग किया है और मैंने देखा है कि 5 मिनट के बाद आवेदन 5% CPU पावर का उपभोग कर रहा था और 10% 10 मिनट के बाद।

यदि यह प्रगति निरंतर बनी रहती है तो 4-5 घंटों के बाद क्या होगा यदि मैं पृष्ठभूमि में अपना आवेदन चलाता हूं?

क्या मुझे टाइमर के अत्यधिक उपयोग से बचना चाहिए?

private void currentTime_Tick(object sender, EventArgs e) 
{ 
    label1.Text = DateTime.Now.ToString("HH:mm:ss tt"); 
    label2.Text = dt.AddSeconds(i).ToString("HH:mm:ss"); 
    i++; 
} 
+0

किस प्रकार का टाइमर? –

+0

मुझे नहीं लगता, मैं टाइमर के उपयोग से संबंधित हूं। आपके ** कोड –

+0

में कुछ होना चाहिए क्या आप सुनिश्चित हैं कि यह टाइमर है और अन्य कोड नहीं है? शायद उन संदर्भों को जिन्हें साफ़ नहीं किया गया है या अधिक से अधिक डेटा रखने वाले ऑब्जेक्ट्स हैं? – Oded

उत्तर

1

ऐसा लगता है कि टाइमर स्वयं ही कारण नहीं है, लेकिन इसके द्वारा जो भी निर्देश कहा जाता है। क्या आप अपने निर्देशों में ऑब्जेक्ट्स बनाते हैं, या किसी अलग थ्रेड में चलने वाले कुछ को कॉल करते हैं? धागे शुरू करना या संसाधन आवंटित करना, और उन्हें बंद करना भूलना निश्चित रूप से आपके द्वारा वर्णित व्यवहार का कारण बन सकता है।

+0

पहले दो निर्देशों में मैं दो 'लेबल' के 'पाठ' को बदल रहा हूं और तीसरा निर्देश 'डबल' मान बढ़ाता है। –

+2

जब तक कि उनमें से कुछ लेबलों में कुछ चेंज() या समान घटनाएं सक्रिय नहीं होती हैं, तो समस्या कोड के इस हिस्से में नहीं होनी चाहिए। क्या आपने समस्या को अलग करने की कोशिश की? क्या होता है जब आप अपने "टाइमर टिक" के अंदर सब कुछ टिप्पणी करते हैं? क्या होता है यदि आप टाइमर अंतराल को 10 गुना धीमा कर देते हैं, या इसे बिल्कुल शुरू नहीं करते हैं? – vsz

संबंधित मुद्दे