Windows 8.1 CPU उपयोग कभी भी 30% से अधिक नहीं होता है


2

मैं विजुअल स्टूडियो 2013 का उपयोग करके C ++ एप्लिकेशन लिख रहा हूं। एप्लिकेशन कुछ जटिल विश्लेषण करने वाली छवि के माध्यम से पुनरावृत्त करता है। विश्लेषण विशेष रूप से धीमा नहीं है, लेकिन कोड दक्षता का परीक्षण करने के लिए मैं विश्लेषण (कहना) 100 बार चला रहा हूं और यह देख रहा हूं कि इसमें कितना समय लगता है। फिर मैं कोड को संशोधित करता हूं, परीक्षण को फिर से चलाता हूं और देखता हूं कि प्रदर्शन में सुधार (या गिरावट) है या नहीं।

समस्या यह है कि जब मेरे पास शक्तिशाली 4-कोर i5 (i5-4200U @ 1.6 गीगाहर्ट्ज़ विशिष्ट होने के लिए) और बहुत सारे रैम हैं, तो समग्र सीपीयू उपयोग कभी भी 30% से अधिक नहीं होता है। मेरी प्रक्रिया कभी भी लगभग 29.5% से आगे नहीं बढ़ पाई। मैंने अपने एप्लिकेशन की प्राथमिकता वर्ग को "उच्च" पर सेट करने का प्रयास किया है और इससे कोई मदद नहीं मिली है। शून्य डिस्क और नेटवर्क एक्सेस है, सभी मेमोरी में (और लगभग 5GB मेमोरी को स्पेयर करने के लिए)।

क्या यह कुछ गुप्त विंडोज 8.1 की सीमा है कि सीपीयू एक प्रक्रिया को कितना सीमित कर सकता है (प्रदर्शन को संरक्षित करने के लिए)? क्या मैं इस प्रोग्राम को या कुछ कंट्रोल पैनल एप्लेट के माध्यम से बदल सकता हूं (शायद एक उच्च CPU उपयोग सीमा निर्धारित करें)?

जवाबों:


4

आपका एप्लिकेशन सबसे अधिक संभावना एकल-थ्रेडेड है। तो यह केवल एक CPU कोर का उपयोग कर सकता है।
चूंकि आपके पास 4 सीपीयू कोर हैं, इसलिए यह 1/4 सीपीयू का उपयोग कर रहा है, जिसका अर्थ है लगभग 25%।

अपने CPU को 100% तक उपयोग करने के लिए आपको अपने एप्लिकेशन को उपयोग करने के लिए संशोधित करना होगा बहु सूत्रण (अगर संभव हो तो)। मल्टी-थ्रेडेड फैशन में सभी समस्याओं को हल नहीं किया जा सकता है। तो यह इस बात पर निर्भर करता है कि आप वास्तव में क्या कर रहे हैं।


1
हां, आप सही समझें। विंडोज के पिछले संस्करण एक कोर को अधिकतम करना चाहते हैं (अन्य कोर 0% के करीब चुगेंगे)। विंडोज 8.1 की तरह लगता है कि उपलब्ध कोर में एकल-थ्रेड का काम फैलाने का एक अच्छा काम कर रहा है।
AlainD
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.