Any3DAny3D
·Any3D Team

OffscreenCanvas indisponível? Solução por plataforma e ambiente

troubleshootingbrowser-compatibilityoffscreencanvas

Sintomas que você vê

O Any3D exibe a mensagem "O navegador atual não suporta OffscreenCanvas". Isso é um dos três componentes essenciais para o caminho do Worker; sem ele, fluxos que precisam de codificação WebGL2 no Worker (como compressão de texturas) não podem ser executados completamente.

O OffscreenCanvas permite criar um canvas em um Web Worker e obter um contexto WebGL, realizando operações de GPU em segundo plano sem bloquear a página.

Causas comuns

Cenário típicoDescrição
Navegador/WebView antigoChrome < 69, Safari < 16.4, Android WebView antigo
Aceleração de hardware desativadaWindows/macOS em modo de economia ou política desabilita a GPU
Política corporativaGPO desativa GPU, MDM restringe capacidades gráficas
WebView embutidoWeChat, aplicativos corporativos, shell antigo do Electron
Camada de redeRaro; geralmente é falha no carregamento do script, não na API em si

Solução por plataforma

Windows

  1. Chrome / Edge: Configurações → Sistema → Ativar "Usar aceleração de hardware" → Feche completamente e reinicie o navegador.
  2. Driver da placa de vídeo: Em notebooks com placa dupla, garanta que o navegador use a GPU dedicada (Painel de Controle NVIDIA / AMD Software).
  3. Política de grupo (GPO): Políticas do tipo "Desativar aceleração de hardware" podem impedir a criação do contexto WebGL do OffscreenCanvas.
  4. Área de Trabalho Remota (RDP): Algumas sessões de RDP têm capacidades de GPU limitadas; faça um teste comparativo com login local.

macOS

  1. Safari 16.4+ ou Chrome na versão mais recente.
  2. Configurações do Sistema → Bateria → O modo de baixa energia pode reduzir o agendamento da GPU; tente novamente conectado à corrente.
  3. Tempo de Tela geralmente não desativa o OffscreenCanvas diretamente, mas se o MDM restringir APIs gráficas, entre em contato com o setor de TI.

Linux

  1. Confirme que o driver Mesa/proprietário está funcionando; teste com o Chrome mais recente tanto no Wayland quanto no X11.
  2. Em servidores headless com navegador remoto, é necessária uma GPU virtual (raro em cenários pessoais).

iOS / iPadOS

  1. O Safari é atualizado com o sistema (a partir do iOS 16.4, o suporte ao OffscreenCanvas é mais completo).
  2. O WebView dentro do aplicativo pode estar desatualizado em relação ao Safari do sistema — abra o link no Safari.
  3. iPads escolares em modo supervisionado podem ter o sistema travado; peça ao administrador para atualizar.

Android

  1. Atualize o Chrome e o Android System WebView.
  2. Navegadores nacionais com núcleo de compatibilidade não suportam → mude para o modo rápido ou use o Chrome.
  3. Drivers de GPU antigos em dispositivos de baixa categoria: tente desativar o "Modo de economia" e repita.

Rede, VPN e ambiente corporativo

O OffscreenCanvas é uma API local e, geralmente, não é afetada diretamente por VPNs. No entanto, se a VPN fizer o navegador entrar em "modo seguro" ou carregar extensões corporativas que injetam scripts, pode indiretamente falhar:

  • Desconecte a VPN para comparar;
  • Verifique se o navegador corporativo força "renderização por software";
  • Se estiver embutido em um iframe, confirme que o nível superior não bloqueia o Worker que usa WebGL.

Controles parentais e dispositivos supervisionados

  • Family Link / Tempo de Tela: Raramente desativam o OffscreenCanvas diretamente; o mais comum é impedir a instalação de atualizações do navegador, tornando a API obsoleta — permita que o sistema seja atualizado automaticamente.
  • Modo de biblioteca/exame: Pode usar um navegador personalizado; recomenda-se usar um dispositivo pessoal.

Correção passo a passo (geral)

  1. Atualize o navegador para a versão mínima ou superior da tabela acima.
  2. Ative a aceleração de hardware e reinicie o navegador.
  3. Use o navegador do sistema, não o WebView dentro de aplicativos.
  4. Se houver também erros com WebGL2, trate-os primeiro com o Guia de correção do WebGL2.

Autoverificação rápida

typeof OffscreenCanvas !== "undefined"

Retorna false significa que o ambiente atual não suporta essa API.

Resumo

A ausência do OffscreenCanvas é comum em navegadores/WebView antigos, aceleração de hardware desativada, acesso remoto no Windows ou políticas corporativas de GPU. Habilitar a aceleração de GPU por plataforma, atualizar o WebView e usar o navegador do sistema geralmente restaura a capacidade de codificação via GPU no Worker.

Apoie-nos