Hacker News

Sprites a ɛwɔ Wɛbsaet no so

Nsɛm a wɔka

17 min read Via www.joshwcomeau.com

Mewayz Team

Editorial Team

Hacker News

Nea enti a Sprites Da so Ho Hia wɔ Nnɛyi Wɛb Nkɔso mu

Wɔ wɛb no mfitiaseɛ nna mu no, na mfonini biara a wɔbisa no yɛ bottleneck. Wɔn a wɔyɛɛ no ​​hunuu sɛ sɛ wɔka mfonini nketewa pii bom yɛ fael baako — sprite krataa — a, ɛbɛtumi atew HTTP abisadeɛ so kɛseɛ na ama krataafa a wɔde fa so no ayɛ ntɛmntɛm. Bere a asase no asesa denam HTTP/2 multiplexing, CDNs, ne vector graphics so no, sprites da so ara yɛ ɔkwan a ɛfata a ɛyɛ nwonwa wɔ afe 2026. Efi CSS mfonini sprites so kosi SVG sɛnkyerɛnne nhyehyɛe ne canvas-based game animations so no, sprite adwene no kɔ so dannan na edi adwumayɛ ho nsɛnnennen ankasa ho dwuma wɔ nnɛyi wɛb no nyinaa so.

Sɛ́ ebia worekyekye SaaS platform a ɛwɔ feature-rich a icons ɔhaha pii wom, browser-based game, anaa marketing site a ɛhia sɛ ɛde load wɔ nea ennu sikani mmienu mu no, sprites nteaseɛ ma wo adwinnadeɛ a tumi wom wɔ wo optimization arsenal mu. Saa asɛm yi hwehwɛ abakɔsɛm, akwan, ne nnɛyi dwumadie a ɛfa sprites ho wɔ wɛb so — ne deɛ enti a ɛnyɛ nea ne bere atwam koraa.

Mfiase Asɛm: CSS Mfonini Sprites

CSS mfonini sprites puei wɔ 2000 mfeɛ no mfimfini sɛ mmuaeɛ tẽẽ ma browser nkitahodiɛ anohyetoɔ. Browsers taa bue nkitahodi 2-6 pɛ bere koro mu wɔ domain biara mu, a ɛkyerɛ sɛ krataafa a ɛwɔ ahyɛnsode nketewa 40 bɛto ntonto mu abisade ahorow na ayɛ stall rendering. Na ano aduru no yɛ fɛ: fa saa ahyɛnsodeɛ no nyinaa bom yɛ PNG anaa GIF fael baako, afei fa CSS akyi-gyinabea di dwuma de kyerɛ mfonini no fã a ɛfa ho nko ara ma element biara.

Nnwumakuw te sɛ Google, Yahoo, ne Amazon faa sprites denneennen. Google agye din sɛ ɛkaa UI ahyɛnsode du du pii boom yɛɛ no ​​sprite krataa biako, na ɛyii milisekɔn ɔhaha pii fii kratafa load mmere mu wɔ nsenia so. Na ɔkwan no yɛ mmerɛw wɔ adwene mu nanso na ɛhwehwɛ sɛ wɔyɛ no pɛpɛɛpɛ — na ahyɛnsode biara hia pixel coordinates pɛpɛɛpɛ, na ahyɛnsode biako a wɔyɛ no foforo no kyerɛ sɛ wɔbɛsan ayɛ krataa no nyinaa.

Nnwinnade te sɛ SpritePad, SpriteMe, ne akyiri yi build-tool plugins ma Grunt ne Gulp yɛɛ adwuma no automated, na ɛmaa mfonini a wɔaka abom ne CSS a ɛne no hyia no nyinaa bae. Wɔ bere a wɔfaa no kɛse no, wobuu sprite nkrataa sɛ adeyɛ a eye sen biara a wontumi nsusuw ho ma wɛb adwuma biara a ɛfa adwumayɛ ho. E-commerce sait a wɔtaa yɛ no betumi atew mfonini abisade 60+ so akɔ fam akodu sprite adesoa 3-4, na ɛbɛtew bere a edi kan a wɔde fa krataafa so no so 30-50%.

SVG Sprites: Vector Ɔsesɛw no

Bere a responsive design gyee tumi na retina displays bɛyɛɛ standard, raster-based PNG sprites daa wɔn anohyeto ahorow adi. Nsɛnkyerɛnnede a na ɛte sɛ nea ɛyɛ crisp wɔ 16×16 wɔ standard display so no daa adi sɛ ɛyɛ kusuu wɔ DPI a ɛkorɔn screen ahorow so. Hyehyɛ SVG sprites — ɔkwan a ɛkaa mfasoɔ a ɛwɔ abisadeɛ-tete so a ɛwɔ atetesɛm sprites mu ne vector graphics a enni ano scalability boom.

SVG sprites yɛ adwuma wɔ ɔkwan soronko so wɔ wɔn raster a edii wɔn anim no ho. Sɛ anka wɔde akyi gyinabea bedi dwuma no, developers kyerɛkyerɛ agyiraehyɛde ahorow pii mu wɔ SVG fael biako mu denam element no so, a emu biara wɔ ID soronko. Afei wɔde ahyɛnsodeɛ kyerɛ saa nsɛnkyerɛnneɛ yi wɔ HTML no mu baabiara, na ɛkyerɛ ahyɛnsodeɛ a wɔakyerɛ no nko ara wɔ kɛseɛ biara a ɛhia mu. Ahyɛnsodeɛ nwomakorabea no nyinaa load sɛ fael baako a wɔtumi de sie, na ahyɛnsodeɛ biara kyerɛ pefee wɔ nsusuiɛ biara mu.

Saa kwan yi bɛyɛɛ sika kɔkɔɔ gyinapɛn ma icon nhyehyɛe wɔ wɛb aplikeshɔn a ɛyɛ den mu. Platforms a ɛhwɛ module akɛseɛ so — te sɛ Mewayz a ɛwɔ ne adwumayɛ module 207 a ɛfa CRM, invoicing, HR, fleet management, ne nea ɛkeka ho — de wɔn ho to SVG sprite nhyehyɛeɛ so kɛseɛ sɛ ɛde iconography a ɛkɔ so daa, a ɛkɔ ntɛmntɛm bɛma wɔ dashboard ne interface biara so. Sɛ wo aplikeshɔn no som 138,000+ dwumadiefoɔ a wɔne nnwinnadeɛ ahodoɔ du du pii di nkitaho da biara a, adwumayɛ mu nsonsonoeɛ a ɛda ankorankoro ahyɛnsodeɛ fael 200 a wɔde bɛhyɛ mu ne SVG sprite baako a wɔayɛ no yie ntam no yɛ nea wɔtumi susu wɔ ahoɔhare ne server ka nyinaa mu.

Sprite Nkrataa a Wɔde Yɛ Wɛb Animation ne Agodie

Wɔ static icons akyi no, sprite nkratafa tumi ma wɛb mu nsɛm no fã kɛse bi: animation. Browser-based games, animated UI elements, ne interactive experiences taa de sprite sheets di dwuma — grids a ɛyɛ frame ahorow a ɛtoatoa so a wɔde kyinhyia fa mu de yɛ nsuo kankan. Saa kwan yi di wɛb no ankasa anim, a egyina atetesɛm animation ne video game hardware a edi kan so.

Wɔ wɛb nsɛm mu no, sprite animation taa yɛ adwuma denam anammɔn a wɔfa frame ahorow mu a wɔde CSS animation a steps() bere anaa JavaScript-driven canvas rendering di dwuma so. A character nantew, loading spinner a ɔwɔ nipasu, anaasɛ exploding particle effect — ne nyinaa betumi ayɛ nea mfonini fael biako a frame biara a wɔahyehyɛ wɔ grid mu na ɛkanyan. Browser no de fael biako pɛ na ɛhyɛ mu, na animation logic no sesa ɔfã bɛn na wotumi hu kɛkɛ.

200KB sprite krataa biako betumi de mfonini 60 a ɛyɛ anigye a ɛyɛ mmerɛw a anka ebehia mfonini adesrɛ ahorow 60 a ɛsono emu biara anaa video fael a ɛsõ sen saa no ama. Wɔ mmeae a ɛho hia wɔ adwumayɛ mu no, sprites da so ara yɛ ɔkwan a etu mpɔn sen biara a wɔfa so de mfonini a egyina frame so ma wɔ wɛb no so.

Agorudi nhyehyɛe te sɛ Phaser, PixiJS, ne Three.js nyinaa ma mmoa a edi kan ma sprite nkrataa, de nnwinnade a wɔde bɛhyɛ texture atlases na wɔahwɛ frame ntoatoaso so ma. Wɔ agodie akyi mpo, afiri akuo de sprite animation di dwuma ma onboarding flows, micro-interactions, ne UI touches a ɛyɛ anigyeɛ a ɛma wɔn a wɔde di dwuma no kɔ so de wɔn ho hyɛ mu a wɔmfa load adwumayɛ mmɔ afɔre.

Nnɛyi Nneɛma a Wɔde Sisi Nneyɛe ne Bere a Sprites Da so ara Di Nkonim

Wɛb nkɔsoɔ akuo no ayɛ akwan foforɔ pii a wɔbɛfa so asi atetesɛm sprites ananmu, a emu biara wɔ aguadi-nkɔsoɔ a ɛfata sɛ wɔte aseɛ. Icon fonts te sɛ Font Awesome bundle icons sɛ font glyphs, ɛma ɛyɛ mmerɛw sɛ wɔde CSS bɛyɛ style nanso ɛde accessibility nsɛm ne rendering quirks ba. Inline SVGs de vector code hyɛ HTML mu tẽẽ, yi abisade foforo fi hɔ nanso ɛma krataa kɛse yɛ kɛse. Fael ankorankoro a wɔde HTTP/2 multiplexing bɛhyɛ mu no yi nkitahodi-anohyeto bottleneck a mfiase no ɛkanyan sprites no fi hɔ, na ɛma fael nketewa pii tumi load bere koro mu.

Enti bere bɛn na sprites da so ara di nkonim? Susuw saa nsɛm yi a sprite akwan da so ara yɛ nea eye sen biara a wɔpaw:

  • Ahyɛnsodeɛ nwomakorabea akɛseɛ (ahyɛnsodeɛ 50+): HTTP/2 mpo no, sprite fael baako a wɔakora so no yɛ adwuma sene ankorankoro abisadeɛ 50+ wɔ wiase ankasa tebea mu a ntwamutam latency ka ho.
  • Frame-based animations: Nnɛyi kwan foforo biara nni hɔ a ɛne sprite nkrataa a ɛyɛ adwuma yiye ma anammɔn-fam animation, titiriw wɔ canvas so.
  • Offline-first ne PWA applications: Sprite fael baako yɛ mmerɛw sɛ wobɛkora so wɔ service worker mu sene ankorankoro agyapade ɔhaha pii.
  • Atwaho a ɛwɔ bandwidth a ɛba fam: Sprite nkrataa a ɛwɔ nhyɛsoɔ a ɛyɛ papa no de payloads nyinaa a ɛyɛ nketewa ma sene fael ankorankoro a ɛne no sɛ ɛnam fael biara so ka a wɔayi afiri hɔ nti.
  • UI dashboards a ɛyɛ den: Application ahorow a ɛkyerɛ nsɛnkyerɛnne soronko du du pii bere koro mu no nya mfaso fi SVG sprite nhyehyɛe bi a ɛyɛ adwuma yiye wɔ parse biako mu.

Gyinaesi no nyɛ binary. Nneɛma a wɔyɛ no pii de ɔkwan a wɔde afrafra di dwuma — SVG sprites ma core UI icons, inline SVGs ma hero mfonini ahorow a ehia CSS animation, ne ankorankoro fael ma mfonini akɛse a wɔntaa mfa nni dwuma. Adeɛ titire ne sɛ wobɛma ɔkwan a wɔfa so yɛ no ahyia ne dwumadie asɛm no sene sɛ wobɛfa ɔkwan baako so ama biribiara.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Sprite Adwumayɛbea a Etu mpɔn a wɔbɛkyekyere wɔ afe 2026 mu

Nnɛyi sprite adwumayɛ nhyehyɛe no nsɛ kɛse biara wɔ nsaano coordinate-mapping nna a ɛbaa afe 2008. Ɛkame ayɛ sɛ nnɛyi nnwinnade no yɛ anammɔn biara a ɛyɛ adwuma ankasa, efi fael a wɔaka abom no a wɔyɛ so kosi koodu a ɛbata ho no a wɔyɛ so. Wɔ SVG sprites ho no, nnwinnadeɛ te sɛ svg-sprite, svgo, ne vite-plugin-svg-icons ka bom tẽẽ kɔ adansi pipelines mu, hwɛ icon directories na ɛsan yɛ sprite fael a wɔayɛ no yie wɔ nsakraeɛ biara so.

Adwumayɛ nhyehyɛe a mfaso wɔ so ma SVG sprites wɔ nnɛyi adwuma bi mu te sɛ eyi:

  1. Sie SVG ahyɛnsodeɛ ankorankoro wɔ daerekta a wɔatu ho ama mu, a wɔde SVGO ayɛ emu biara yie sɛ ɛbɛyi metadata ne su a ɛho nhia.
  2. Hyɛ wo build adwinnade (Vite, Webpack, anaa custom script) sɛ ɛbɛka SVG nyinaa abom ayɛ no sprite fael biako a elements wom.
  3. Fa kyerɛ ahyɛnsodeɛ a ɛwɔ wo nsusuiɛ mu, ma wo HTML ho tew na wo ahyɛnsodeɛ nwomakorabea no nkɔ mfimfini.
  4. Fa cache-busting di dwuma denam content hashing so wɔ fael din mu sɛnea ɛbɛyɛ a brawsa ahorow no bɛhyɛ sprite a aba foforo bere nyinaa wɔ updates akyi.
  5. Hwɛ sprite fael kɛse so — sɛ ɛboro 100KB a, susuw ho sɛ wobɛkyekyɛ mu ayɛ no sprite titiriw ne nea ɛto so abien, lazy-loading set a ɛntaa nsi no.

Wɔ raster sprite nkratafa a wɔde di dwuma wɔ animation mu no, nnwinnade te sɛ TexturePacker ne ShoeBox yɛ nkratafa a wɔayɛ no yiye a JSON atlas fael a ɛka ho a ɛkyerɛkyerɛ frame gyinabea ne ne nsusuwii mu. Agorudi engine ne animation nhomakorabea ahorow di saa atlas fael ahorow yi tẽẽ, na eyi nsaano coordinate management fi hɔ koraa.

Adwumayɛ mu Nkɛntɛnso: Nkontaabu Ankasa a Ɛho Hia

Abstract adwumayɛ ho afotu kyerɛ kakraa bi a enni data pɔtee bi. Nea sprite optimization de ma ankasa wɔ nsɛm a wotumi susuw mu ni. Mfinimfini-a ɛyɛ den dashboard aplikeshɔn a ɛde SVG ahyɛnsodeɛ ankorankoro 80 gu mu no yɛ sikani 1.2 ma ahyɛnsodeɛ-awieɛ nkyerɛaseɛ wɔ 4G nkitahodiɛ so. Sɛ wodan kɔ SVG sprite nhyehyɛe so a, ɛma ɛno so tew kɔ milisekɔn 340 — 72% nkɔso a ɛka mmuae a wosusuw sɛ ɛyɛ tẽẽ.

Nkɛntɛnso no yɛ kɛse wɔ nsenia so. Bere a Mewayz boaboaa ne module iconography ano yɛɛ no ​​SVG sprite nhyehyɛe a wɔayɛ no yiye wɔ n’adwumayɛbea no nyinaa so no, sprite fael biako a wotumi de sie no kyerɛ sɛ module ahorow ntam a wobɛkɔ — efi CRM so kosi invoicing so kosi akatua so — hwehwɛ sɛ wɔbisa icon foforo biara wɔ adesoa a edi kan no akyi. Wɔ dwumadiefoɔ a wɔne nnwinnadeɛ ahodoɔ di nkitaho wɔ wɔn adwuma da nyinaa mu no, yei kyerɛ aseɛ kɔ akwantuo a ɛyɛ ntɛm ne data a wɔde di dwuma a ɛso tew, a ɛsom boɔ titire ma platform no wiase nyinaa dwumadiefoɔ a wɔyɛ adwuma wɔ ntwamutam tebea ahodoɔ mu.

Total transfer size nso ho hia. SVG fael ankorankoro aduɔwɔtwe a ne mu biara yɛ 1.5KB no ma nneɛma 120KB nanso bɛyɛ 40KB a ɛboro HTTP atiri, TLS nkitahodi, ne nkitahodi sohwɛ mu. Sprite fael baako de 120KB koro no ara a ɛyɛ icon content a ɛyɛ anibiannaso overhead — wɔ ɔkwan a etu mpɔn so sie 25% wɔ ne nyinaa transfer mu ma aniwa mu aba koro no ara. Fa eyi dɔɔso wɔ krataafa a wɔhwɛ ɔpepem pii so na bandwidth a wɔkora so no bɛyɛ kɛse.

Sprites Daakye: Nea Ɛreba Akyi

Sprite mfiridwuma kɔ so nya nkɔso wɔ wɛb platform no nkyɛn. CSS @property ne Houdini paint API bue akwan foforo a ebetumi aba ama nhyehyɛe sprite nkyerɛase, baabi a brawsa no yɛ agyapade a ɛte sɛ sprite wɔ runtime a mfonini fael biara nni mu koraa. Saa berɛ yi, AVIF ne WebP sprite nkratafa ma fael akɛseɛ nketewa 30-50% sɛ wɔde toto PNG a ɛne no sɛ ho a, ɛma raster sprites tumi san yɛ adwuma bio ma dwumadie nsɛm pɔtee bi.

View Transitions API a ɛreba no yɛ nhyiamu a ɛyɛ anigyeɛ ne sprite-based animation, ɛma developers kwan ma wɔhyehyɛ aniwa nsakraeɛ a ɛyɛ den a kane no na ɛyɛ JavaScript sprite engine ahodoɔ no domain nko ara. Na bere a WebGPU nyin no, sprite-based rendering wɔ browser games ne data visualizations mu no bɛnya adwumayɛ gyinabea a ɛbɛn native applications.

Sprites nyɛ intanɛt a ɛyɛ brɛoo no nkaedum — ɛyɛ fapem kwan a ɛsakra ma awo ntoatoaso biara a ɛwɔ wɛb mfiridwuma mu. Wɔn a wɔyɛ no a wɔte bere ne ɔkwan a wɔfa so de sprite akwan di dwuma ase, sɛ́ ɛyɛ 200-module adwumayɛ kwan anaasɛ portfolio site a ɛnyɛ den no, de osuahu ahorow a ɛyɛ ntɛmntɛm, a wɔayɛ no fɛfɛɛfɛ bɛmena bere nyinaa. Ebia wɔbɛka mfonini no abom, nanso nkɛntɛnso no yɛ biako: ahoɔhare a wɔn a wɔde di dwuma no te nka wɔ kliki biara mu.

Fa Mewayz Fa Wo Adwuma no Nsiesiei

Mewayz de adwumayɛ module 207 ba platform baako mu — CRM, invoicing, project management, ne nea ɛkeka ho. Kɔka 138,000+ a wɔde di dwuma a wɔmaa wɔn adwumayɛ yɛɛ mmerɛw no ho.

Fi ase Free Ɛnnɛ →

Nsɛmmisa a Wɔtaa Bisa

Dɛn ne CSS sprites na adɛn nti na wɔda so ara de di dwuma wɔ afe 2026 mu?

CSS sprites ka mfonini nketewa pii bom yɛ fael biako, ɛtew HTTP abisade so na ɛma krataafa load bere tu mpɔn. HTTP/2 multiplexing mpo no, sprites da so ara som bo ma icon sets, UI elements, ne graphics a wɔasan ayɛ. Wɔma akwantuo a wɔde kɔ baabiara no so tew, wɔma caching yɛ mmerɛ, na wɔtew fael kɛseɛ nyinaa so denam shared compression so. Platforms te sɛ Mewayz de agyapadeɛ a wɔde ma a ɛyɛ papa di dwuma wɔ wɔn module 207 no nyinaa mu de hwɛ hu sɛ interfaces a ɛyɛ ntɛm, ɛyɛ mmuaeɛ — nnyinasosɛm a ɛne sprite nyansapɛ a ɛne sɛ wɔbɛyɛ pii a abisadeɛ kakraa bi na ɛne no hyia tẽẽ.

Ɔkwan bɛn so na SVG sprite nhyehyɛe ahorow no yɛ soronko wɔ atetesɛm mfonini sprite ahorow ho?

Atetesɛm mfonini sprites de raster fael baako a ɛwɔ CSS background-position di dwuma de kyerɛ mpɔtam pɔtee bi. SVG sprite nhyehyɛe ahorow mmom no boaboa vector agyiraehyɛde ahorow ano kɔ fael biako mu denam elements a wɔde di dwuma, a wɔde tags so kyerɛ. SVG sprites scale pɛpɛɛpɛ wɔ resolution biara mu, ɛboa styling ne CSS, na ɛyɛ fael akɛseɛ nketewa ma graphics a ɛnyɛ den. Wɔyɛ papa ma ahyɛnsodeɛ nwomakorabea, UI afã ahodoɔ, ne mmuaeɛ nhyehyɛɛ a ɛwɔ baabi a nkyerɛaseɛ a ɛyɛ pefee wɔ mfiri ahodoɔ so ho hia sene mfonini mu nsɛm.

So sprites da so ara fata sɛ wɔde di dwuma ne nnɛyi CDN ne HTTP/2?

Yiw, ɛwom sɛ calculus no asesa de. HTTP/2 multiplexing brɛ asotwe a ɛwɔ abisadeɛ pii mu ase, nanso sprites da so ara de mfasoɔ ma: DNS hwehwɛ kakraa bi, caching a wɔaboaboa ano, ne overhead bytes nyinaa a wɔatew so. Wɔ nnwuma a ɛwɔ ahyɛnsodeɛ nketewa anaa UI nneɛma du du pii no, sprite krataa anaa SVG agyiraeɛ fael a wɔahyehyɛ no yie kɔ so yɛ adwuma yie sene sɛ wode ankorankoro agyapadeɛ bɛhyɛ mu. Adeɛ titire ne sɛ wobɛsɔ wo dwumadie pɔtee no ahwɛ — nkratafa a nnipa pii kɔ so ne osuahu a ɛdi kan wɔ mobile so da so ara nya mfasoɔ kɛseɛ firi sprite-based optimization.

So wobetumi de sprites adi dwuma ama wɛb agodie animations?

Ɛyɛ saa koraa. Canvas-based ne WebGL agodie de wɔn ho to sprite nkrataa so kɛse ma character animations, tilesets, ne particle effects. Game engine te sɛ Phaser ne PixiJS de sprite atlases di dwuma de batch draw calls na ɛma rendering adwumayɛ yɛ kɛse. Wɔahyehyɛ animation bi frame biara wɔ grid mu, na engine no kyinhyia fa mmeae ahorow wɔ bere a wɔahyɛ mu. Sɛ worekyekye nkitahodi osuahu anaa gamified features — biribi a nnwuma a ɛwɔ Mewayz betumi ahwehwɛ mu afi ase fi $19/mo — sprite animation yɛ fapem kwan.