รูปภาพมักเป็นสาเหตุของจำนวนไบต์ที่ดาวน์โหลดส่วนใหญ่ในหน้าเว็บ และมักใช้พื้นที่ภาพจำนวนมาก ด้วยเหตุนี้ การเพิ่มประสิทธิภาพรูปภาพจึงมักช่วยประหยัดไบต์และปรับปรุงประสิทธิภาพของเว็บไซต์ได้มากที่สุด นั่นคือยิ่งเบราว์เซอร์ต้องดาวน์โหลดไบต์น้อยลง ก็จะยิ่งมีการใช้แบนด์วิดท์ของลูกค้าน้อยลง และเบราว์เซอร์ก็จะดาวน์โหลดและแสดงผลเนื้อหาที่มีประโยชน์บนหน้าจอได้เร็วขึ้น
การเพิ่มประสิทธิภาพรูปภาพเป็นทั้งศาสตร์และศิลป์ เพราะเป็นศาสตร์เนื่องจากไม่มีคำตอบที่แน่ชัดสำหรับวิธีที่ดีที่สุดในการบีบอัดรูปภาพแต่ละรูป และเป็นศิลป์เนื่องจากมีเทคนิคและอัลกอริทึมที่พัฒนามาอย่างดีมากมายที่สามารถลดขนาดรูปภาพได้อย่างมาก การค้นหาการตั้งค่าที่เหมาะสมที่สุดสำหรับรูปภาพต้องใช้การวิเคราะห์อย่างละเอียดในหลายมิติ ได้แก่ ความสามารถของรูปแบบ เนื้อหาของข้อมูลที่เข้ารหัส คุณภาพ ขนาดพิกเซล และอื่นๆ
การเพิ่มประสิทธิภาพรูปภาพเวกเตอร์
เบราว์เซอร์สมัยใหม่ทั้งหมดรองรับกราฟิกเวกเตอร์ที่ปรับขนาดได้ (SVG) ซึ่งเป็นรูปแบบรูปภาพแบบ XML สำหรับกราฟิก 2 มิติ คุณสามารถฝังมาร์กอัป SVG ในหน้าเว็บโดยตรงหรือเป็นทรัพยากรภายนอกก็ได้ ซอฟต์แวร์วาดภาพที่ใช้เวกเตอร์ส่วนใหญ่สามารถสร้างไฟล์ SVG หรือคุณจะเขียนด้วยมือในเครื่องมือแก้ไขข้อความที่คุณชื่นชอบโดยตรงก็ได้
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 612 792" xml:space="preserve">
<g id="XMLID_1_">
<g>
<circle fill="red" stroke="black" stroke-width="2" stroke-miterlimit="10" cx="50" cy="50" r="40"/>
</g>
</g>
</svg>
ตัวอย่างด้านบนแสดงผลรูปวงกลมแบบง่ายด้านล่างที่มีเส้นขอบสีดําและพื้นหลังสีแดง และส่งออกจาก Adobe Illustrator
<?xml version="1.0" encoding="utf-8"?>
ดังที่คุณทราบแล้ว ไฟล์นี้มีข้อมูลเมตาจำนวนมาก เช่น ข้อมูลเลเยอร์ ความคิดเห็น และเนมสเปซ XML ซึ่งมักไม่จำเป็นต่อการเรนเดอร์ชิ้นงานในเบราว์เซอร์ ดังนั้น คุณควรย่อขนาดไฟล์ SVG เสมอโดยเรียกใช้ผ่านเครื่องมืออย่าง SVGO
ตัวอย่างเช่น SVGO ลดขนาดไฟล์ SVG ด้านบนที่ Illustrator สร้างขึ้นได้ 58% จาก 470 เป็น 199 ไบต์
<svg version="1.2" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 792"><circle fill="red" stroke="#000" stroke-width="2" stroke-miterlimit="10" cx="50" cy="50"