Imagine la construcción de Google Maps para una gran planta con 3000 habitaciones.SVG rect vs div vs canvas
Necesito mostrar hasta 3000 rectángulos (lo mejor sería también poder representar polígonos aleatorios, pero en este punto, este no es el mayor problema). Cada uno de ellos debe tener eventos adjuntos, como mouseover y clic que tendrán algunos efectos en otros elementos dom en la página. También necesito poder acercar y alejar.
Sé que puedo hacerlo con SVG (Raphael.js), renderizado divs liso o lienzo.
Me pregunto si alguien tiene recomendaciones específicas para lo que estoy tratando de construir. Necesita procesarse lo suficientemente rápido (alrededor de 1 segundo o menos) en los navegadores más lentos. (IE8, Firefox 3.6 y es de esperar IE7, a pesar de que no estoy soñando demasiado ...)
Gracias por la ayuda, Nicolas.
PD: Hasta ahora, he experimentado que renderizar 3000 rectángulos toma hasta 7 segundos en IE8 con Raphael.js, que es bastante lento. También parece que renderizar div simple es hasta 6 veces más rápido en IE8.
¡Gracias por la respuesta útil! Un comentario rápido sin embargo. En IE8 e IE7, parece que renderizar esas 3000 formas (75% son rectángulos) fue mucho más rápido con excanvas que con SVG. (Excanvas era casi tan rápido como renderizar esos rectángulos que si usaba divs simples, que es 4-6 veces más rápido que SVG). ¿Estás diciendo que va a ser mucho más lento si/cuando agrego animación y cierro/clic en eventos o que siempre debería ser más lento? ¡Gracias de nuevo! –