जब मैं एक गैर संकेत घटना WaitForSingleObject समारोह का उपयोग करने पर इंतजार के समय समाप्त संकल्प, मुझे लगता है कि कुछ मामलों में कॉल निर्दिष्ट समय अवधि से कम समय में WAIT_TIMEOUT वापस आ जाएगी। बस 1000 एमएमएस पर सेटआउट के साथ कॉल पर लूपिंग, मैंने 9 0 9एमएस (WinXP पर चल रहे) के रूप में कम अवधि में कॉल रिटर्न देखा है। मैं सिस्टम घड़ी घड़ी स्वतंत्र समय माप प्राप्त करने के लिए क्वेरीरीफॉर्मेंस काउंटर का उपयोग कर रहा हूं, इसलिए मुझे नहीं लगता कि घड़ी की बहाव का जवाब होने की संभावना है।WaitForSingleObject
यह व्यवहार मेरे लिए किसी भी व्यावहारिक समस्याओं प्रस्तुत नहीं करता है, लेकिन मैं इसे बेहतर समझने के लिए चाहते हैं। ऐसा लगता है कि यह लगभग टाइमर टिक के संकल्प पर काम कर रहा है। क्या माइक्रोसॉफ्ट इस समारोह की परिशुद्धता पर कोई और विवरण प्रकाशित करता है? क्या मुझे Vista में अधिक सटीकता की उम्मीद करनी चाहिए?
मैं एक छोटा परीक्षण सुझा सकता हूं: बस प्रतीक्षा समारोह से पहले 'नींद (0)' रखें। यह आपकी उम्मीदों को पूरा करने के लिए व्यवहार को बदलने की संभावना है। इसके अलावा: 'QueryPerformanceCounter() 'के मूल्यों को' QueryPerformanceFrequency() 'द्वारा लौटाई गई आवृत्ति का उपयोग करके समय मूल्यों में कनवर्ट करने का तात्पर्य है कि आवृत्ति सटीक है। दी गई आवृत्ति को स्थिर के रूप में माना जाता है। लेकिन अन्तर्निहित हार्डवेयर सहनशीलता है। आवृत्ति हमेशा एक ऑफसेट और संभवतः थर्मल बहाव भी है। – Arno