Wie bestimmt Windows die Zeit, die eine Aktion mit einer Datei durchführt?
Die "verbleibende Zeit" für Windows reicht aus, um jemanden verrückt zu machen, aber haben Sie sich jemals gefragt, wie Windows diese Zeiten bestimmt? Der heutige SuperUser-Q & A-Beitrag enthält einige Antworten auf eine neugierige und doch frustrierte Leserfrage.
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Windows 8.1-Dateiübertragungsfenster mit freundlicher Genehmigung von im really famecore.
Die Frage
SuperUser-Leser 'im really famecore' möchte wissen, wie Windows die Zeit festlegt, die ein Vorgang für eine Datei benötigt:
Ich wollte wissen, ob es eine Gleichung gibt, mit der Windows ermittelt, wie lange es dauert, eine Aktion mit einer Datei auszuführen, z. B. Löschen, Kopieren, Löschen oder Installieren.
Zum Beispiel, wenn ich eine Datei lösche und Windows sagt Verbleibende Zeit: 18 Sekunden, Wie berechnet es diese Zahl und wie wird sie berechnet??
Verwendet Windows eine spezielle Gleichung, um die verbleibende Zeit für die Durchführung einer Operation zu bestimmen, oder liefert sie lediglich eine "beste Schätzung"?
Die Antwort
Die SuperUser-Mitwirkenden Valmiky Arquissandas und Richard haben die Antwort für uns. Zunächst, Valmiky Arquissandas:
Ist Ihnen aufgefallen, dass Sie in den ersten Sekunden normalerweise keine Schätzungen erhalten?
Das liegt daran, dass es in den ersten Sekunden nur die Operation ausführt, die es ausführen muss. Nach kurzer Zeit weiß es dann wie viel hat es bereits kopiert / gelöscht / etc, und wie lange hat es gedauert. Das gibt dir die Durchschnittsgeschwindigkeit der Operation.
Teilen Sie dann die verbleibenden Bytes durch die Geschwindigkeit auf, und Sie haben die Zeit, um den Vorgang abzuschließen.
Das ist Grundschulmathematik. Wenn Sie 360 km fahren möchten und am Ende der ersten Minute 1 km zurückgelegt haben, wie lange dauert es, bis Sie Ihr Ziel erreichen?
Nun, die Geschwindigkeit beträgt 1 km / Minute, also 60 km / Stunde. 360 km geteilt durch 60 km / h ergibt eine geschätzte Zeit von 6 Stunden (oder 360 km / 1 km / Minute = 360 Minuten = 6 Stunden). Da Sie bereits eine Minute gereist sind, beträgt die geschätzte verbleibende Zeit 5 Stunden und 59 Minuten.
Ersetzen Sie Reisen durch Kopie, km durch Bytes, und das beantwortet Ihre Frage.
Verschiedene Systeme haben unterschiedliche Möglichkeiten, die Zeit zu schätzen. Sie können die letzte Minute dauern und die Schätzungen können stark variieren. Oder Sie können die volle Zeit in Anspruch nehmen, und wenn sich die Geschwindigkeit tatsächlich permanent ändert, sind Ihre Schätzungen möglicherweise weit von der Realität entfernt. Was ich beschrieben habe, ist die einfachste Methode.
Gefolgt von der Antwort von Richard:
Wenn Sie interessiert sind, erfahren Sie in dieser Frage, wie Windows und OSX die verbleibende Zeit in der Fortschrittsleiste formatieren, sobald sie eine Vorstellung davon hat, wie lange sie noch übrig ist.
Wenn Zeitausdrücke in Fortschrittsdialogen verkürzt werden, sollten sie auf- oder abgerundet werden?
Raymond Chen, Entwickler im Windows-Team von Microsoft, bestätigt diesen Algorithmus (siehe Valmikys Antwort oben) in einem Posting in seinem Blog. Er erklärt auch, warum es falsch sein kann.
Warum gibt der Kopierdialog so schreckliche Schätzungen aus??
Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.