Para decirlo sin rodeos Digamos que se carga del 0% al 100%. Calcularía el tiempo que se tarda en cargar una determinada cantidad (como el 1%, por ejemplo. En realidad, es un número mucho menor que eso) y luego utiliza las matemáticas para calcular cuánto tiempo tarda en llegar al 100% (es decir, el tiempo que tardó ese 1% x 100). En realidad, está haciendo constantemente este cálculo a medida que se va cargando, por lo que mantiene el tiempo exacto.
Sin embargo, hay muchas cosas que pueden afectar al tiempo que tarda en cargarse nuestro porcentaje. Una carga a través de USB es más lenta que a través de un enchufe, y jugar a un juego o ver vídeos divertidos de gatos en youtube en 1080p va a ralentizar mucho la velocidad de carga.