Από το πρώτο GUI στα Windows, έχουμε ζήσει με την πραγματικότητα των μπαρ προόδου. Ήταν πάντα σαν ένας γιατρός που χρονοτριβεί, λέγοντας ότι έχουν σχεδόν τελειώσει με κάτι όταν, στην πραγματικότητα, είναι πιθανώς μακριά από το τέλος. Υπάρχει μια αίσθηση απογοήτευσης που σας γεμίζει καθώς διαβάζετε "99%" στη γραμμή προόδου ενώ σας λέει ότι έχει ένα δευτερόλεπτο για να ολοκληρώσει μια εργασία, για τα τελευταία πέντε λεπτά. Καταλαβαίνουμε την απογοήτευσή σας, γι 'αυτό θα εξηγήσω ακριβώς γιατί συμβαίνουν αυτά τα πράγματα.

Πρώτον, ας δούμε πώς λειτουργούν τα μπαρ προόδου

Μια γραμμή προόδου γίνεται από slapping σε ένα παράθυρο διαλόγου και βάζοντας μια μπάρα σε αυτό. Αυτό το μπαρ γεμίζει ανάλογα με το ποσοστό της προόδου που σημειώθηκε στην εκπλήρωση μιας εργασίας, εξ ου και το όνομα "γραμμή προόδου". Οι προγραμματιστές κάνουν κλίνες προόδου σημειώνοντας αποδίδοντας ορισμένα ορόσημα κατά τη διάρκεια μιας εργασίας σε ένα ποσοστό. Έτσι, μόλις μια γραμμή προόδου φθάσει στο τρίτο μέρος μιας εργασίας που περιέχει 100 μέρη, ξέρει ότι πρέπει να γεμίσει μόνο το 3%.

Μερικές φορές, οι προγραμματιστές μπορούν επίσης να βάλουν ένα χρονοδιακόπτη στις γραμμές προόδου τους. Αυτό θα (πάντα ανακριβώς) καθορίσει πόσο χρόνο θα λάβει μια συγκεκριμένη εργασία μέχρι να τελειώσει. Χρησιμοποιώντας το προηγούμενο παράδειγμα, ας πούμε ότι τα τρία πρώτα μέρη της εργασίας μας των 100 τμημάτων έγιναν σε τρία δευτερόλεπτα. Αυτό αφήνει ένα λεπτό και 37 δευτερόλεπτα (97 δευτερόλεπτα συνολικά) που απομένουν. Αλλά αυτά τα πράγματα λειτουργούν μόνο σε έναν τέλειο κόσμο. Θα εξηγήσω παρακάτω.

Γιατί η μπάρα έχει κολλήσει

Οι γραμμές προόδου είναι πασίγνωστες για να κολλήσουν σε ορισμένα σημεία. Είναι απαίσια απογοητευτικό, αλλά υπάρχει ένας λόγος πίσω από όλη την τρέλα. Όταν μια γραμμή προόδου μετρά την πρόοδο ενός έργου, χρησιμοποιεί ορισμένα κριτήρια. Για παράδειγμα, ας πούμε ότι αντιγράφετε 1.000 αρχεία. Κάθε ένα από αυτά τα αρχεία μπορεί να έχει διαφορετικό μέγεθος. Μερικοί άνθρωποι θα διαιρέσουν 1.000 ανά 100. Ακούγεται ωραίο, αλλά δεν λαμβάνει υπόψη τις διαφορές στο μέγεθος αρχείου. Μερικά αρχεία θα μπορούσαν να είναι μερικά MB, ενώ άλλα θα μπορούσαν να είναι μέχρι 10 GB!

Μπορείτε επίσης να διαιρέσετε το συνολικό μέγεθος όλων των αρχείων κατά 100. Ακούγεται πρακτικό και πιο ακριβές, αλλά είναι ακόμα ένα dud. Η μέθοδος δεν λαμβάνει υπόψη τις διακυμάνσεις ταχύτητας που αντιμετωπίζει ένας σκληρός δίσκος κατά την αντιγραφή διαφορετικών τύπων αρχείων ή κατά την αντιγραφή αρχείων κατά την εκτέλεση άλλων σύντομων εργασιών. Στο τέλος, καταλήγετε σε ένα μπαρ που σας δείχνει ακριβώς πόσο μακριά έχετε περάσει, αλλά όχι πόσο μπορείτε να αναμείνετε να περιμένετε να τελειώσει η εργασία.

Οι σκληροί δίσκοι έχουν την τάση να αντιγράφουν μικρότερα αρχεία (ή μεγαλύτερα, αλλά φυσικά κατακερματισμένα αρχεία) πιο αργά από ότι αντιγράφουν μεγαλύτερα κομμάτια δεδομένων. Αυτό οφείλεται στο γεγονός ότι η διαδικασία αναζήτησης νέων τμημάτων μέσα στις φυσικές πλατφόρμες είναι πιο κουραστική όταν έχετε πρόσβαση σε 100 μικρά αρχεία σε σύγκριση με τη διαδικασία κυνηγίου κάτω από δύο τεράστια κομμάτια μεγαλύτερου αρχείου. Το ίδιο θα μπορούσε να ειπωθεί για καταχωρήσεις μητρώου. Διαφέρουν σε μήκος και εκλέπτυνση.

Κάποιες Τελικές Σκέψεις

Πρακτικά όλα τα στοιχεία του υπολογιστή σας έχουν τόσες πολλές μεταβλητές συνδεδεμένες σε αυτό, ότι είναι αδύνατο να καθορίσετε με ακρίβεια την πρόοδο μιας εργασίας. Έχετε μείνει με ένα άχρηστο μπαρ στην οθόνη σας που είναι ακριβώς εκεί για να σας κρατήσει από το να ρίξετε μια φόρμα. Ο αγώνας τελείωσε. Ο πεισματάρης υπολογιστής σας θα κερδίσει πάντα κάθε προσπάθεια να προβλέψει με ακρίβεια κάτι που διαφορετικά θα είχε ολοκληρωθεί εγκαίρως. Δεν μπορείτε πραγματικά να κάνετε τίποτα για τα μπαρ προόδου σας, αλλά τουλάχιστον ξέρετε γιατί ενεργούν με τέτοιο τρόπο απογοητευτικό!

Ω, και εδώ είναι ένα ενδιαφέρον μικρό παιχνίδι που σχετίζεται με μπαρ προόδου: Πόλεμοι προόδου.

Εάν μπορείτε να σκεφτείτε πιο ακριβείς τρόπους για να προβλέψετε τις εργασίες, φροντίστε να αφήσετε ένα σχόλιο παρακάτω!

Σκούρα φόρτωση ή γραμμή προόδου από το BigStockPhoto