विंडोज में पहले GUI के बाद से, हम प्रोग्रेस बार की वास्तविकता के साथ रहे हैं। वे हमेशा एक प्रोक्रास्टिनेटिंग दोस्त की तरह थे, आपको बता रहे थे कि वे किसी चीज़ के साथ लगभग समाप्त हो चुके हैं जब, वास्तव में, वे शायद अंत से बहुत दूर हैं। निराशा की भावना आपको भर देती है जब आप प्रोग्रेस बार पर "99%" पढ़ते हैं जबकि यह आपको बता रहा है कि एक कार्य को समाप्त करने के लिए इसके पास एक सेकंड बचा है, पिछले पांच मिनट से। हम आपकी निराशा को समझते हैं, इसलिए मैं ठीक से समझाने जा रहा हूं कि ये चीजें क्यों होती हैं।
सबसे पहले, आइए देखें कि प्रोग्रेस बार कैसे काम करते हैं
एक प्रोग्रेस बार एक डायलॉग पर थप्पड़ मारकर और उसमें एक बार डालकर बनाया जाता है। वह बार एक कार्य को पूरा करने में की गई प्रगति के प्रतिशत के अनुसार भरता है, इसलिए नाम "प्रोग्रेस बार"। प्रोग्रामर्स एक कार्य के दौरान कुछ माइल्स्टोन को प्रतिशत एट्रिब्यूट करके प्रोग्रेस बार को टिक करते हैं। तो, एक बार एक प्रोग्रेस बार 100 भागों वाले कार्य के तीसरे भाग तक पहुंच जाता है, यह जानता है कि इसे केवल तीन प्रतिशत भरना है।
कभी-कभी, प्रोग्रामर्स अपने प्रोग्रेस बार पर एक टाइमर भी लगा सकते हैं। यह (हमेशा गलत तरीके से) निर्धारित करेगा कि एक विशिष्ट कार्य को समाप्त होने में कितना समय लगेगा। पिछले उदाहरण का उपयोग करते हुए, मान लें कि हमारे 100-भाग वाले कार्य के पहले तीन भाग तीन सेकंड में किए गए थे। इससे एक मिनट और 37 सेकंड (कुल 97 सेकंड) शेष रह जाते हैं। लेकिन यह सामान केवल एक परफेक्ट वर्ल्ड में काम करता है। मैं नीचे समझाऊंगा।
बार अटक क्यों जाता है
प्रोग्रेस बार कुछ बिंदुओं पर अटके रहने के लिए कुख्यात हैं। यह भयानक रूप से निराशाजनक है, लेकिन सभी पागलपन के पीछे एक कारण है। जब एक प्रोग्रेस बार एक कार्य की प्रगति को मापता है, तो यह कुछ मानदंडों का उपयोग करता है। उदाहरण के लिए, मान लें कि हम 1,000 फाइल्स कॉपी कर रहे हैं। उन फाइलों में से प्रत्येक का शायद एक अलग आकार है। कुछ लोग 1,000 को 100 से विभाजित करेंगे। यह अच्छा लगता है, लेकिन फाइल आकार में अंतर के लिए जिम्मेदार नहीं है। कुछ फाइलें कुछ MB हो सकती हैं, जबकि अन्य 10 GB तक हो सकती हैं!

आप सभी फाइलों के कुल आकार को 100 से विभाजित कर सकते हैं। यह व्यावहारिक और अधिक सटीक लगता है, लेकिन यह अभी भी बेकार है। यह विधि हार्ड ड्राइव द्वारा अनुभव की जाने वाली स्पीड फ्लक्चुएशन के लिए जिम्मेदार नहीं है जब विभिन्न प्रकार की फाइलों को कॉपी किया जाता है, या जब अन्य छोटे कार्य करते हुए फाइलों को कॉपी किया जाता है। अंत में, आप एक ऐसी बार के साथ समाप्त होते हैं जो आपको केवल यह दिखाती है कि आप कितनी दूर गए हैं, लेकिन यह नहीं कि आप कार्य के समाप्त होने की कितनी उम्मीद कर सकते हैं।
हार्ड ड्राइव बड़ी फाइलों के बड़े टुकड़ों की तुलना में छोटी फाइलों (या बड़ी, लेकिन शारीरिक रूप से खंडित, फाइलों) को कॉपी करते हैं। ऐसा इसलिए है क्योंकि इसके भौतिक प्लैटर्स के भीतर नए सेगमेंट्स को खोजने की प्रक्रिया 100 छोटी फाइलों को एक्सेस करने की तुलना में एक बड़ी फाइल के दो बड़े टुकड़ों का शिकार करने की प्रक्रिया की तुलना में अधिक थकाऊ है। वही रजिस्ट्री एंट्रीज़ के बारे में कहा जा सकता है। वे लंबाई और परिष्कार में भिन्न होते हैं।
कुछ अंतिम विचार
व्यावहारिक रूप से आपके कंप्यूटर पर हर चीज में इससे जुड़े इतने सारे वेरिएबल्स हैं, कि किसी कार्य की प्रगति को सटीक रूप से निर्धारित करना असंभव है। आप अपनी स्क्रीन पर एक बेकार बार के साथ रह गए हैं जो केवल आपको फिट फेंकने से रोकने के लिए है। लड़ाई खत्म हो गई है। आपका जिद्दी कंप्यूटर किसी भी प्रयास पर हमेशा जीतेगा जो किसी ऐसी चीज़ की सटीक भविष्यवाणी करने का प्रयास करता है जो वैक्यूम में अन्यथा समय पर पूरी हो जाती। आप वास्तव में अपने प्रोग्रेस बार के बारे में कुछ नहीं कर सकते, लेकिन कम से कम आप जानते हैं कि वे इस तरह के निराशाजनक तरीकों से कार्य क्यों करते हैं!
ओह, और यहां प्रोग्रेस बार से संबंधित एक दिलचस्प छोटा गेम है: प्रोग्रेस वॉर्स।
यदि आप कार्यों की भविष्यवाणी करने के अधिक सटीक तरीके सोच सकते हैं, तो नीचे कमेंट में अवश्य छोड़ें!
डार्क लोडिंग या प्रोग्रेस बार बाय BigStockPhoto