OffscreenCanvas indisponível? Diagnóstico por plataforma e ambiente
O sintoma que você vê
O Any3D exibe a mensagem "O navegador atual não suporta OffscreenCanvas". Esse é um dos três componentes essenciais do caminho Worker; sem ele, processos como compressão de texturas que precisam usar WebGL2 para codificação dentro do Worker não podem ser executados por completo.
OffscreenCanvas permite criar uma tela e obter um contexto WebGL em um Web Worker, realizando operações GPU em segundo plano sem bloquear a página.
Causas comuns
| Causa | Cenário típico |
|---|---|
| Navegador/WebView muito antigo | Chrome < 69, Safari < 16.4, Android WebView antigo |
| Aceleração de hardware desligada | Economia de energia ou política no Windows/macOS desabilitando a GPU |
| Política corporativa | GPO desabilitando GPU, MDM limitando a capacidade gráfica |
| WebView embutido | WebView do WhatsApp, app corporativo, Electron com versão antiga |
| Camada de rede | Raro; geralmente é falha de carregamento de script, não da API em si |
Diagnóstico por plataforma
Windows
- Chrome / Edge: Configurações → Sistema → Ativar "Usar aceleração de hardware" → Feche e reinicie o navegador completamente.
- Driver de vídeo: Em notebooks com placa de vídeo dupla, garanta que o navegador use a placa dedicada (Painel de Controle NVIDIA / AMD Software).
- Política de grupo: Políticas como "Desabilitar aceleração de hardware" podem impedir a criação de contexto WebGL do OffscreenCanvas.
- Área de Trabalho Remota (RDP): Algumas sessões RDP têm capacidade GPU limitada; teste com login local para comparar.
macOS
- Safari 16.4+ ou Chrome mais recente.
- Ajustes do Sistema → Bateria → O modo de baixa energia pode reduzir a escalação da GPU; teste com o carregador conectado.
- Tempo de Uso geralmente não desabilita diretamente o OffscreenCanvas, mas se a MDM restringir APIs gráficas, entre em contato com a TI.
Linux
- Verifique se os drivers Mesa/proprietários estão funcionando; teste com o Chrome mais recente tanto no Wayland quanto no X11.
- Navegador remoto em servidor headless precisa de GPU virtual (raro em cenário pessoal).
iOS / iPadOS
- Safari acompanha a atualização do sistema (a partir do iOS 16.4 o suporte a OffscreenCanvas é mais completo).
- WebView dentro de apps pode estar desatualizado em relação ao Safari do sistema — abra o link no Safari.
- iPads em modo de supervisão escolar podem estar travados em versão antiga do sistema; é necessário administrador para atualizar.
Android
- Atualize o Chrome e o Android System WebView.
- Navegadores alternativos (como Opera Mini, UC Browser) podem não ter suporte no modo de compatibilidade — mude para o modo rápido ou use o Chrome.
- Aparelhos de baixo custo com driver GPU muito antigo: tente desligar o "Modo de economia de energia" e teste novamente.
Rede, VPN e ambiente corporativo
OffscreenCanvas é uma API local, normalmente não é afetada diretamente pela VPN. No entanto, se a VPN fizer o navegador entrar em "modo de segurança" ou carregar extensões corporativas que injetem scripts, pode falhar indiretamente:
- Desconecte a VPN e compare;
- Verifique se o navegador corporativo está forçando "renderização por software";
- Se estiver embutido em um iframe, confirme se a página pai não está bloqueando WebGL no Worker.
Controle dos pais e dispositivos supervisionados
- Family Link / Tempo de Uso: raramente desabilitam diretamente o OffscreenCanvas; o mais comum é impedir a instalação de atualizações do navegador, deixando a API desatualizada — permita que o sistema atualize automaticamente.
- Modo vestibular/biblioteca: pode usar navegadores personalizados; nesse caso, use um dispositivo pessoal.
Correção passo a passo (genérica)
- Atualize o navegador para pelo menos a versão mínima indicada na tabela acima.
- Ative a aceleração de hardware e reinicie o navegador.
- Abra o link no navegador do sistema, não em WebView de app.
- Se houver também erro de WebGL2, resolva primeiro o Guia de correção do WebGL2.
Teste rápido
typeof OffscreenCanvas !== "undefined";
Retornar false significa que o ambiente atual não suporta a API.
Resumo
A ausência de OffscreenCanvas geralmente está relacionada a navegador/WebView antigo, aceleração de hardware desligada, sessão remota Windows ou política corporativa de GPU. Habilitar a aceleração GPU, atualizar o WebView e usar o navegador do sistema normalmente restaura a capacidade de codificação GPU dentro do Worker.