لماذا شريط التقدم عند نسخ أو تحميل الملفات لا يكون دقيق ؟



تابع قناة عالم الكمبيوتر علي التيليجرام


عند تحميل ملف من الانترنت على الكمبيوتر أو نقل مجلد من مكان لآخر على وحدة التخزين أو تثبيت برنامج جديد، يظهر شريط التقدم للتعبير عن مدى اكتمال المهمة المطلوبة وهو بالتأكيد مفيد لتوضيح ما إذا كانت العملية ستستغرق بعض الوقت أم ستنتهي في لمح البصر. مع ذلك، إذا ركزت في الوقت التقديري لإتمام المهمة والذي يعرضه جنبًا إلى جنب بيانات أخرى متعلقة بالملف ستلاحظ أنه يتغير بشكل يبدو عشوائي وغير دقيق بالمرة. فتُرى أن المهمة اكتملت بنسبة 50% في غضون نصف ساعة وفجأة يتغير الوقت التقديري إلى ساعتين أو ثلاثة حتى تنتهي المهمة بالكامل!

على الأرجح انك واجهت هذا الموقف يومًا ما مما دفعك للتساؤل عن أسباب افتقار أشرطة التقدم للدقة في احتساب توقيت اكتمال العملية ؟ وللحقيقة فإن الموضوع يحتاج مراجعة عدة عوامل معقدة لفهم آلية عمل أشرطة التقدم سواء كانت تلك التي تظهر أثناء تنزيل الملفات أو نقلها أو تثبيت البرامج، فدعونا نوضح الأسباب انطلاقًا من السطور الآتية.


عدم استقرار سرعة الاتصال بالإنترنت


نتحدث هنا طبعًا عن شريط التقدم الذي يظهر في برامج إدارة التنزيلات أو المتصفحات عند تحميل ملف ما من الإنترنت، فغالبًا ما يُخبرك الوقت المُقدر ان العملية برمتها ستنتهي خلال دقيقتين، وبينما تنتظر الثواني الأخيرة يقفز التوقيت إلى نصف ساعة! ما الذي حدث هنا ؟! ضروري أن تُدرك عزيزي القارئ أن المبدأ الذي يتم على أساسه حساب الوقت المتبقي لاكتمال أشرطة التقدم بشكل عام هو ببساطة تقسيم الحجم المتبقي للتحميل على السرعة الوسطية لنقل البيانات فينتج عنها الوقت المتبقي لاكتمال العملية.


وفي حالتنا تلك، أي تحميل ملف من الانترنت، تعبّر سرعة نقل البيانات عن سرعة اتصالك بالإنترنت والتي نادراً ما تكون ثابتة عند سرعة مُعينة، فتجد ان العملية بدأت بسرعة 15 ميجابت/ثانية وبحلول اكتمالها انخفضت إلى 3 ميجابت/ثانية، مما يضرب بالتقديرات التي قام بها الحاسوب منذُ بداية العملية عرض الحائط، وعليه يضطر الحاسوب لإعادة احتساب الوقت المقدر بناءً على السرعة الجديدة في خضم تقدم العملية.

بالطبع هذا وارد جدًا أن يحدث، فسرعة الاتصال هنا تتأثر من عدة عوامل أهمها ما يتعلق باستقرار الشبكة نفسها، أو في حال بدء مهام أخرى تستهلك من سرعة الانترنت بنفس وقت التحميل، أو هناك ضغط على الشبكة من قبل الأجهزة الأخرى المتصلة بالراوتر. ومع ذلك، لا يمكن اعتبار سرعة الانترنت العامل الوحيد في اختلاف سرعة تقدم شريط التنزيل عما يُقدر به، هناك عوامل أخرى بعيدة تمامًا عن سرعة الاتصال مثل:

عدم توافر جميع أجزاء الملف المطلوب تنزيله: نقصد هنا حالة تحميل الملفات من الانترنت باستخدام تقنية التورنت، فكما تعلمون أن هذه التقنية لا تعتمد على تحميل الملف مباشرًة من سيرفر مُعين وإنما يتم تجزئتها لعدة أقسام قبل توزيعها على المستخدمين الذين يقومون بتحميل نفس الملف من أماكن متفرقة، كل مستخدم يمتلك قسم معين من الملف ويقوم بإعادة رفعه على الشبكة بعد تنزيله كاملًا على حاسوبه.

الآن عندما يأتي دورك لتحميل هذا الملف على جهازك سيبدأ شريط التقدم بإعطاء تقديرات واقعية وصحيحة حتى يأتي في مرحلة ما ويتوقف تمامًا أو يعمل ببطء، على الرغم من استقرار سرعة الانترنت. السبب المرجح هنا هو عدم توافر أجزاء معينة من الملف وبالتالي يزداد الوقت التقديري لعدة ساعات بعدما كان مُقدر لدقائق معدودة حيث تضطر إلى الانتظار لحين اتصال أحد الأجهزة التي تتشارك الملف ليتم استكمال الجزء الناقص واستئناف التحميل — هذه الحالة نادرة الحدوث إلا انها جديرة بالذكر.


بطء استجابة السيرفر المستضيف للملف: في حال كان الملف الذي تحاول تنزيله كبير، أي يقدر بالجيجابايت، فغالبًا ما يتم استضافته على عدة خوادم تتشارك معًا أجزاءً من الملف لتجنب تشكيل ضغط على سيرفر مُعين في حال كان هذا الملف ضروري ويقوم بتحميله ملايين المستخدمين في آن واحد. نتيجة لذلك، بعض السيرفرات تكون أسرع من غيرها مما يؤدي لعدم دقة الوقت المقدر لانتهاء عملية التنزيل، فعند الانتقال من خادم لآخر يتغير الوقت حسب سرعة استجابة هذا الخادم.

هناك أسباب كثيرة أخرى، لكن الشيء المشترك بينها، والذي يجعل شريط التقدم أثناء تحميل الملفات من الانترنت غير دقيق، هو ظهور مشاكل مفاجئة يصعب التنبؤ بها ووضعها في الحسبان أثناء تقدير الوقت المتبقي لاكتمال العملية، فتكون النتيجة تباطؤ الشريط وزيادة الوقت المتبقي عمّا قد تم حسابه مسبقاً.

عدم استقرار سرعة نقل البيانات



كما هو الحال عند التحميل من الانترنت، لا يمكن نسخ أو نقل ملفات بين وحدات التخزين على جهازك بسرعة موحدة طوال العملية، بل هي سرعة متغيرة وتتأثر بعدة عوامل، أهمها ان تكون أجزاء الملف صغيرة وكثيرة، على سبيل المثال عند نسخ ملف واحد بحجم 500 ميجابايت يكون أسرع من نسخ عدة ملفات يبلغ حجمها الإجمالي 500 ميجابايت نظرًا لأن طبيعة عملية نقل البيانات تتطلب من وحدة التخزين معالجة كل ملف بشكل فردي وتخزينه في مكانه الصحيح مما يستغرق وقتًا أطول لإنهاء العملية.

ضع في اعتبارك أيضًا انه إذا كانت وحدة التخزين الذي يتم نقل/نسخ البيانات عليها ممتلئة فإن العملية تستغرق وقت أطول مع عدم القدرة على تقدير الوقت المتبقي بدقة نظرًا لأن قطاعات التخزين المتاحة مكدسة وبالتالي تحتاج وحدة التخزين إلى إيجاد قطاعات فارغة في أماكن متفرقة لكتابة البيانات عليها.


أيضًا في حال كانت هناك عدة مهام أخرى تتم في الخلفية وتستهلك من قدرات وحدة التخزين بينما تقوم بعملية نقل أو نسخ للبيانات فستتأثر سرعة العملية بذلك على الفور. مثلًا تقوم بنقل ملف كبير من الفلاش ميموري USB إلى الهارد بينما تُجرى عملية تحديث للويندوز أو يتم إجراء نسخ احتياطي للملفات أو حتى تقوم بتنزيل ملفات جديدة ويتم تخزينها على نفس الهارد، جميع هذه المهام تشكل عبء على الأداء العام للهارد وبالتالي لن يستطيع شريط التقدم أن يتوقع المدة المتبقية لإنهاء العملية بدقة.

مرة أخرى، هذه العوامل من غير الممكن التوقع بها خلال احتساب مدة اكتمال عملية نسخ او نقل الملفات، وعليه فإن شريط التقدم يحاول ان يواكب باستمرار التغييرات التي تؤثر على سرعة نقل البيانات ويقدم تقديرات جديدة أقرب للوقع في كل لحظة.

حسنًا، وماذا عن دقة شريط التقدم عند تثبيت البرامج ؟


بالرغم من أن عملية تثبيت برنامج ما أو لعبة تنطوي عادة على نسخ الملفات من مكان لآخر (من الـ CD مثلًا إلى موقع اللعبة على الهارد) أو تحميل ملفات إضافية من الانترنت وبالتالي تنطبق نفس الأسباب السابقة على عدم دقة شريط التقدم أثناء عملية التثبيت، إلا ان هناك عوامل إضافية قد تكون مسببة لتضليل شريط التقدم ما يجعله يقدر الوقت المتبقي لاكتمال العملية بشكلٍ خاطئ.


على سبيل المثال، إذا كانت اللعبة كبيرة للغاية أو البرنامج ضخم، فغالبًا عملية التثبيت تنطوي على فك ضغط مجموعة من الملفات في نفس الوقت، وهي الملفات المستخدمة لإكمال عملية التثبيت بدون أخطاء أو مشاكل. هنا تعتمد عملية فك ضغط الملفات ليس فقط على سرعة نقل البيانات للهارد وانما أيضًا سرعة المعالج (CPU) والذي قد يكون بطيئًا اعتمادًا على عمر جهازك، مع الأخذ بعين الاعتبار العمليات والمزامنات الأخرى التي تتم بشكل روتيني في الخلفية على الجهاز، مما يؤدي لزيادة وقت التثبيت وصعوبة تقديره بشكل صحيح.

من الجدير بالذكر الألعاب والبرامج خلال عملية التثبيت تتطلب إجراء خطوات متعددة ومتجزئة تختلف سرعة إنجازها حسب كل خُطوة ومدى كفاءة موارد الجهاز واستجابته، مثل إعادة تجميع مجموعة بيانات معًا لإنهاء المهمة والتي قد تزيد من الوقت المستغرق إذا كان المعالج ضعيف. لذا يتم توقع مدة انتهاء العملية اعتماداً على الخطوة الحالية التي تمر بها عملية التثبيت وسيكون من الصعب التنبؤ بدقة كم ستحتاج كل خُطوة من الوقت لتتم بنجاح، كنتيجة لذلك تتراوح بشدة تقديرات الوقت خلال العملية برمتها.


هل أستطيع أن اجعل شريط التقدم أكثر دقة ؟


للأسف ليس هناك الكثير مما يمكنك فعله بخصوص ذلك، جعل شريط التقدم للنسخ أو التحميل دقيق هو أمر صعب للغاية نظراً لوجود عوامل متغيرة ومختلفة لا يمكن التحكم بها أو ضبطها بدرجة كبيرة كما هو واضح من السطور السابقة. ومع ذلك، هناك بعض النصائح يمكنك إتباعها للحصول على تقديرات أكثر دقة مثل الحفاظ على استقرار سرعة الانترنت أثناء التحميل من خلال تخفيض المهام الأخرى التي تستهلك الانترنت على الكمبيوتر أو الحد من استخدام أجهزتك الأخرى خلال عملية التنزيل.


كما تتوفر بعض البرامج مثل TeraCopy المخصصة لنقل الملفات والتي توفر أشرطة تقدم أكثر دقة مقارنًة بأداة نقل الملفات الخاصة بويندوز حيث تعرض الوقت المتوقع والنسبة المئوية للنسخ بناءً على حسابات أكثر واقعية، لكنها بالطبع لن تفيدك في المجالات الأخرى مثل توقع الوقت الصحيح لاكتمال تثبيت برنامج أو لعبة.

ختامًا: كانت هذه هي الأسباب التي تؤدي إلى عدم دقة شريط التقدم أثناء تنفيذك لعمليات النسخ والتحميل، يبدو الامر الآن منطقياً كون الشريط غير مثالي، وخاصة بسبب صعوبة ضبط الأسباب التي تؤدي إلى هذه المشكلة والتي تبدو للبعض مشكلة ثانوية، بينما للبعض الآخر قد تكون مشكلة برمجية تحتاج إلى الحلول لتوفير درجة أفضل من الاستخدام التكنولوجي للأغراض المهنية أو حتى للتسلية. ولكن هل يهتم المبرمجون بهذه المشكلة أم يتقدم عليها مشاكل أهم تحتاج للحلول كون التكيف مع المشكلة هو الحل المتوفر حالياً لحين إيجاد حلول جذرية قد تصبح متوفرة في المستقبل.

تعليقات