OffscreenCanvas non disponibile? Diagnostica per piattaforma e ambiente
Cosa vedi
Any3D mostra il messaggio «Il browser corrente non supporta OffscreenCanvas». Si tratta di uno dei tre componenti del percorso Worker; senza di esso, le operazioni che richiedono la codifica WebGL2 all'interno del Worker (come la compressione delle texture) non possono essere eseguite correttamente.
OffscreenCanvas consente di creare un canvas all'interno di un Web Worker e di ottenere un contesto WebGL, eseguendo operazioni GPU in background senza bloccare la pagina.
Cause comuni
| Causa | Scenario tipico |
|---|---|
| Browser/WebView obsoleto | Chrome < 69, Safari < 16.4, Android WebView datato |
| Accelerazione hardware disattivata | Risparmio energetico o policy che disabilita la GPU su Windows/macOS |
| Policy aziendali | GPO che disabilita GPU, MDM che limita le capacità grafiche |
| WebView incorporato | App come WhatsApp, app aziendali, Electron obsoleto |
| Strato di rete | Raro; più spesso script non caricati, non l'API in sé |
Diagnostica per piattaforma
Windows
- Chrome / Edge: Impostazioni → Sistema → Attiva «Usa accelerazione hardware» → Esci completamente e riavvia il browser.
- Driver grafici: Su notebook con doppia scheda, assicurati che il browser usi la scheda dedicata (Pannello di controllo NVIDIA / AMD Software).
- Criteri di gruppo: Policy come «Disabilita accelerazione hardware» impediscono la creazione del contesto WebGL di OffscreenCanvas.
- Desktop remoto (RDP): Alcune sessioni RDP limitano le capacità GPU; testa con un accesso locale.
macOS
- Safari 16.4+ o Chrome aggiornato.
- Impostazioni di sistema → Batteria → La modalità basso consumo può ridurre la schedulazione GPU; prova con l'alimentatore collegato.
- Tempo di utilizzo generalmente non disabilita direttamente OffscreenCanvas, ma se MDM limita le API grafiche, contatta l'IT.
Linux
- Verifica che i driver Mesa/proprietari funzionino; prova con l'ultimo Chrome sia su Wayland che su X11.
- I browser remoti su server headless richiedono una GPU virtuale (scenario raro per utenti singoli).
iOS / iPadOS
- Safari si aggiorna con il sistema (da iOS 16.4+ OffscreenCanvas è supportato abbastanza bene).
- Il WebView all'interno delle app potrebbe essere più vecchio del Safari di sistema — apri il link in Safari.
- Gli iPad scolastici in modalità supervisionata potrebbero avere un sistema obsoleto; l'amministratore deve aggiornarlo.
Android
- Aggiorna Chrome e Android System WebView.
- I browser cinesi con kernel di compatibilità non supportano → passa alla modalità veloce o usa Chrome.
- Su dispositivi di fascia bassa con driver GPU datati: prova a disattivare la «Modalità risparmio energetico» e riprova.
Rete, VPN e ambiente aziendale
OffscreenCanvas è un'API locale, di solito non influenzata direttamente dalla VPN. Tuttavia, se la VPN fa degradare il browser in «modalità di sicurezza» o carica estensioni aziendali che iniettano script, può fallire indirettamente:
- Disconnetti la VPN e confronta;
- Verifica se il browser aziendale forza il «rendering software»;
- Se è incorporato in un iframe, assicurati che il contesto esterno non blocchi WebGL nel Worker.
Controlli parentali e dispositivi gestiti
- Family Link / Tempo di utilizzo: raramente disabilitano direttamente OffscreenCanvas; più spesso impediscono l'aggiornamento del browser, causando API obsolete — consenti gli aggiornamenti automatici del sistema.
- Modalità esame/biblioteca: potrebbero usare browser personalizzati; meglio usare un dispositivo personale.
Risoluzione passo-passo (generale)
- Aggiorna il browser almeno alla versione minima indicata nella tabella.
- Attiva l'accelerazione hardware e riavvia il browser.
- Usa il browser di sistema, non il WebView all'interno di un'app.
- Se c'è anche un errore WebGL2, gestisci prima la guida alla riparazione WebGL2.
Autotest rapido
typeof OffscreenCanvas !== "undefined";
Se restituisce false, l'ambiente corrente non supporta l'API.
Riepilogo
L'assenza di OffscreenCanvas è spesso dovuta a browser/WebView obsoleti, accelerazione hardware disattivata, sessioni RDP su Windows o policy GPU aziendali. Attivando l'accelerazione GPU sulla piattaforma corretta, aggiornando il WebView e usando il browser di sistema, di solito si ripristina la codifica GPU all'interno del Worker.