Ciao stò facendo delle prove con una funzione che dovrebbe farmi un preloading di alcune immagini che voglio usare in una pagine con un canvas.
Ho visto delle differenze nei tempi di caricamento delle immagini, non so se dipende dai brawser o dalla mia funzione che si potrebbe migliorare.
la mia funzzione è questa:
codice:
var listaCarte = [
"img/1B.jpg", "img/2B.jpg", "img/3B.jpg", "img/4B.jpg", "img/5B.jpg",
"img/6B.jpg", "img/7B.jpg", "img/8B.jpg", "img/9B.jpg", "img/10B.jpg",

"img/1C.jpg", "img/2C.jpg", "img/3C.jpg", "img/4C.jpg", "img/5C.jpg",
"img/6C.jpg", "img/7C.jpg", "img/8C.jpg", "img/9C.jpg", "img/10C.jpg",

"img/1D.jpg", "img/2D.jpg", "img/3D.jpg", "img/4D.jpg", "img/5D.jpg",
"img/6D.jpg", "img/7D.jpg", "img/8D.jpg", "img/9D.jpg", "img/10D.jpg",

"img/1S.jpg", "img/2S.jpg", "img/3S.jpg", "img/4S.jpg", "img/5S.jpg",
"img/6S.jpg", "img/7S.jpg", "img/8S.jpg", "img/9S.jpg", "img/10S.jpg" 
];
var conteggioCarte;
var immaginiCarte = [];
var tempi = [];

function caricaCarte(arrayCarte){
    conteggioCarte = 0;
    var d1 = new Date();

    function inserisciImmagine(){
        if(conteggioCarte < arrayCarte.length){
            var immagineTemporaneaCarta = new Image();
                immagineTemporaneaCarta.onload = function(){
                immaginiCarte.push(immagineTemporaneaCarta);
                console.log("Carta caricata n: " + conteggioCarte);
            }
            immagineTemporaneaCarta.src = arrayCarte[conteggioCarte];
            conteggioCarte++;
            var tempd = new Date();
            tempi.push(tempd - d2);
            d2 = tempd;
            inserisciImmagine();
        }else{
            console.log("Fine caricamento carte");
            var tempd = new Date();
            tempi.push(tempd - d1);
        }
    }
    var d2 = new Date();
    inserisciImmagine();

}
ho provato con Chrome e i tempi sono questi:
tempiChrome.jpg
poi con firefox:
tempiFirefox.jpg
ed explorer:
tempiExplorer.jpg

Firefox sembra il più lento, ho fatto varie prove ma i risultati sono sempre simili a questi.

Secondo vuoi posso migliorare la mia funzione?