Pixmend

ブラウザで高画質化が動かないとき(WebGPU)

Pixmend は WebGPU が必要で、遅い代替経路をあえて持ちません。直す場所はページの中ではなく、ブラウザか動かしている環境のほうです。

約 4 分

「この環境では実行できません」と出たとき、壊れているわけではありませんし、ページの中に変えられる設定もありません。Pixmend は WebGPU を通してあなたの端末の GPU でモデルを動かしているので、ブラウザが GPU に届かない場合、代わりに通る道が用意されていないからです。 WebGPU に対応したブラウザで Pixmend を開くとそのまま動きます。このページは、そこへたどり着くための手順です。

なぜ「遅くても動く」経路が無いのか

GPU を使う web ツールの多くは、非対応ブラウザ向けに CPU 版を残しています。 Pixmend はそれを持っていません。作り忘れではなく、そうしないと決めています。

このモデルを CPU で動かすと、1 枚あたり数秒ではなく数分になります。数分待って出てくる結果は、誰も待たない結果です。そのうえ、たまたま遅い経路に落ちた人の中では、それがこのツールの評価として固定されます。黙って遅くするより、この環境では動きませんとはっきり言うほうが役に立つという判断です。

思いつく回避策のほうも成立しません。x4 ではなく x2 を選んでも演算量は減りません。 x2 は同じ x4 のモデルを走らせて出力を縮めたものなので、かかる時間は同じです。案内の裏に軽い設定が隠れているわけではありません。

何を確かめているのか

実行を許可する前に、ページは短い判定を順に通します。全部通って初めて対応と見なします。

段階 落ちる理由
必要な API があるか 処理はバックグラウンドの worker で走り、モデルは端末内に保存されます。そのための API がいくつか要ります。古いブラウザには揃っていません
WebGPU の窓口があるか ブラウザ自体が WebGPU を積んでいて、有効になっている必要があります
GPU のアダプタが取れるか ハードウェアアクセラレーションが切ってあるとき、あるいはブラウザがドライバを不安定と判断しているとき、ここで断られます
GPU のデバイスを作れるか アダプタは取れたのにデバイスの生成で失敗する環境が実在します。想定せずに実際に作って確かめています

わざわざここまで確かめているのは、「対応と表示されたのに画像を読み込んだ後で落ちる」のが最悪だからです。

試す価値があること

ブラウザを更新する。 WebGPU の対応は段階的に進んできたので、何か月も再起動していないインストールが、いちばんよくある原因です。

ハードウェアアクセラレーションを入れ直す。 ブラウザの設定にあります。別の不具合を直すために切って、そのまま忘れられていることがよくあります。これが切れていると、どれだけ新しいブラウザでも GPU には届きません。

グラフィックドライバを更新する。 ブラウザは、クラッシュが分かっているドライバの一覧を持っていて、該当すると GPU を渡しません。更新すればその一覧から外れます。

どこで動かしているかを確認する。 リモートデスクトップ、仮想マシン、制限のかかった業務用プロファイルでは、渡せる GPU がそもそも無いことがあります。同じブラウザでも、実機で開けば動くことがあります。

端末が非対応だと結論する前に、別のブラウザを試す。 Chrome、Edge、新しい Safari のいずれかです。すぐ終わりますし、原因がブラウザなのか、その下のハードウェアなのかがそこで決まります。

始まったのに途中で止まるとき

判定は通ったのにエンジンの起動で失敗した場合は、別の文言が出て、元のエラーがそのまま添えられます。多くはモデルやランタイムの取得が最後まで終わらなかったケースで、通信の切断か、それらを遮断するプロキシが原因です。ページを再読み込みすると取得をやり直します。

初回はモデルとランタイムで合計 11.6MB ほど取得します。そのあとは端末内に保存されるので、次からはすぐ始まり、処理そのものはネットワークに触れません。

画像の大きさで断られた場合は、対応状況とは別の上限です。入力は 12.6MP までにしてあります。それを超えると、必要なメモリがブラウザのタブで無理なく扱える範囲を出てしまうためです。

動く環境では何ができるのか

GPU が使える端末なら、1024×1024 の画像を x4 にするのに、写真向けモデルで 7.1 秒、イラスト向けモデルで 3.9 秒ほどです。登録もインストールも要らず、画像の送信もありません。最後の 1 点は自分で確かめられます。DevTools を開いて Network タブに切り替え、処理の間そこが静かなままであることを見てください。

よくある質問

WebGPU が無いブラウザ向けの「遅いモード」はなぜ無いのですか?
CPU で動かすと 1 枚に数分かかります。倍率を下げても演算量は変わらないので回避できません。待つ気にならない結果を返すより、最初に動かないと伝えるほうが誠実だと考えています。
どのブラウザなら動きますか?
Chrome、Edge、または新しい Safari です。どれを使う場合でも GPU に届く必要があるので、ハードウェアアクセラレーションは有効にしてください。
昨日は動いたのに今日は動きません。
まずページを再読み込みしてください。それでも駄目なら、間に入ったブラウザやグラフィックドライバの更新が原因のことが多く、ハードウェアアクセラレーションを入れ直すと戻ることがほとんどです。