OffscreenCanvas nicht verfügbar? Fehlerbehebung nach Plattform und Umgebung
Das Symptom, das du siehst
Any3D meldet: „Der aktuelle Browser unterstützt kein OffscreenCanvas." Das ist einer der drei Bausteine für den Worker-Pfad; ohne ihn können Prozesse wie Texturkomprimierung, die WebGL2-Codierung im Worker erfordern, nicht vollständig ausgeführt werden.
OffscreenCanvas ermöglicht es, in einem Web Worker eine Canvas zu erstellen und einen WebGL-Kontext zu erhalten, um GPU-Operationen im Hintergrund auszuführen, ohne die Seite zu blockieren.
Häufige Ursachen
| Ursache | Typisches Szenario |
|---|---|
| Browser/WebView zu alt | Chrome < 69, Safari < 16.4, alte Android-WebViews |
| Hardwarebeschleunigung deaktiviert | Windows/macOS Energiesparmodus oder Richtlinie deaktiviert GPU |
| Unternehmensrichtlinie | GPO deaktiviert GPU, MDM schränkt Grafikfunktionen ein |
| Eingebettetes WebView | In-App-Browser, Unternehmens-Apps, alte Electron-Shells |
| Netzwerkebene | Selten; meist Skript-Ladefehler statt fehlender API |
Fehlerbehebung nach Plattform
Windows
- Chrome / Edge: Einstellungen → System → „Hardwarebeschleunigung verwenden" aktivieren → Browser vollständig beenden und neu starten.
- Grafiktreiber: Bei Laptops mit zwei GPUs sicherstellen, dass der Browser die dedizierte GPU verwendet (NVIDIA Systemsteuerung / AMD Software).
- Gruppenrichtlinie: Richtlinien wie „Hardwarebeschleunigung deaktivieren" führen dazu, dass die Erstellung des WebGL-Kontexts für OffscreenCanvas fehlschlägt.
- Remotedesktop (RDP): Einige RDP-Sitzungen haben eingeschränkte GPU-Fähigkeiten – zum Vergleich lokal anmelden.
macOS
- Safari 16.4+ oder aktuelle Chrome-Version verwenden.
- Systemeinstellungen → Batterie → Der Energiesparmodus kann die GPU-Planung reduzieren; mit Netzteil erneut versuchen.
- Bildschirmzeit deaktiviert OffscreenCanvas normalerweise nicht direkt, aber wenn MDM Grafik-APIs einschränkt, IT kontaktieren.
Linux
- Sicherstellen, dass Mesa/proprietäre Treiber korrekt funktionieren; unter Wayland und X11 mit aktuellem Chrome testen.
- Remote-Browser auf Headless-Servern benötigen eine virtuelle GPU (im privaten Bereich selten).
iOS / iPadOS
- Safari wird mit dem System aktualisiert (ab iOS 16.4 ist OffscreenCanvas recht vollständig unterstützt).
- In-App-WebViews können hinter dem System-Safari zurückliegen – Link in Safari öffnen.
- iPads in Schulverwaltung können auf alten Systemversionen gesperrt sein; Administrator muss aktualisieren.
Android
- Chrome und Android System WebView aktualisieren.
- Kompatibilitätsmodi von Drittanbieter-Browsern unterstützen die API nicht → in den schnellen Modus wechseln oder Chrome verwenden.
- Bei älteren GPUs auf Low-End-Geräten: „Energiesparmodus" deaktivieren und erneut versuchen.
Netzwerk, VPN und Unternehmensumgebung
OffscreenCanvas ist eine lokale API und wird normalerweise nicht direkt von VPN beeinflusst. Wenn VPN den Browser jedoch in einen „Sicherheitsmodus" versetzt oder Unternehmens-Erweiterungen Skripte injizieren, kann es indirekt fehlschlagen:
- VPN trennen und vergleichen;
- Prüfen, ob der Unternehmensbrowser „Software-Rendering" erzwingt;
- Bei iframe-Einbettung sicherstellen, dass die äußere Seite WebGL im Worker nicht blockiert.
Kindersicherung und verwaltete Geräte
- Family Link / Bildschirmzeit: Deaktivieren OffscreenCanvas äußerst selten direkt; häufiger wird das Installieren von Browser-Updates blockiert, wodurch die API veraltet ist – System-Updates erlauben.
- Prüfungs-/Bibliotheksmodus: Möglicherweise wird ein angepasster Browser verwendet; besser ein persönliches Gerät nutzen.
Schritt-für-Schritt-Fix (allgemein)
- Browser auf mindestens die oben genannte Mindestversion aktualisieren.
- Hardwarebeschleunigung aktivieren und Browser neu starten.
- Im Systembrowser öffnen, nicht in einer In-App-WebView.
- Falls gleichzeitig WebGL2-Fehler auftreten, zuerst den WebGL2-Fehlerbehebungsleitfaden bearbeiten.
Schnelltest
typeof OffscreenCanvas !== "undefined";
Rückgabe false bedeutet, dass die aktuelle Umgebung die API nicht unterstützt.
Zusammenfassung
Fehlendes OffscreenCanvas tritt meist bei alten Browsern/WebViews, deaktivierter Hardwarebeschleunigung, Windows-Remote oder Unternehmens-GPU-Richtlinien auf. Durch Aktivieren der GPU-Beschleunigung pro Plattform, Aktualisieren der WebView und Verwenden des Systembrowsers lässt sich die GPU-Codierung im Worker in der Regel wiederherstellen.