Hallo,
Voor mijn website houd ik bij hoe vaak een bepaalde pagina / hoofdstuk is bezocht.
Die 'scores' laat ik - letterlijk - terugkomen in een score-board, dat ook inzichtelijk is voor de site-bezoeker.
Elk hoofdstuk heeft binnen de website zijn / haar eigen 'mascotte' - een soort hoofd van een persoon, waarbij de overheersende kleur van deze mascotte ook het kleur-schema van het gekoppelde hoofdstuk bepaalt.
Het score-board is een afbeelding en bestaat uit een standaard podium [met plaats voor de nummer één, twee en drie] en de hoofden van de mascottes.
Om het aantal http-requests te beperken, heb ik de acht losse afbeeldingen [zeven hoofden - voor elk hoofdstuk dus één hoofd - en het podium zelf] samengevoegd in een sprite (rode achtergrond is nep);

De scores zelf worden bijgehouden in een tekstbestandje, en via een geschreven XML-parser en een eenvoudig PHP-scriptje omgezet naar bruikbare codes. Deze codes bestaan vooral uit het dynamisch renderen van wat DIV'jes met daarin de hoofden van de drie 'winnaars'. De coördinaten van de sprite binnen het DIV'je worden weer gekoppeld aan het winnende hoofdstuk en een standaard offset op de X- en de Y-as.
In principe werkt het allemaal goed, en kan ik dus alle mogelijke 'winnaars' laten zien in alle mogelijke combinaties, met telkens dezelfde achtergrond - waarbij ik gebruik maak van slechts één afbeelding;

Doordat de hoofden echter semi-transparant zijn en ik sowieso vrijheid wil hebben qua positionering van de hoofden op het podium, heb ik er voor gekozen van de gehele sprite een .PNG afbeelding te maken.
De volledige sprite is nu echter iets van 250 kB groot [7 hoofden, 1 podium] en dus kan ik alles met slechts één http-request inladen, in plaats van acht losse.
Zou ik echter een .PNG sprite maken van alléén de hoofden [7 stuks] en een losse .JPG afbeelding van de achtergrond, dan zit ik op twee http-requests en slechts 150 kB.
De achtergrond [het podium] is als .PNG dus 100 kB zwaarder, dan als .JPG bestand [wat logisch is, gezien de codec en de honingraat-compressie van een .JPG bestand].
Wat is nu dan wijsheid? Alles als één .PNG opslaan - met als voordeel dat je maar één http-request hebt als iemand het score-board oproept? Of één .PNG voor de hoofden en één .JPG voor het podium, wat een http-request extra kost, maar wel 100 kB bespaard in bandbreedte...
Het gaat niet eens om die 100 kB - maar meer om het principe; wat is wijsheid - in deze kwestie...
Voor mijn website houd ik bij hoe vaak een bepaalde pagina / hoofdstuk is bezocht.
Die 'scores' laat ik - letterlijk - terugkomen in een score-board, dat ook inzichtelijk is voor de site-bezoeker.
Elk hoofdstuk heeft binnen de website zijn / haar eigen 'mascotte' - een soort hoofd van een persoon, waarbij de overheersende kleur van deze mascotte ook het kleur-schema van het gekoppelde hoofdstuk bepaalt.
Het score-board is een afbeelding en bestaat uit een standaard podium [met plaats voor de nummer één, twee en drie] en de hoofden van de mascottes.
Om het aantal http-requests te beperken, heb ik de acht losse afbeeldingen [zeven hoofden - voor elk hoofdstuk dus één hoofd - en het podium zelf] samengevoegd in een sprite (rode achtergrond is nep);

De scores zelf worden bijgehouden in een tekstbestandje, en via een geschreven XML-parser en een eenvoudig PHP-scriptje omgezet naar bruikbare codes. Deze codes bestaan vooral uit het dynamisch renderen van wat DIV'jes met daarin de hoofden van de drie 'winnaars'. De coördinaten van de sprite binnen het DIV'je worden weer gekoppeld aan het winnende hoofdstuk en een standaard offset op de X- en de Y-as.
In principe werkt het allemaal goed, en kan ik dus alle mogelijke 'winnaars' laten zien in alle mogelijke combinaties, met telkens dezelfde achtergrond - waarbij ik gebruik maak van slechts één afbeelding;

Doordat de hoofden echter semi-transparant zijn en ik sowieso vrijheid wil hebben qua positionering van de hoofden op het podium, heb ik er voor gekozen van de gehele sprite een .PNG afbeelding te maken.
De volledige sprite is nu echter iets van 250 kB groot [7 hoofden, 1 podium] en dus kan ik alles met slechts één http-request inladen, in plaats van acht losse.
Zou ik echter een .PNG sprite maken van alléén de hoofden [7 stuks] en een losse .JPG afbeelding van de achtergrond, dan zit ik op twee http-requests en slechts 150 kB.
De achtergrond [het podium] is als .PNG dus 100 kB zwaarder, dan als .JPG bestand [wat logisch is, gezien de codec en de honingraat-compressie van een .JPG bestand].
Wat is nu dan wijsheid? Alles als één .PNG opslaan - met als voordeel dat je maar één http-request hebt als iemand het score-board oproept? Of één .PNG voor de hoofden en één .JPG voor het podium, wat een http-request extra kost, maar wel 100 kB bespaard in bandbreedte...
Het gaat niet eens om die 100 kB - maar meer om het principe; wat is wijsheid - in deze kwestie...