2011-12-02 13 views
14

Se c'è uno sfondo unidimensionale che viene ripetuto su una certa dimensione, c'è una differenza notevole nelle prestazioni se l'immagine è ad es. 1px wide contro 10 o 20 pixel wide?Gli sfondi ripetuti in html sono più efficienti se sono più grandi di 1px?

+0

Buona domanda. Non ho mai usato immagini di 1px e, nella mia esperienza, il file non diventa molto più grande, quindi non vedo perché non dovrei usare le immagini 10px. – Gerben

+0

Qualcuno qui http://forums.devshed.com/css-help-116/background-repeat-efficiency-276824.html è citato come dicendo: –

+4

"Questo è un argomento a cui ho dato uno studio molto superficiale. considerare il peso della tara dell'intestazione della risposta del server e l'intestazione dell'immagine stessa.Ad esempio, un file jpg 1 × 1 (generato da GIMP) di colore solido n. 808080 è la dimensione del file 334. A 200 × 5, la dimensione del file è 352 byte Per un aumento di 18 byte ((352 + dimensione intestazione server) ÷ (334 + dimensione intestazione server) × 100 = aumento percentuale larghezza di banda), il carico di piastrellatura client è ridotto di tre ordini di grandezza La mia opinione è che non c'è alcun beneficio significativo ottenuto riducendo le dimensioni del file immagine a meno di 1 KB. YMMV. " –

risposta

3

Immagino tu intenda uno sfondo bidimensionale.

Non riesco a immaginare che ci siano differenze evidenti nei computer moderni. Tuttavia, poiché la larghezza di banda è ancora di qualità premium, specialmente sui dispositivi mobili, penso che sarebbe meglio conservare la larghezza di banda ripetendo un'immagine a larghezza 1px invece di dire 2 o 3 pixel di larghezza.

AGGIORNAMENTO: Abbiamo appena finito un test, non scientifico, ma certamente percettivamente rilevanti, in cui una pagina reso un quadrato verde 10px nel corso di un div piazza 10,000,000px, e un'altra pagina reso un quadrato verde 1px rispetto allo stesso div dimensioni. Tutti gli stili sono impostati con CSS, entrambe le pagine non hanno altri contenuti. La grafica è stata caricata localmente. Non c'era assolutamente alcuna differenza percettiva nel rendering in Safari 5 per Mac o in FireFox 8 per Mac. Tuttavia, è possibile che potrebbero esserci problemi di prestazioni su alcuni modelli di smartphone più vecchi (crappier).

+0

Benvenuti in Stack Overflow Greg! ;) Beh, certo, tutte le immagini sono tecnicamente bidimensionali, ciò che intendo per una dimensione è che l'immagine varia solo su una dimensione, e quindi la larghezza (o altezza) dell'altra dimensione è irrilevante. – devios1

0

Probabilmente non noterete una differenza tra un'immagine di sfondo larga 1px contro 20px, anche se ce ne sarà una. È solo la differenza nella dimensione del file che devi scaricare che vedresti. Più grande è l'immagine, più grande è la dimensione del file, quindi ci vorrebbe una frazione di tempo per il download iniziale. Una volta inserito, non noterai alcuna differenza.

Problemi correlati