উইন্ডোজ প্রোগ্রেস বার সবসময় ভুল এস্টিমেটেড টাইম দেয় কেন?

আপনি যদি উইন্ডোজ ইউজার হয়ে থাকেন তাহলে অবশ্যই আপনি প্রোগ্রেস বারের সাথে পরিচিত। উইন্ডোজে কোনো প্রোগ্রাম ইন্সটল করার সময় বা উইন্ডোজ আপডেট দেওয়ার সময় যে সবুজ রঙের বারটি দেওয়া হয় যেটি নির্দেশ করে যে আপনার কাজটি কত পারসেন্ট কমপ্লিট হয়েছে এবং কতটুকু বাকি আছে আর কতক্ষন লাগবে কাজটি শেষ হতে সেটাই হচ্ছে উইন্ডোজ এর প্রোগ্রেস বার। প্রোগ্রেস বার শুধুমাত্র উইন্ডোজেই থাকে তা নয়। প্রত্যেকটি অপারেটিং সিস্টেমেই তার নিজস্ব প্রোগ্রেস বার থাকে। কিন্তু সব ধরণের প্রোগ্রেস বারের কাজ মূলত একই। কিন্তু অন্যান্য অপারেটিং সিস্টেমের প্রোগ্রেস বারের সাথে উইন্ডোজের প্রোগ্রেস বারের কিছুটা পার্থক্য আছে। আর তা হচ্ছে, উইন্ডোজের প্রোগ্রেস বার অধিকাংশ সময় সঠিক ইনফরমেশন দিতে পারেনা।

আপনি হয়তো একটি ফাইল একটি ড্রাইভ থেকে আরেকটি ড্রাইভে কপি-পেস্ট করার সময় দেখবেন যে প্রোগ্রেস বারে আপনাকে রিমেইনিং টাইম অর্থাৎ ফাইলটি কপি হতে কতক্ষন লাগবে তা দেখানো হচ্ছে, কিন্তু সেটা প্রথমে দেখানো হলো ফাইলটি কপি হতে সর্বমোট ২ মিনিট ৩০ সেকেন্ড লাগবে। কিন্তু তার ঠিক কয়েক সেকেন্ড পরেই দেখলেন দেখানো হচ্ছে ৩ মিনিট ২০ সেকেন্ড লাগবে। আবার তার এক মিনিট পরে দেখলেন প্রোগ্রেস বার ১ মিনিটে গিয়ে থেমে আছে অথবা দেখলেন যে ফাইলটি কপি করা অলরেডি শেষ হয়ে গেছে। আজকে এই বিষয়টি নিয়েই আলোচনা করবো।

কখনো ভেবে দেখেছেন, আজকের দুনিয়ায় আমরা সুপার কম্পিউটার ব্যবহার করে অনেক অসম্ভব কাজও কম্পিউটার ব্যবহার করে করে ফেলছি, আমরা আর্টিফিশিয়াল ইন্টেলিজেন্স ব্যবহার করে পৃথিবীর রূপ বদলে দেওয়ার প্ল্যান করছি, আমরা মানুষের চোখকে স্মার্টফোনের পাসওয়ার্ড হিসেবে ব্যবহার করছি, আমরা আক্ষরিক অর্থেই মঙ্গল গ্রহে মানুষ পাঠানোর প্রস্তুতি নিচ্ছি, আর এমন সময়ে আমরা মাত্র উইন্ডোজের একটা প্রোগ্রেস বার বানাতে পারিনি যেটা আমাদেরকে সঠিকভাবে বলতে পারে যে একটা ফাইল কপি হতে কতক্ষন লাগবে? এ কেমন বিচার? ¯\_(ツ)_/¯


প্রোগ্রেস বার সবসময় ভুল রিডিং দেয় কেন?

এই বিষয়টি বুঝতে হলে প্রথমে আমাদেরকে জানতে হবে যে উইন্ডোজে কোনো টাস্ক এর প্রোগ্রেস কি কি বিষয়ের ওপরে নির্ভর করে। প্রথমত এটা জানা কথা যে কোনো ফাইল কপি করার সময় কতক্ষন লাগবে তা নির্ভর করে সর্বপ্রথম আপনি যে ফাইলটি কপি করছেন তার সাইজের ওপরে এবং আপনি কতগুলো ফাইল কপি করছেন তার ওপরে। এছাড়াও কপি পেস্ট করার স্পিড অনেকটা নির্ভর করে আপনার হার্ড ডিস্ক এর ট্রান্সফার স্পিডের ওপরে, যেটা সবসময় হালকা কম-বেশি বা একই থাকে বলতে পারেন। আর আপনি যখন একটি ফাইল কপি করেন তখন উইন্ডোজ প্রোগ্রেস বার আপনাকে একটি এস্টিমেটেড টাইম শো করে যেসব জিনিস মাথায় রেখে তা হচ্ছে, আপনি কতগুলো ফাইল কপি করছেন এবং প্রত্যেকটি ফাইল কত বড় এবং প্রত্যেকটি ফাইল কপি হতে কতক্ষন টাইম লাগবে। এছাড়া প্রোগ্রেস বার আগে থেকেই জানে যে আপনার সিস্টেমের প্রোসেসিং পাওয়ার কতটা এবং আপনার পিসির কনফিগ কেমন। এই সকল ইনফরমেশন পেয়ে গেলে ফাইল কপি শেষ হওয়ার একটি সঠিক এস্টিমেটেড টাইম দেখানো তো খুবই সহজ, তাইতো? তাহলে কেন সঠিক টাইম দেখতে পারেনা প্রোগ্রেস বার?

কারণ উইন্ডোজের এই প্রোগ্রেস বারকে খুবই কম ইনফরমেশন ব্যবহার করতে দেওয়া হয় এস্টিমেটেড টাইম দেখানোর ক্ষেত্রে। তার ফলে আপনার উইন্ডোজের সব টাস্ক বিবেচনা করে তারপরে এস্টিমেটেড টাইম দিতে পারেনা এটি। এটি শুধুমাত্র কিছু অল্প পরিমান ইনফরমেশন পায় এবং সেগুলো বেবহার করেই এস্টিমেটেড টাইম দেওয়ার চেষ্টা করে। কিন্তু প্রোগ্রেস বার যেটুকু ইনফরমেশন পায় সেটাই যদি তার জন্য এনাফ হয়, তাহলে কেন এস্টিমেটেড টাইমগুলো সঠিক হয়না? কারণ, আপনার কপি করা ফাইলটি ঠিক কতটুকু সময় নেবে পেস্ট হতে, বা আপনার ডাউনলোড করা উইন্ডোজ আপডেটটি কতক্ষন সময় নেবে ইনস্টলের জন্য রেডি হতে, তার একটি বড় অংশ ডিপেন্ড করে আপনার পিসিতে এই মুহূর্তে কি কি টাস্ক রানিং আছে এবং কোন কোন টাস্ক আপনার হার্ডডিস্ক-কে ব্যবহার করছে তার ওপরে। কিন্তু এই ইনফরমেশন উইন্ডোজ প্রোগ্রেস বার কখনোই পায় না। ধরুন, আপনি যখন একটি ফাইল কপি করছেন, তখন যদি আপনার উইন্ডোজ ব্যাকগ্রাউন্ডে কোনো আপডেট ডাউনলোড করতে থাকে বা স্টিম আপনার কোনো গেমের কোনো অটোমেটিক আপডেট ডাউনলোড করতে থাকে বা এমন ধরণের অনেক ব্যাকগ্রাউন্ড প্রোসেস রানিং থাকে, তখন আপনার ফাইল ট্রান্সফার স্পিড কমে যাবে। কিন্তু স্পিড কমে গেলেও প্রোগ্রেস বার কিছুতেই তা এস্টিমেট করতে পারবে না, কারণ প্রোগ্রেস বারকে এসব ইনফরমেশন জানতে দেওয়া হয়নি।

কিন্তু এবার আপনি বলতে পারেন যে আপনার পিসিতে এমন কোনো ধরণের ব্যাকগ্রউন্ড প্রোসেস না চললেও কেন আপনার প্রোগ্রেস বার ভুল টাইম শো করে? এর কারণ হচ্ছে, আপনি যে ফাইলগুলো কপি করছেন সেই ফাইলগুলো। কিন্তু কেন? ফাইলগুলোর ইনফরমেশন কি প্রোগ্রেস বার পাচ্ছেনা আগে থেকেই? হ্যা, অবশ্যই পাচ্ছে। কিন্তু প্রোগ্রেস বার এটা সঠিকভাবে বুঝতে পারছে না যে প্রত্যেকটি ফাইল কপি হতে কতক্ষন লাগবে। কারণ, ফাইলগুলোকে স্ক্যান করার ক্ষমতা প্রোগ্রেস বারের নেই। তাই কোন ফাইলটি কপি করতে আপনার পিসি কত সময় নেবে এটাও ঠিকভাবে জানতে পারছে না। আপনি খেয়াল করলে দেখবেন যে, আপনি একটি ফোল্ডারের মধ্যে অনেকগুলো ফাইলকে একসাথে কপি করে অন্য কোথাও পেস্ট করলে যতটুকু সময় লাগবে, তার থেকে অনেক কম সময় লাগবে যদি আপনি সেই সব ফাইলগুলোকে একটি Zip ফাইলে কম্প্রেস করে একটি ফাইল হিসেবে ট্রান্সফার করেন। এখানেও কিন্তু প্রোগ্রেস বার জানতে পারছেনা যে আপনি যে ফাইলটি কপি করছেন সেটি কি ধরণের ফাইল। ফাইলটি কি কম্প্রেসড, ফাইলটি কি ফ্র্যাগমেন্টেড, ফাইলটি কি করাপ্টেড বা ফাইলে কোনো সমস্যা আছে কিনা এসব কিছুই জানতে পারছেনা। প্রোগ্রেস বার টাইম অনুমান করার জন্য যেসব ইনফরমেশন পাচ্ছে তা হচ্ছে শুধুমাত্র ফাইলগুলোর নাম, ফাইলগুলোর লোকেশন এবং ফাইলগুলোর সাইজ। তাই ফাইলগুলোর টাইপের কারণে যদি আপনার ট্রান্সফার স্পিড কমে যায় বা বেড়ে যায়, তাহলে প্রোগ্রেস বার সেটি বুঝতে পারছে না।

এর পরের প্রশ্ন হচ্ছে, আপনি যখন কোনো গেম বা কোনো প্রোগ্রাম ইনস্টল করেন, তখন আপনাকে যে প্রোগ্রেস বার দেখানো হয় যে ইনস্টল শেষ হতে কতক্ষন লাগবে, সেটি কেন উইন্ডোজ প্রোগ্রেস বারের মতো ভুল হয়না? সেটি কেন অনেকটা সঠিক টাইম দিতে পারে? এর কারণ হচ্ছে, আপনি যখন কোনো গেম বা কোনো প্রোগ্রাম ইনস্টল করেন, তখন আপনাকে কি কি ফাইল এক্সট্রাক্টর করতে হচ্ছে, কি কি ফাইল কোথায় পেস্ট করতে হচ্ছে, কোন ফাইল কতটুকু টাইম নেবে সেসব ইনফরমেশন ওই গেমটির বা প্রোগ্রামটির ডেভেলপার আগে থেকেই জানে এবং গেমটি ইনস্টল করার সময় আপনার পিসির কনফিগারেশনও জেনে যায় প্রোগ্রাম ইনস্টলারটি। এর ফলে ইনস্টলার এবং প্রোগ্রামটির ডেভেলপার তাদের ইন্সটলারে থাকা প্রোগ্রেস বারটি নিজের ইচ্ছামতো টিউন করে নিতে পারছে, যেটা উইন্ডোজ পারছে না। যেহেতু উইন্ডোজ আগে থেকে জানেনা যে আপনি কি কি ধরণের ফাইল কপি করবেন এবং সেগুলো কতক্ষন সময় নেবে।

এতক্ষনে নিশ্চই বুঝতে পেরেছেন, উইন্ডোজের প্রোগ্রেস বার সবসময় কেন ভুল এস্টিমেট টাইম শো করে। আজকের মতো এখানেই শেষ করছি। আশা করি আজ আর্টিকেলটিও আপনাদের ভালো লেগেছে। কোনো ধরণের প্রশ্ন বা মতামত থাকলে অবশ্যই কমেন্ট সেকশনে জানাবেন।

Images: Shutterstock.com

About the author

সিয়াম

Add comment

Categories