Immagina di costruire Google Maps per una grande planimetria di un edificio con 3000 stanze.SVG rect vs div vs canvas
Ho bisogno di visualizzare fino a 3000 rettangoli (il migliore sarebbe anche essere in grado di renderizzare poligoni casuali, ma a questo punto, questo non è il problema più grande). Ognuno di essi dovrebbe avere eventi collegati come mouseover e click che avranno effetti su altri dom sulla pagina. Devo anche essere in grado di ingrandire e rimpicciolire.
So di poterlo fare con SVG (Raphael.js), semplice rendering div o canvas.
Mi chiedo se qualcuno ha raccomandazioni specifiche da fare per quello che sto cercando di costruire. Deve eseguire il rendering abbastanza velocemente (circa 1 secondo circa) sui browser più lenti. (IE8, Firefox 3.6 e, auspicabilmente, IE7, anche se non sto sognando troppo ...)
Grazie per l'aiuto, Nicolas.
PS: Finora, ho sperimentato che il rendering di 3000 rettangoli richiede fino a 7 secondi su IE8 con Raphael.js, che è piuttosto lento. Sembra anche che rendere semplice div è fino a 6 volte più veloce su IE8.
Grazie per la risposta utile! Un rapido commento però. Su IE8 e IE7, sembra che il rendering di quelle 3000 forme (il 75% sono rettangoli) sia molto più veloce con excanvas di SVG. (excanvas è stato un rendering quasi altrettanto veloce di quei rettangoli che se avessi usato semplici div, che è 4-6 volte più veloce di SVG). Stai dicendo che diventerà molto più lento se/quando aggiungo animazioni e eventi di hover/click o che in realtà dovrebbe essere sempre più lento? Grazie ancora! –