WebGL2 が使用できない?3D プレビューをプラットフォーム別にトラブルシューティング
見られる症状
プレビューエリアに「3D プレビューが利用できません」と表示されるか、ページが空白でモデルが表示されません。Any3D のオンラインプレビューは GPU 上で 3D シーンをレンダリングするために WebGL2 に依存しています。WebGL2 が利用できない場合、プレビューを起動できません。
よくある原因
| 原因 | 典型的なシナリオ |
|---|---|
| ハードウェアアクセラレーションが無効 | ブラウザまたはシステム設定で GPU が無効 |
| グラフィックドライバーが古い/異常 | Windows ノートパソコンのデュアル GPU、Linux のオープンソースドライバー |
| ブラウザのブラックリスト | 古い GPU がブラウザのソフトウェアレンダリングリストに追加されている |
| リモートデスクトップ/仮想マシン | RDP、GPU パススルーが無効な VM |
| 企業ポリシー | GPO によるハードウェアアクセラレーションの無効化、3D アクセラレーションが無効な VDI |
| WebView/古いカーネル | WeChat、DingTalk、古いアプリ |
| 拡張機能の干渉 | Canvas フィンガープリント保護プラグインなど |
プラットフォーム別トラブルシューティング
Windows
-
ハードウェアアクセラレーションを有効にする
Chrome/Edge:設定 → システム → 「ハードウェアアクセラレーションを使用する(可能な場合)」→ ブラウザを再起動。 -
グラフィックドライバーを更新
NVIDIA / AMD / Intel の公式サイトまたは Windows Update で最新ドライバーをインストール。ノートパソコンではグラフィック制御パネルでブラウザを「高性能」に設定。 -
グループポリシー/レジストリ(企業向け)
IT 部門がポリシーで GPU 合成を無効にしている可能性があります。個人ユーザーはchrome://gpuで「Software only」が大量に表示されていないか確認。 -
リモートデスクトップ
RDP でオフィスの PC に接続している場合、WebGL は利用できないことが多いです。ローカル PC のブラウザで Any3D を開くか、GPU をサポートするリモートソリューションを使用してください。 -
保護機能
Windows ファミリーセキュリティのサブアカウントは通常、WebGL を無効にしません。サードパーティ製の「チャイルドブラウザ」を使用している場合は、Chrome/Edge でテストしてください。
macOS
- Safari / Chrome を最新バージョンに更新。システム設定 → ディスプレイ → リフレッシュレート/解像度が正常であることを確認。
- 省電力モード では GPU がスロットリングされ、極端な場合 WebGL に影響がある場合があります。電源に接続して再試行。
- 画面使用時間 は直接 WebGL を無効にしません。MDM がグラフィックを制限している場合は IT 部門に連絡してください。
Linux
- 専用ドライバー(NVIDIA)または比較的新しい Mesa を使用。
chrome://gpuで GL 状態を確認。 - Wayland と X11 で片方で失敗する場合は、セッションを切り替えて比較。
iOS / iPadOS
- Safari は WebGL2 のサポートが良い。システムを更新したままにする。
- 省電力モード では性能が制限される場合があり、プレビューが遅延したり失敗することがあります。充電してから再試行。
- アプリ内 WebView → Safari で開く。
- 学校管理の iPad で「カメラ/ファイル」が制限されていても WebGL には影響しませんが、システム更新が禁止されるとカーネルが古くなります。
Android
- Chrome を更新。開発者オプション → GPU レンダリングを強制 を有効に(一部の古い機種では効果的ですが、新しいシステムではデフォルトで有効になっている場合があります)。
- 国産ブラウザの互換カーネルには WebGL2 がないことが多い → Chrome を使用。
- 省電力モード が GPU を制限している場合 → 無効にしてから再試行。
ネットワーク、VPN、企業イントラネット
WebGL2 はローカル GPU API であるため、通常 VPN の影響を受けません。ただし、以下のシナリオには注意が必要です。
| シナリオ | 説明 |
|---|---|
| 企業 VDI(Citrix/VMware) | GPU パススルーが有効でない場合、WebGL は利用できません。IT 部門に vGPU を有効にするか、ローカルブラウザを使用するよう依頼してください。 |
| VPN がブラウザ拡張機能を強制インストール | 拡張機能が WebGL コンテキストを干渉する可能性があります。 |
| イントラネットで IE/旧 Edge のみ許可 | WebGL2 がサポートされていないため、最新の Chromium ベースのブラウザに変更する必要があります。 |
保護機能と公共環境
- 図書館/学校の PC:ロックされたブラウザまたは専用 GPU が 없는場合があります。個人のノートパソコンで検証してください。
- Family Link による Chrome バージョン制限:Play ストアで Chrome を更新できるようにしてください。
段階的な修正(汎用)
chrome://gpu(Chrome/Edge)またはabout:support→ グラフィックを開き、WebGL2 が Hardware accelerated と表示されているか確認。- ハードウェアアクセラレーションを有効にし、ドライバーを更新し、ブラウザとシステムを再起動。
- シークレットウィンドウで拡張機能を除外。
- 別のブラウザ/デバイスで交差検証。
簡単なセルフテスト
(() => {
const c = document.createElement("canvas");
return c.getContext("webgl2") !== null;
})()
false が返された場合、WebGL2 コンテキストを作成できないことを示します。
また、WebGL Report(インターネットにアクセス可能な環境が必要)にアクセスして、詳細な機能を確認することもできます。
OffscreenCanvas との関係
テクスチャ圧縮 Worker パスには OffscreenCanvas + WebGL2 も必要です。下部に黄色い Worker 警告のみが表示され、プレビューが正常に動作する場合は、まず OffscreenCanvas ガイド を確認してください。プレビュー自体が失敗する場合は、この記事を参照してください。
まとめ
WebGL2 が利用できない主な原因は GPU/ドライバー/ハードウェアアクセラレーション の問題です。企業 VDI、リモートデスクトップ、古い WebView も一般的です。プラットフォームに応じてアクセラレーションを有効にし、ドライバーを更新し、ローカルブラウザからアクセスすることで、ほとんどの場合 3D プレビューを復元できます。