Esto sucede cuando se realiza la descarga a través de un script, que lee el archivo y envia la salida al navegador. Si a este script no se le agregan las cabeceras correspondientes, el navegador no tiene forma de saber el tamaño total y así hacer el cálculo de tiempo.
Como mínimo tendrías que tener estas cabeceras:
Código:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: private");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$filename");
header("Accept-Ranges: bytes");
header("Content-Length: $download_size");
Reemplaza las variables $filename y $download_size por su valor correspondiente.
Un saludo!