tengo imagen estática 500x640 sentado en la carpeta catted por 20x20 piezas con sprites CSS, me he fijado background-position para mostrar cada pieza, necesito este tipo de pantalla para que sea capaz de manipular con cada pieza posterior.CSS Sprites de rendimiento
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;
}
Así que estoy teniendo algunos problemas de rendimiento. Por ejemplo, en imágenes Opera y FF carga muy rápidamente alrededor de 1 seg, en IE unos 3 segundos, pero en Chrome se está cargando muy lento
que está tomando alrededor de 17 segundos para mostrar todas las piezas en Chrome ...
navegador haciendo sólo una solicitud para obtener la imagen y de cortar pequeños trozos de ella, por lo que puede tardar tanto tiempo en Chrome?
¿Hay alguna manera puedo mejorar el rendimiento?
acaba de hacer CTRL + Actualizar y aquí extraña consecuencia de carga:
ACTUALIZACIÓN: que acaba de colocar una muestra aquí: http://bit.ly/TrcCdp
ACTUALIZACIÓN: En mi muestra no es JSON array, contiene 800 elementos, así que solo sé si lo hago menos; por ejemplo, entre 600 y 700 elementos, el rendimiento es cada vez mejor, pero de todos modos necesito 800 elementos.
por ejemplo cuando sólo hay 600 elementos que se reduce la carga en Chrome a aproximadamente 6 segundos ....
Así que probablemente puede ser el problema en alguna parte en el punto donde la iteración nocaut plantilla?
Disculpe, la imagen es un poco pequeña. ¿Qué tan grande es tu sprite? – canon
¿Eso es reproducible? – SLaks
@canon si hace clic derecho en la imagen y presiona abrir, se abrirá en tamaño real (http://i.stack.imgur.com/WGdAr.jpg). Mi sprite es 83.78kb. – Kuncevic