Kể từ GUI đầu tiên trong Windows, chúng tôi đã sống với thực tế của các thanh tiến trình. Họ luôn giống như một người bạn trì hoãn, nói với bạn rằng họ gần như đã kết thúc với một cái gì đó khi, trên thực tế, họ có thể là xa từ cuối. Có một cảm giác thất vọng khiến bạn lấp đầy khi bạn đọc “99%” trên thanh tiến trình trong khi nó cho bạn biết rằng nó còn lại một giây để hoàn thành một nhiệm vụ, trong năm phút cuối cùng. Chúng tôi hiểu sự thất vọng của bạn, đó là lý do tại sao tôi sẽ giải thích chính xác lý do tại sao những điều này xảy ra.

Trước tiên, chúng ta hãy nhìn vào cách thanh tiến trình hoạt động

Một thanh tiến trình được thực hiện bằng cách tát vào một hộp thoại và đặt một thanh trong đó. Thanh đó lấp đầy theo tỷ lệ tiến bộ thực hiện trong việc hoàn thành một nhiệm vụ, do đó tên "thanh tiến trình". Các lập trình viên làm cho các thanh tiến trình được đánh dấu bằng cách gán các cột mốc nhất định trong một nhiệm vụ cho một tỷ lệ phần trăm. Vì vậy, khi thanh tiến trình đạt đến phần thứ ba của một tác vụ chứa 100 phần, nó biết rằng nó phải tự lấp đầy chỉ ba phần trăm.

Đôi khi, các lập trình viên cũng có thể đặt một bộ đếm thời gian trên thanh tiến trình của họ. Điều này sẽ (luôn luôn không chính xác) xác định bao nhiêu thời gian một nhiệm vụ cụ thể sẽ mất cho đến khi nó kết thúc. Sử dụng ví dụ trước, giả sử rằng ba phần đầu tiên của nhiệm vụ 100 phần của chúng ta đã được thực hiện trong ba giây. Điều đó để lại một phút và 37 giây (tổng cộng 97 giây) còn lại. Nhưng công cụ này chỉ hoạt động trong một thế giới hoàn hảo. Tôi sẽ giải thích dưới đây.

Tại sao The Bar's Stuck

Thanh tiến trình nổi tiếng vì bị kẹt ở một số điểm nhất định. Thật là bực mình, nhưng có một lý do đằng sau tất cả sự điên rồ. Khi thanh tiến trình đo lường tiến độ của một nhiệm vụ, nó sử dụng các tiêu chí nhất định. Ví dụ: giả sử chúng tôi đang sao chép 1.000 tệp. Mỗi tệp có thể có kích thước khác nhau. Một số người sẽ chia 1.000 cho 100. Nghe có vẻ hay nhưng không tính đến sự khác biệt về kích thước tệp. Một số tệp có thể là một vài MB, trong khi những tệp khác có thể lên tới 10 GB!

Bạn cũng có thể chia tổng kích thước của tất cả các tệp cho 100. Nghe có vẻ thực tế và chính xác hơn, nhưng nó vẫn là một dud. Phương pháp này không tính đến sự biến động tốc độ của một trải nghiệm ổ đĩa cứng khi sao chép các loại tệp khác nhau hoặc khi sao chép tệp trong khi thực hiện các tác vụ ngắn khác. Cuối cùng, bạn kết thúc với một quán bar chỉ cho bạn thấy bạn đã đi bao xa, nhưng không bao nhiêu bạn có thể mong đợi để hoàn thành nhiệm vụ.

Ổ cứng có xu hướng sao chép các tệp nhỏ hơn (hoặc lớn hơn, nhưng các tệp bị phân mảnh về thể chất) chậm hơn so với các bản sao dữ liệu lớn hơn. Đó là bởi vì quá trình tìm kiếm các phân đoạn mới trong đĩa cứng vật lý của nó là tẻ nhạt hơn khi truy cập 100 tệp nhỏ so với quá trình tìm kiếm hai phần lớn của một tệp lớn hơn. Điều tương tự cũng có thể nói về các mục đăng ký. Chúng thay đổi về chiều dài và sự tinh tế.

Một số suy nghĩ cuối cùng

Thực tế mọi thứ trên máy tính của bạn có rất nhiều biến gắn liền với nó, rằng nó không thể xác định chính xác tiến độ của một nhiệm vụ. Bạn còn lại với một thanh vô dụng trên màn hình của bạn đó là chỉ có để giữ cho bạn từ ném một phù hợp. Cuộc chiến kết thúc. Máy tính bướng bỉnh của bạn sẽ luôn luôn giành chiến thắng trên bất kỳ nỗ lực để dự đoán chính xác một cái gì đó, trong chân không, nếu không sẽ hoàn thành một cách kịp thời. Bạn thực sự không thể làm bất cứ điều gì về thanh tiến trình của bạn, nhưng ít nhất bạn biết lý do tại sao họ hành động theo những cách bực bội như vậy!

Oh, và đây là một trò chơi nhỏ thú vị liên quan đến thanh tiến trình: Progress Wars.

Nếu bạn có thể nghĩ ra những cách chính xác hơn để dự đoán nhiệm vụ, hãy nhớ để lại bình luận dưới đây!

Thanh tải tối hoặc thanh tiến trình của BigStockPhoto