i tempi di risposta sono corretti: considera che l'immagine da visualizzare è di oltre 900 kb è un certo tempo viene perso nel rendering e nel ridimensionamento dell'immagine da parte del browser

inoltre la classe è già strutturata per rilevare il contenuto in cache. Anche questo rilevamento impiega un certo tempo (trascurabile, passa subito allo status 4) ma non hai altro modo di stabilire se un file sia in cache o meno (con js)

Inoltre hai il vantaggio di fare preload non solo di immagini