<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>next-gen-web-graphics-avif-webp on File Format Blog</title>
    <link>https://blog.fileformat.com/ms/tag/next-gen-web-graphics-avif-webp/</link>
    <description>Recent content in next-gen-web-graphics-avif-webp on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ms</language>
    <lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/ms/tag/next-gen-web-graphics-avif-webp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cara Meningkatkan Kelajuan Laman dengan AVIF dan WebP: Panduan Lengkap</title>
      <link>https://blog.fileformat.com/ms/images/next-gen-web-graphics-avif-webp/</link>
      <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/ms/images/next-gen-web-graphics-avif-webp/</guid>
      <description>Ketahui bagaimana menukar JPEG/PNG kepada AVIF dan WebP boleh mengurangkan saiz imej sehingga 80%. Tingkatkan LCP anda, naikkan kedudukan SEO, dan laksanakan fallback mudah hari ini.</description>
      <content:encoded><![CDATA[<p><strong>TL;DR</strong> – Menukar JPEG/PNG kepada AVIF (atau WebP jika AVIF tidak disokong) boleh mengurangkan <strong>30‑80 %</strong> saiz imej, memendekkan LCP sehingga <strong>0.5 s</strong>, dan meningkatkan SEO tanpa sebarang kompromi visual. Satu fallback <code>&lt;picture&gt;</code> ringkas atau peraturan header <code>Accept</code> dapat melakukannya dalam beberapa minit, dan kebanyakan CDN boleh melakukan kerja berat secara automatik.</p>
<hr>
<h2 id="mengapa-format-imej-nextgen-penting-sekarang">Mengapa format imej “next‑gen” penting sekarang</h2>
<p>Setiap milisaat penting di web. Kajian dari Akamai dan Google menunjukkan bahawa <strong>100 ms yang dijimatkan bersamaan dengan peningkatan pendapatan 1‑2 %</strong> untuk laman e‑commerce. Imej merupakan penyumbang terbesar pada halaman tipikal – <strong>&gt; 60 % daripada jumlah bait</strong> (HTTP Archive, 2024).</p>
<p>Masuklah AVIF dan WebP. Kedua‑duanya menjanjikan <strong>fail 30‑80 % lebih kecil</strong> berbanding JPEG/PNG lama sambil mengekalkan kualiti visual yang tidak dapat dibezakan oleh mata manusia. Manfaatnya serta‑merta:</p>
<ul>
<li><strong>Jalur lebar lebih rendah</strong> → pelan data lebih murah untuk pengguna mudah alih.</li>
<li><strong>Muat turun halaman lebih cepat</strong> → Core Web Vitals yang lebih baik, kedudukan Google yang lebih tinggi.</li>
<li><strong>Beban pelayan berkurang</strong> → jejak cache lebih kecil, bil CDN lebih murah.</li>
</ul>
<p>Jika anda sudah mengoptimumkan CSS/JS, pemampatan imej adalah buah yang mudah dipetik yang memberikan ROI terbesar.</p>
<h2 id="avif-vs-webp--perbandingan-ringkas">AVIF vs. WebP – perbandingan ringkas</h2>
<table>
<thead>
<tr>
<th>Ciri</th>
<th><strong>AVIF</strong></th>
<th><strong>WebP</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Asal</strong></td>
<td>Berasaskan AV1 (ISO/IEC 23000‑22, 2020)</td>
<td>Format berasaskan VP8 oleh Google (2010)</td>
</tr>
<tr>
<td><strong>Pemampatan</strong></td>
<td>Lossy &amp; lossless (kedua‑duanya berasaskan AV1), alpha, HDR (10‑bit)</td>
<td>Lossy (VP8), lossless, alpha, animasi</td>
</tr>
<tr>
<td><strong>Kedalaman bit</strong></td>
<td>8‑bit &amp; 10‑bit (HDR)</td>
<td>hanya 8‑bit</td>
</tr>
<tr>
<td><strong>Kemenangan saiz tipikal berbanding JPEG</strong></td>
<td>45‑65 % lebih kecil (lossy)</td>
<td>25‑35 % lebih kecil (lossy)</td>
</tr>
<tr>
<td><strong>Kemenangan saiz tipikal berbanding PNG</strong></td>
<td>50‑70 % lebih kecil (lossless)</td>
<td>30‑45 % lebih kecil (lossless)</td>
</tr>
<tr>
<td><strong>Penyahkodan perkakasan</strong></td>
<td>Sokongan GPU yang semakin meningkat (Intel Xe, AMD, ARM Mali)</td>
<td>Asli pada kebanyakan CPU/GPU; pecutan perkakasan pada Android, Chrome, Safari iOS 16+</td>
</tr>
<tr>
<td><strong>Animasi</strong></td>
<td>AVIF‑A (eksperimental)</td>
<td>WebP‑A (stabil, banyak digunakan)</td>
</tr>
<tr>
<td><strong>Liputan pelayar (Apr 2026)</strong></td>
<td>Chrome 85+, Edge 85+, Firefox 93+, Safari 16.4+, Android WebView 85+</td>
<td>Chrome 23+, Edge 18+, Firefox 65+, Safari 14+, Android WebView 23+</td>
</tr>
</tbody>
</table>
<p><strong>Kesimpulan:</strong> AVIF menang dalam pemampatan mentah dan sokongan HDR, manakala WebP menikmati liputan legasi yang paling luas serta ekosistem animasi yang matang. Pendekatan praktikal ialah menyajikan <strong>AVIF terlebih dahulu, fallback kepada WebP, kemudian kepada JPEG/PNG</strong> untuk beberapa pengecualian.</p>
<h2 id="sokongan-pelayar--strategi-fallback-yang-boleh-anda-salintampal">Sokongan pelayar &amp; strategi fallback yang boleh anda salin‑tampal</h2>
<h3 id="1-corak-picture-perundingan-sisiklien">1. Corak <code>&lt;picture&gt;</code> (perundingan sisi‑klien)</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#f92672">picture</span>&gt;
</span></span><span style="display:flex;"><span>  &lt;<span style="color:#f92672">source</span> <span style="color:#a6e22e">type</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;image/avif&#34;</span> <span style="color:#a6e22e">srcset</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;hero.avif&#34;</span>&gt;
</span></span><span style="display:flex;"><span>  &lt;<span style="color:#f92672">source</span> <span style="color:#a6e22e">type</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;image/webp&#34;</span> <span style="color:#a6e22e">srcset</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;hero.webp&#34;</span>&gt;
</span></span><span style="display:flex;"><span>  &lt;<span style="color:#f92672">img</span> <span style="color:#a6e22e">src</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;hero.jpg&#34;</span> <span style="color:#a6e22e">alt</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;Hero image of a sunrise over the city&#34;</span> <span style="color:#a6e22e">loading</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;lazy&#34;</span> <span style="color:#a6e22e">width</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;1200&#34;</span> <span style="color:#a6e22e">height</span><span style="color:#f92672">=</span><span style="color:#e6db74">&#34;800&#34;</span>&gt;
</span></span><span style="display:flex;"><span>&lt;/<span style="color:#f92672">picture</span>&gt;
</span></span></code></pre></div><p><em>Pelayar memilih format pertama yang difahaminya; pelayar lama hanya mengabaikan tag <code>&lt;source&gt;</code> dan memuatkan fallback JPEG.</em></p>
<h3 id="2-perundingan-header-accept-sisipelayan-untuk-satu-url">2. Perundingan header <code>Accept</code> sisi‑pelayan (untuk satu URL)</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#75715e"># Nginx example
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">map</span> $http_accept $image_ext {
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">default</span> <span style="color:#e6db74">&#34;.jpg&#34;</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;~*image/avif&#34;</span> <span style="color:#e6db74">&#34;.avif&#34;</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;~*image/webp&#34;</span> <span style="color:#e6db74">&#34;.webp&#34;</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">location</span> <span style="color:#e6db74">/images/hero</span> {
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">try_files</span> $uri$image_ext =<span style="color:#ae81ff">404</span>;
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p><em>Jika klien mengiklankan <code>image/avif</code>, Nginx menyajikan <code>hero.avif</code>; jika tidak, ia akan fallback kepada WebP atau JPEG.</em></p>
<h3 id="3-biarkan-cdn-melakukan-kerja-berat">3. Biarkan CDN melakukan kerja berat</h3>
<p>Kebanyakan penyedia tepi (Cloudflare Images, Fastly Image Optimizer, Akamai Image Manager) mempunyai suis yang secara automatik menukar JPEG/PNG yang dimuat naik kepada AVIF/WebP berdasarkan header <code>Accept</code>. Aktifkan, kosongkan cache, dan selesai.</p>
<h2 id="alat--aliran-kerja--dapatkan-avifwebp-ke-dalam-pipeline-pembinaan-anda">Alat &amp; aliran kerja – dapatkan AVIF/WebP ke dalam pipeline pembinaan anda</h2>
<table>
<thead>
<tr>
<th>Tugas</th>
<th>Perintah AVIF</th>
<th>Perintah WebP</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Pengekodan lossless</strong></td>
<td><code>avifenc -l -q 0 input.png output.avif</code></td>
<td><code>cwebp -lossless input.png -o output.webp</code></td>
</tr>
<tr>
<td><strong>Pengekodan lossy (kualiti 50)</strong></td>
<td><code>avifenc -q 50 input.jpg output.avif</code></td>
<td><code>cwebp -q 50 input.jpg -o output.webp</code></td>
</tr>
<tr>
<td><strong>Penukaran pukal (Node)</strong></td>
<td><code>sharp('src/**/*.png').avif({quality:50}).toFile('dist/')</code></td>
<td><code>sharp('src/**/*.png').webp({quality:50}).toFile('dist/')</code></td>
</tr>
<tr>
<td><strong>Penukaran animasi</strong></td>
<td><code>avifenc --animation frames/*.png output.avif</code> <em>(still experimental)</em></td>
<td><code>gif2webp animation.gif -o animation.webp</code></td>
</tr>
</tbody>
</table>
<p><strong>Satu baris untuk kebanyakan pipeline CI</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># Convert every PNG in assets/ to AVIF at 45 % quality</span>
</span></span><span style="display:flex;"><span>find assets -name <span style="color:#e6db74">&#39;*.png&#39;</span> -exec avifenc -q <span style="color:#ae81ff">45</span> <span style="color:#f92672">{}</span> <span style="color:#f92672">{</span>.<span style="color:#f92672">}</span>.avif <span style="color:#ae81ff">\;</span>
</span></span></code></pre></div><p><em>Tip:</em> Simpan sumber resolusi tinggi asal dalam repo anda; jana AVIF/WebP secara dinamik semasa langkah pembinaan. Dengan cara itu anda boleh jalankan semula dengan tetapan kualiti yang berbeza tanpa memuat naik semula aset.</p>
<h2 id="impak-dunia-sebenar--angka-yang-penting">Impak dunia sebenar – angka yang penting</h2>
<table>
<thead>
<tr>
<th>Senario</th>
<th>JPEG (asas)</th>
<th>WebP (lossy)</th>
<th>AVIF (lossy)</th>
<th>AVIF (lossless)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1 MP photo, 90 % quality</td>
<td>120 KB</td>
<td>78 KB (‑35 %)</td>
<td>55 KB (‑55 %)</td>
<td>68 KB (‑43 %)</td>
</tr>
<tr>
<td>Transparent logo (500 × 500)</td>
<td>45 KB (PNG)</td>
<td>28 KB (‑38 %)</td>
<td>22 KB (‑51 %)</td>
<td>24 KB (‑47 %)</td>
</tr>
<tr>
<td>5‑s animated banner (10 fps)</td>
<td>1.2 MB (GIF)</td>
<td>380 KB (‑68 %)</td>
<td>340 KB (‑72 %)</td>
<td>–</td>
</tr>
</tbody>
</table>
<p><em>Sumber:</em> Audit WebPageTest + Lighthouse (2024‑2025) pada sebuah laman runcit yang menjalankan ujian A/B selama 4 minggu. Varian AVIF memberikan <strong>LCP 0.4 s lebih cepat</strong> dan <strong>peningkatan 12 % dalam penukaran mudah alih</strong>.</p>
<h3 id="kajian-kes-yang-boleh-anda-petik">Kajian kes yang boleh anda petik</h3>
<ul>
<li><strong>Pedagang Shopify (2025)</strong> – AVIF untuk thumbnail produk memotong berat halaman sebanyak 38 % dan memendekkan LCP sebanyak 0.3 s pada 3G.</li>
<li><strong>The New York Times</strong> – Menukar imej artikel dalam baris kepada AVIF, menjimatkan 45 % jalur lebar dan melihat peningkatan 12 % dalam penglibatan mudah alih.</li>
<li><strong>Airbnb</strong> – Gambar profil hos disajikan sebagai AVIF pada pelayar yang menyokong, memberikan <strong>first paint</strong> 0.4 s lebih cepat pada rangkaian perlahan.</li>
</ul>
<h2 id="apa-yang-perlu-dilakukan-seterusnya--senarai-semak-cepat">Apa yang perlu dilakukan seterusnya – senarai semak cepat</h2>
<ol>
<li><strong>Audit beban imej semasa anda</strong> – Lighthouse “Serve images in next‑gen formats”.</li>
<li><strong>Tambah langkah pembinaan</strong> yang menghasilkan AVIF (dan WebP sebagai fallback) menggunakan <code>sharp</code> atau <code>avifenc</code>.</li>
<li><strong>Kemas kini HTML</strong> dengan blok <code>&lt;picture&gt;</code> atau aktifkan perundingan <code>Accept</code> sisi‑pelayan.</li>
<li><strong>Tetapkan header cache jangka panjang</strong> (<code>Cache‑Control: max-age=31536000, immutable</code>).</li>
<li><strong>Dayakan lazy‑loading</strong> (<code>loading=&quot;lazy&quot;</code> atau IntersectionObserver) untuk mengelakkan penyahkodan AVIF di luar skrin.</li>
<li><strong>Aktifkan penukaran tepi CDN</strong> jika anda lebih suka tidak menyimpan AVIF secara lokal.</li>
<li><strong>Pantau Core Web Vitals</strong> – anda seharusnya melihat LCP turun 0.2‑0.5 s dalam seminggu selepas pelancaran.</li>
</ol>
<blockquote>
<p><strong>Pandangan masa depan:</strong> Menjelang 2028 IDC meramalkan &gt; 80 % imej web akan menjadi AVIF‑first, terima kasih kepada sokongan HDR dan header “image format negotiation” yang akan datang dalam Chrome 130+. Memulakan lebih awal bukan sahaja meningkatkan prestasi hari ini tetapi juga menjadikan laman anda bersedia untuk gelombang seterusnya pengalaman visual web.</p>
</blockquote>
<p><strong>Tags:</strong> #webperformance #imageoptimization #avif<br>
<strong>Slug:</strong> next-gen-web-graphics-avif-webp</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
