2009-06-19 4 views
1

Wenn wir Dateien in Windows kopieren, erhalten wir eine erwartete Zeit der Fertigstellung. Ist diese Zeit die beste Zeit oder die schlechteste Zeit? Nimmst du auch die Umweltvariablen an?Wird die erwartete Zeit beim Kopieren der Datei die beste Zeit oder die schlechteste Zeit angezeigt?

+11

Aus meiner Erfahrung kommt die erwartete Zeit von einem Zufallszahlengenerator. – balpha

+1

Ich würde auch sagen, dass ich glaube, es war noch nie im Entferntesten genau. – scunliffe

Antwort

0

Wenn Sie eine solche Funktion implementieren, lassen Fortschrittsbalken Quicky bis 90% wachsen. Dann können Sie echte Arbeit leisten, egal wie lange es dauern wird. User Experience wird viel besser sein als den aktuellen Fortschritt zu zeigen ;-)

+0

Richtig, ich denke, ich kenne einige Anwendungen, die es so machen! – Treb

0

Ich kann nur raten, wie die Zeit berechnet wird. Aber viele Stunden damit verbracht, das Kopieren Fenster beobachten und zu sehen, wie die Zeitschätzung Änderungen, hier ist meine beste Schätzung:

  • Windows ist eine Liste aller Dateien zu halten
  • kopiert wird Es ist die Verfolgung der Zeit und die Anzahl der Dateien, die bereits kopiert
  • Die verbleibende Zeit wird wie folgt berechnet:
    • Durchschnittliche Zeit pro Datei bisher = Zeit vergangen bisher/Dateien bereits kopiert
    • Geschätzte Zeit für alle Dateien benötigt = avg Zeit pro Datei * Anzahl der Dateien.

Die Berechnung nach einer festgelegten Zeitspanne wiederholt vergangen ist (vielleicht 5 Sekunden, vielleicht 30?)

Es ist wahrscheinlich ein wenig komplexe, die ich oben erklärt, nehme ich an, dass die Größe der Datei, die gerade kopiert wird, und der Prozentsatz, der kopiert wurde, geht ebenfalls in die Berechnung ein. Das würde erklären, warum wir eine Schätzung sehen, wenn nur eine Datei kopiert wird ;-).

Also, in einer direkten Antwort auf Ihre Frage: Es ist weder die beste noch die schlechteste Zeit, es ist nur eine sehr schwache Schätzung, die umso weniger genau ist, je mehr die Dateigrößen voneinander unterscheiden.

Oder mit anderen Worten: Es war wahrscheinlich der schnellste Weg (in Bezug auf schnelle Programmierung, sowie niedrige CPU-Auslastung beim Laufen), dass ein Programmierer daran denken könnte, dass ein spezifiziertes Feature implementiert wurde. Ich wäre nicht überrascht, wenn es an einem Freitagnachmittag codiert wäre ...