2015-09-01 11 views
8

मैंने देखा है कि जब भी मेरे पास डेल्फी 2010 विचार खुला होता है तो मेरा बैटरी जीवन मेरे लैपटॉप पर काफी खराब होता है। जब मैं powercfg/ऊर्जा ट्रेस करता हूं, यह दिखाता है (अन्य चीजों के साथ) कि bds.exe ने 15.6ms के डिफ़ॉल्ट से छोटे टाइमर रिज़ॉल्यूशन का अनुरोध किया है।डेल्फी आदर्श विंडोज प्लेटफार्म टाइमर रिज़ॉल्यूशन क्यों बढ़ाता है?

Current Timer Resolution (100ns units) 10006 
Maximum Timer Period (100ns units) 156250 


Requested Period 10000 
Requesting Process ID 7996 
Requesting Process Path \Device\HarddiskVolume2\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin\bds.exe 

क्या डेल्फी के पास प्लेटफ़ॉर्म टाइमर रिज़ॉल्यूशन को बदलने का एक अच्छा कारण है? क्या विचार के नवीनतम संस्करण भी वही व्यवहार करते हैं?

+0

मैं XE7 के साथ यह नहीं देख रहा हूं। मैं वास्तव में नहीं देख सकता कि सॉफ्टवेयर के 5 साल के पुराने संस्करण के साथ यह कोई समस्या क्यों नहीं है जब तक कि आपका मतलब यह नहीं है कि आईडीई के साथ विकसित अनुप्रयोग समान व्यवहार प्रदर्शित कर रहे हैं। डेल्फी जैसे कुछ के साथ समस्या यह है कि यह किसी तीसरे पक्ष के नियंत्रण द्वारा किया जा सकता है। यह जरूरी नहीं है कि आईडीई चीजें बदल रहा हो। – Graymatter

+0

@ ग्रेमैटर मैं इसे XE7 के लिए देख रहा हूं। फ़ायरफ़ॉक्स भी 1 एमएमएस का अनुरोध करता है, मैंने देखा। मुझे उम्मीद है कि 'स्लीप' एमएस सटीक बनाना है। –

+0

@ जे ठीक है, अब मैं इसे देखता हूं। यकीन नहीं है कि मैंने इसे पहली बार कैसे याद किया। मुझे अभी भी लगता है कि यह एक बहुत मामूली मुद्दा है। विकास उपकरण नियमित अनुप्रयोगों के समान नहीं हैं। डिबगर्स, प्रोफाइलिंग, आदि सभी उन्हें एक तरफ थोड़ा सा खड़ा करते हैं। – Graymatter

उत्तर

14

आईडीई ProjectManager, संरचना दृश्य और लॉग-विंडो के लिए VirtualTrees.pas का एक बहुत पुराना संस्करण उपयोग करता है। यह संस्करण timeBeginPeriod को InitializeGlobalStructures फ़ंक्शन में कॉल करता है और टाइमर रिज़ॉल्यूशन को न्यूनतम (1) पर सेट करता है। यह इकाई के finalization ब्लॉक में रीसेट किया गया है।

VirtualTrees इस प्रतिबद्ध के साथ इस व्यवहार बदल:

2013-09-20 21:40:21: No longer changing timer resolution globally (#365) 

लेकिन आईडीई अभी भी एक बहुत ही पुराने संस्करण है कि यहां तक ​​कि UnicodeString लेकिन WideString का उपयोग नहीं कर उपयोग करता है। इसलिए इसे डेल्फी 2007 से अपडेट नहीं किया गया था।

+0

धन्यवाद एंड्रियास! मुझे लगता है कि अगर मैं आईडीई खुलने के बाद टाइमर वापस सेट करता हूं, तो मुझे थोड़ा बेहतर बैटरी जीवन मिल सकता है – Joe

+0

क्या आपको पता चल गया है कि क्यों वर्चुअल ट्री व्यू टाइमर रिज़ॉल्यूशन बदल गया? आईडीई चल रहा है या वर्चुअल ट्री व्यू पर प्रतिकूल प्रभाव पड़ सकता है, तो इसे वापस बदलने के लिए सुरक्षित होगा? – dummzeuch

+0

@dummzeuch कोड को टाइम गेटटाइम के लिए एक उपयोगी टाइमर रिज़ॉल्यूशन निर्दिष्ट करें 'के साथ टिप्पणी की गई थी। लेकिन केवल मूल लेखक (माइक Lischke) इसका जवाब देने में सक्षम हो सकता है। –

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