2015-10-06 15 views
5

Intendo disporre di una tela FabricJS che visualizzerà potenzialmente dozzine di grafica diversa, che potrebbero essere pubblicate come singoli file di immagine o sprite. Per ogni immagine, è possibile che un particolare grafico venga visualizzato sulla tela 0 a decine di volte. So che FabricJS ha l'abilità clipping, che renderebbe possibile l'uso di sprites, e so che, in generale, gli sprite sul Web sono altamente preferiti rispetto alle singole immagini, come per i CSS.Fabric.js Efficienza di sprite ritagliate rispetto a singole immagini

Tuttavia, ho anche sentito parlare di comportamenti del browser/stranezze che circondano la tela in cui sono presenti alcune ottimizzazioni che si potrebbero verificare, non - Non riesco a trovare il collegamento al momento, ma quello che ricordo era il modo in cui i grandi elementi di contenuto della tela in vista in Chrome richiedevano ancora molto tempo per essere calcolati/"resi", nonostante non fossero rilevanti per l'aspetto sullo schermo.

Quindi, ci sono delle aspettative noti sulla se n immagini non ritagliate individuali sarebbero preferibili/unpreferable ad uno sprite che è ritagliato n volte per una tela FabricJS? Nel caso in cui ciò fosse importante, questa non sarebbe una tela FabricJS fortemente animata; le cose possono spostarsi quando vengono trascinate, ad esempio, ma l'animazione costante non è ciò che è coinvolto in questo caso.

+0

Secondo http://caniuse.com/#feat=canvas non ci sono problemi legati ritaglio (vedi problemi noti scheda). Detto questo penso che dovresti scegliere le tue prime tre piattaforme (chrome, ios e .... android, ad esempio ...) e fare alcuni test delle prestazioni di base. – dsummersl

+1

@dsummersl In modo interessante, caniuse.com menziona un problema di ritaglio in Android; il bug che segnala il link è chiuso come obsoleto senza una risoluzione chiara. – jmq

+0

oh sì, è vero ... leggendo il biglietto sembra che questo sia probabilmente un problema per 1/3 dei browser Android (ospite ruvido totale da http://developer.android.com/about/dashboards/index.html). – dsummersl

risposta

0

Basta fare un test per scoprire cosa rallenta il PC. Dipende dal PC, dal browser e dalla scheda grafica.

Non so nulla di Fabric.js, ma le CPU e le schede grafiche del computer possono gestire facilmente la manipolazione del clipping/grafica. Non stai visualizzando milioni di poligoni come un gioco 3D, quindi dovresti stare bene.

Ecco un sito web che spiega le sprite CSS vs singole immagini di rete di prestazioni aumenta: https://medium.com/parlay-engineering/emoji-at-scale-render-performance-of-css-sprites-vs-individual-images-f0a0a2dd8039

+0

Grazie, ma questa risposta non soddisfa la domanda. Se necessario, posso scrivere i miei test, sì, ma ho chiesto su SO nel caso in cui ci sia una conoscenza adeguata che qualcuno potrebbe condividere da precedenti esperienze o test. Per quanto riguarda il numero di forme, c'è una differenza notevole nella mia esperienza di lavoro con canvas Fabric.js e centinaia o migliaia di elementi, quindi il fatto che non farei milioni di forme non è abbastanza confortante per gli sprite la strada da percorrere – jmq

Problemi correlati