Начална » как да » Как Windows определя количеството време, необходимо за извършване на действие с файл?

    Как Windows определя количеството време, необходимо за извършване на действие с файл?

    "Оставащите време" оценки на Windows са достатъчни, за да подтикнат всеки, който понякога е луд, но се чудили ли сте някога как Windows определя тези времена? Днешната публикация за въпроси и отговори SuperUser има някои отговори за един любопитен, но разочарован, въпрос на читателя.

    Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.

    Windows 8.1 прозорец за прехвърляне на файлове на екрана с любезното съдействие на IM наистина famecore.

    Въпроса

    Четецът на суперпотребител "наистина е славен" иска да знае как Windows определя времето, необходимо за извършване на операция с файл:

    Исках да знам дали има уравнение, което Windows използва, за да определи колко време е необходимо да се извърши действие с файл, като например: изтриване, копиране, изтриване или инсталиране.

    Например, когато изтрия файл и Windows казва Оставащо време: 18 секунди, как се изчислява този номер и какво се използва за изчисляването му?

    Използва ли Windows специалното уравнение, за да определи оставащото време за извършване на операция, или просто дава оценка на "най-доброто предположение"?

    Отговорът

    Сътрудниците на SuperUser Valmiky Arquissandas и Richard имат отговор за нас. На първо място, Valmiky Arquissandas:

    Забелязали ли сте, че обикновено не ви дават никакви оценки през първите няколко секунди?

    Това е така, защото през първите няколко секунди, това просто прави операцията, която трябва да направи. После, след кратък период от време, той знае колко вече е копирал / изтрил / и т.н., и колко време отне. Това ти дава Средната скорост операцията.

    След това разделете оставащите байтове на скоростта и имате времето, необходимо за завършване на операцията.

    Това е математика в началното училище. Ако искате да пътувате на 360 километра, а в края на първата минута сте изминали 1 километър, колко време ще ви отнеме да стигнете до целта си?

    Ами скоростта е 1 км / минута, така че е 60 км / час. 360 км, разделени на 60 км / час, ви дава приблизително време от 6 часа (или 360 км / 1 км / минута = 360 минути = 6 часа). Тъй като вече сте пътували за една минута, очакваното оставащо време е 5 часа и 59 минути.

    Заменете пътуването с копие, км с байтове, и това отговаря на въпроса ви.

    Различните системи имат различни начини за оценяване на времето. Можете да вземете последната минута и оценките могат да варират диво. Или можете да вземете цялото време и ако скоростта действително се промени постоянно, вашите оценки може да са далеч от реалността. Това, което описах, е най-простият метод.

    Следван от отговора на Ричард:

    Ако се интересувате, този въпрос ви казва как Windows и OSX форматират времето, останало в лентата за напредък, след като има представа колко време остава..

    При съкращаване на времеви изрази в диалозите за напредък, те трябва да се закръглят нагоре или надолу?

    Raymond Chen, разработчик от екипа на Windows в Microsoft, потвърждава този алгоритъм (виж отговора на Валмики по-горе) в публикация в блога му. Той също обяснява защо може да е погрешно.

    Защо диалоговият прозорец за копиране дава такива ужасни оценки?


    Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.