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