Ho un'immagine statica 500x640 seduto in una cartella di 20x20 pezzi con sprite css, sto impostando la posizione di sfondo per visualizzare ogni pezzo, ho bisogno di un tale tipo di display per poter manipolare ogni pezzo in un secondo momento.Prestazioni CSS Sprites
css:
.piece
{
width: 20px;
height: 20px;
display: inline-block;
//display: inline;
//zoom:1;
}
.ob { background-image: url("/Images/ob.jpg");}
js:
<script id="flipTemplate" type="text/html">
<div class="piece ob" data-bind="style: { backgroundPosition: viewModel.getLeftValue($index) + ' ' + viewModel.getTopValue($index) }, attr: {cond: Cond, id: Id }, click: viewModel.setClick ">
</div>
</script>
<script type="text/javascript">
viewModel = {
flips: ko.observableArray([]),
setClick: function (data, e) {
e.preventDefault();
//doing click
},
getLeftValue: function (index) {
var position = 0;
var currentLine = div(index(), 25);
if (currentLine > 0)
return '-' + (index() - (currentLine * 25)) * 20 + 'px';
else
return '-' + index() * 20 + 'px';
},
getTopValue: function (index) {
return '-' + (div(index(), 25)) * 20 + 'px';
}
};
ko.applyBindings(viewModel);
</script>
function div(val, by){
return (val - val % by)/by;
}
Così sto avendo alcuni problemi di prestazioni. Per esempio in Opera e FF immagini loading molto rapidamente circa 1 secondo, in IE circa 3 secondi, ma in Chrome si sta caricando molto lento
sta prendendo circa 17 secondi per visualizzare tutti i pezzi in Chrome ...
Browser facendo solo una richiesta per ottenere l'immagine e di tagliare piccoli pezzi da esso, perché potrebbe richiedere così tanto tempo in Chrome?
C'è un modo per migliorare le prestazioni?
appena fatto CTRL + Aggiorna e qui strano risultato di carico:
UPDATE: Ho appena messo un campione qui: http://bit.ly/TrcCdp
UPDATE: Nel mio esempio C'è Array JSON, contiene 800 elementi, quindi ho scoperto che se lo faccio di meno, ad es. 600-700 elementi le prestazioni stanno migliorando, ma ho comunque bisogno di 800 elementi.
per esempio quando c'è solo 600 elementi è riducendo il carico in Chrome per circa 6 sec ....
Quindi, probabilmente può essere il problema da qualche parte nel punto in cui l'iterazione ko modello?
Scusa, l'immagine è un po 'piccola. Quanto è grande il tuo sprite? – canon
È riproducibile? – SLaks
@canon se fai clic con il tasto destro sull'immagine e premi Apri si aprirà in dimensioni reali (http://i.stack.imgur.com/WGdAr.jpg). Il mio sprite è 83.78kb. – Kuncevic