2026-02-09

Gemini くんと Firefox のチューニングをしてみた(画像データの表示まわり)

優秀なのかそうでないのか微妙な感じの Gemini くんと今日も戯れています。

今回は Firefox で Twitter の画像データ表示を高速化するための設定変更について聞いてみました。

まずは Twitter ではどんな画像ファイル形式を採用されているのかを確認してみました。それによって対策が決まると思ったからです。

ワタシ:Twitterに投稿されている画像のファイル形式はわかりますか?サムネイル状態とクリックした本体とのそれぞれが知りたいです。

Gemini:タイムラインに並んでいる状態では、読み込み速度とデータ節約のために「webp」形式が主に採用されています。画像をクリックして拡大表示した場合、基本的にはアップロードされた元の形式が尊重されます。(JPEG or PNG) 

 

ほ〜ん。サムネイルは WebP だったんだ。あ、Firefox の開発者ツールを使えば実物を確認できたね、失敬失敬。

ん?WebP なんて一つも登場しませんよ?

ワタシ: Firefoxの開発者ツールで確認してみたところ、タイムライン表示ではpngもしくはjpegが採用されているようでした。Firefoxの設定でpngやjpegの表示を高速化する方法を教えてください。

Gemini:Firefoxの開発者ツールで直接確認されたのですね!おっしゃる通り、X(Twitter)はブラウザのキャッシュ状況や通信環境、あるいはユーザー設定によって、WebPではなくオリジナルの形式(JPEG/PNG)をそのまま返す挙動をすることがあります。

楽しくなってきました。

Gemini:以下の項目を入力し、値を調整してください。

image.mem.decode_on_draw
画像が表示される直前にデコードを行うことで、メモリ使用量を抑えつつ体感速度を上げます。

image.high_quality_upscaling.enabled
画像の拡大処理を高品質かつ最適化された状態で行います。

image.decode-delay-ms
画像のデコードを開始するまでの待機時間(ミリ秒)です。数値を下げると表示開始が早まります。

どの設定項目もいま使用している Firefox 147 には見当たりませんでした。

ワタシ:image.mem.decode_on_drawという設定項目は存在していませんでしがた、image.mem.decode_bytes_at_a_timeという設定項目は存在していました。現在16384が指定されていますが、この設定項目の効果を教えてください。 

Gemini:失礼いたしました!image.mem.decode_on_draw は近年のアップデートで内部的に統合・整理されており、環境によっては見当たらない場合があります。

代わりに発見された image.mem.decode_bytes_at_a_time は、Firefoxの画像レンダリングにおいて非常にマニアック、かつ重要な役割を持つ項目です。

Gemini くん、大好きです。

 

ということで、image.mem.decode_bytes_at_a_time に 262144(=256KB)を指定してみました。先ほどの Firefox の開発者ツールで Twitter の画像をクリックして大きなサイズで表示させてみたところ 1MB 弱のサイズであったためです。

デフォルトの 16KB だと 64 回のデコードが発生するのでしょうかね? 256KB だと 4 回のデコードで完了?こんな動きで合ってるのかしら?

ついでに image.decode-immediately.enabled = false という設定項目も発見したのでこちらを true に変更してみました。

Twitter に限らずですが、ブラウザーでの画像表示が速くなった気がします。シャキシャキ感が増した、という感じです。