Une animation gif n'est pas gérée en fonction de données, c'est une simple image donc que ton loader mette une heure ou 3 secondes à être à 100%, l'animation restera la même, le plus simple est d'utiliser javascript je pense, en calculant le nombre de bytes chargées et d'effectuer une animation qui augmente la largeur d'une image en fonction de l'avancement.
Bonne chance !