因為某些原因想記錄一下mosir目前的圖片載入機制。
mosir的圖片載入有三個階段:
- 模糊迷你圖(28 Bytes純文字):用BlurHash產生的模糊版本,把圖片壓縮到極致放進網址本身,瀏覽器在知道網址的瞬間就載入完成。
- 縮圖(平均80KB AVIF):圖片縮小到1,000x1,000的小圖,用來在點開大圖前顯示,可以提供HiDPI 2x左右的裝置看不到像素鋸齒(極保守估計,實際上我的3x裝置還沒看到過肉眼可見的鋸齒)。有線網路大約0.01~0.02秒內可以載完。
- 大圖(平均700KB AVIF):最接近原圖的版本,解析度8,192x8,192以內。在點開大圖之後才會載入,有線網路載入需要約0.1~0.2秒。
BlurHash稍微有點爭議,生成的模糊圖效果也不算理想,但我自己是覺得視覺效果還是比Skeleton好一點。
AVIF是好東西,日常圖片通常可以壓縮到WebP的50%,png的5%。
拜託寫圖片上傳服務的各位大大不要再輸出成WebP了那個又慢又肥又吃瀏覽器CPU拜託