Je voulais savoir s'il y a une équation que Windows utilise pour déterminer combien de temps il faut pour effectuer une action sur un fichier, par exemple supprimer, copier, effacer ou installer.
Par exemple, lorsque je supprime un fichier et que Windows indique «Temps restant: 18 secondes», comment calcule-t-il ce nombre et comment?
windows
file-transfer
file-management
yuritsuki
la source
la source
timeLeft = random(1,100);
Réponses:
Avez-vous remarqué qu'en général, cela ne vous donne aucune estimation dans les premières secondes?
C'est parce que dans les premières secondes, il fait juste l'opération qu'il doit faire. Puis, après un (petit) moment, il sait combien il a déjà copié / supprimé / etc , et combien de temps cela a pris . Cela vous donne la vitesse moyenne de l'opération.
Ensuite, divisez les octets restants par la vitesse, et vous aurez le temps qu'il faudra pour terminer l'opération.
Ce sont les mathématiques du primaire. Si vous voulez parcourir 360 km et à la fin de la première minute que vous avez parcouru 1 km, combien vous faudra-t-il pour arriver à destination?
Eh bien, la vitesse est de 1 km / minute. C'est 60 km / h. 360 km divisé par 60 km / h vous donne 6 heures (ou 360 km / 1 km / minute = 360 minutes = 6 heures). Puisque vous avez déjà voyagé pendant une minute, le temps estimé restant est de 5 heures et 59 minutes.
Remplacez "travel" par "copy" et "km" par "bytes" et c'est votre question.
Différents systèmes ont différentes manières d'estimer le temps. Vous pouvez prendre la dernière minute, et les estimations peuvent varier énormément, ou vous pouvez prendre tout le temps, et si la vitesse change réellement de façon permanente, vos estimations peuvent être loin de la réalité. Ce que j'ai décrit est la méthode la plus simple.
la source
1%
cela prendtime so far * rand[0 - 10]
lors de l'affichagefew seconds left
répondre avec une simple multiplication croisée est terriblement condescendant Je pense, je suis sûr qu'il le savait déjà, c'est ainsi que nous estimons constamment les choses dans notre tête.
Le problème avec les barres de progression de l'opération de fichier est qu'il n'est correct que pour des données uniformes, donc si vous copiez 100 fichiers qui ont tous la même taille et que votre lecteur ne fait rien d'autre, la progression estimée sera exacte, mais que se passera-t-il si le premier 99 fichiers étaient de petits fichiers txt et le dernier est un gros fichier vidéo? La progression sera WAY off.
Ce problème est encore accru lorsque vous ne gérez pas des fichiers dans un dossier, mais plusieurs sous-dossiers. Supposons que vous ayez 5 sous-dossiers et que vous souhaitez les supprimer (la taille n'a alors pas beaucoup d'importance dans ce cas), les 4 premiers dossiers ne contiennent que moins de 10 fichiers, donc au moment où l'opération arrive au 5e dossier, il pense qu'il s'agit 80% fait, et le 5ème dossier de boom contient 5000 fichiers et votre progression revient à 1%
WinXP a essayé de contourner ce problème en comptant le nombre de fichiers au préalable, ce qui signifie que lorsque le dossier n'était pas indexé dans Windows, selon le nombre de fichiers, XP n'a pas vraiment commencé l'opération pendant les 20 premières secondes (temps nécessaire pour comte) qui a rendu tout le monde furieux.
Donc, même si je n'ai pas non plus de connaissances particulières sur la façon dont Windows le fait (mais qu'y a-t-il d'autre que le comptage des fichiers et des octets), j'espère pouvoir illustrer pourquoi il est défectueux et pourquoi il ne sera jamais parfait.
Le mieux que vous puissiez faire serait de ne pas compter uniquement sur le nombre de fichiers OU le nombre de bytec, mais de construire une moyenne sur les deux.
Ou si vous vouliez devenir encore plus fou, le système d'exploitation pourrait démarrer une base de données sur le temps passé par ces opérations sur votre machine et en tenir compte dans l'équation.
Réflexion finale: si quelqu'un pensait à un système de fichiers qui permettrait au système d'exploitation de connaître la taille de chaque dossier, sans le calculer au préalable, vous obtiendriez au moins une estimation de progression correcte lors de la suppression de dossiers entiers et pas seulement de certaines parties.
la source