ae_albert-einshutoin~/portfolio

lazy-imageTRY IT

画像のサイズや品質、処理時間を実際に確かめる。
lazy-imageと他のWasmライブラリを、同じ画像で比較できる。

01 / SIZE POLICY

容量の目標に合わせて品質を探す

品質45〜指定上限で探索。strictなら目標未達をエラーにして、出力しません。

02 / PRIVATE BY DESIGN

画像を外部に送らずに処理する

外部へ送信せず、メタデータを保持しない設定で再エンコードします。

03 / PREPARE ONCE

読み込みとリサイズは1回

同じ画素から品質を変えてencode。工程時間と画素バッファの目安を確認できます。

このデモの入力・出力の保護
  • 入力はJPEG・PNG・WebP、5 MiB / 16 MPまで。ヘッダーの寸法をデコード前に検査します。
  • 処理は各Worker最大30秒。中止・ページ移動でWorkerを終了します。
  • 出力の形式・寸法・サイズ目標と、ブラウザでのデコードを確認してから表示します。

画素数の制限は、総メモリの上限保証ではありません。ここで触れるのはWasm版1.4.3です。Node.js版のsanitize・検証済み画像セット生成は別のAPIです。

Image workspace GitHub
画像変換の設定

画像を選ぶか、サンプルで試してみてください。

容量目標モードは各エンジンで品質45〜指定上限の候補を探索。PhotonのWebPは品質指定のないlossless単発で、探索比較から除外します。固定品質モードでも同じ数値が同画質を意味するわけではありません。

各処理30秒 / 計測全体120秒まで

Playgroundを読み込んでいます…

反復計測は1つのWorkerずつ実行し、計測中はプレビューを作らず、先行出力を保持しません。初期化・変換・出力検証を分離し、初回と1回ウォームアップ後の反復を記録します。表示用の再変換とRGB PSNRは全計測後で、時間集計から除外。画質の基準は同サイズのjSquash decode+Lanczos3、PSNRは白背景RGBの誤差で、知覚画質や同画質の証明ではありません。実行順・キャッシュ・端末負荷・少数試行の影響は残ります。

専用環境で測ったメモリを見る

Node/Wasmを1試行ごとに独立プロセスで実行し、OSの最大RSSを記録しています。初期化・入力・Nodeを含むプロセス全体の実測で、このブラウザやCloudflare Workersのメモリではありません。GPUとRSS採取後の画質分析は含みません。

EXPLORER

Vimでも操作できる

クリック・タップでも操作できます。

j / k
下 / 上にスクロール
h / l
前 / 次のタブ
gt / gT
次 / 前のタブ
2gt / 3gt
左から2 / 3番目のタブ
2gT / 3gT
2 / 3つ前のタブ
Ctrl+d / Ctrl+u
半画面下 / 上へスクロール
gg / G
ページの先頭 / 最後
: / /
コマンド / 検索
n / N
次 / 前の一致
? / Esc
ヘルプ / 閉じる・検索解除

:projects、:playground、:aboutでページを開けます。
:tabnext / :tabpreviousで次 / 前、:tabfirst / :tablastで最初 / 最後のタブへ。:tabcloseで現在のタブを閉じます。

タブの×またはDeleteキーで閉じられます。入力中はショートカットが動きません。