Kris

createImageBitmap indisponível? Diagnóstico por plataforma e ambiente

Solução de problemasCompatibilidade de navegadorcreateImageBitmap

O que você está vendo

O Any3D exibe a mensagem "O navegador atual não suporta createImageBitmap". Esse é um dos três componentes do caminho do Worker, usado para decodificar pixels de imagem em segundo plano com eficiência. Sem ele, fluxos como compressão de textura e conversão de imagem para modelo não conseguem percorrer todo o caminho do Worker, e arquivos grandes tendem a travar com mais frequência.

Causas comuns

CausaCenário típico
Navegador/WebView desatualizadoWebView Android antigo, páginas embutidas em apps (WhatsApp, Facebook, etc.)
Contexto não seguroSite HTTP (exceto localhost), file://
Recursos entre origens mal configuradosCDN corporativo / CORS inválido causa falha na decodificação (funcionalidade anormal)
Limitação de memória/abaDispositivos móveis com pouca RAM, política corporativa de "aba única"
Interferência de extensõesExtensões de privacidade que alteram o comportamento da API Image

Diagnóstico por plataforma

Windows / macOS (Desktop)

  1. Use a versão estável mais recente do Chrome / Edge / Firefox / Safari.
  2. Acesse o Any3D obrigatoriamente via HTTPS.
  3. Tempo de Uso no macOS e Segurança da Família no Windows – se limitarem downloads ou acesso a mídia, podem afetar a decodificação de imagens grandes. Teste com uma conta de administrador.
  4. Área de Trabalho Remota: texturas de resolução muito alta podem falhar em ambientes com GPU fraca. Primeiro, teste com imagens pequenas.

Linux

  1. Atualize Chrome/Firefox; no Wayland, se a decodificação de GPU estiver com problemas, tente alternar para uma sessão X11 (raro, mas possível).

iOS / iPadOS

  1. Safari 14+ tem suporte razoável; mantenha o iOS atualizado.
  2. Navegadores embutidos em apps como WhatsApp ou Facebook costumam ter núcleos desatualizados → abra no Safari.
  3. Proxy do iCloud / Restrições de conteúdo adulto – geralmente não bloqueiam createImageBitmap, mas podem bloquear imagens de terceiros. Certifique-se de que as texturas do modelo estejam na mesma origem ou sejam acessíveis.

Android

  1. Atualize o Chrome e o Android System WebView (Ajustes → Aplicativos → Mostrar sistema).
  2. Navegadores de terceiros (como o nativo de marcas chinesas) em modo compatível → troque pelo Chrome.
  3. Bem-estar Digital / Family Link – não afetam diretamente a API, mas podem impedir o upload de arquivos grandes.

Rede, VPN e Intranet corporativa

CenárioDescrição
VPN corporativaSe as texturas do modelo vêm de uma CDN interna, erros de CORS ou certificado podem causar falha – o Console mostrará erros de rede
Proxy transparenteSe a resposta da imagem for substituída ou corrompida, createImageBitmap pode rejeitar
Intranet apenas HTTPContexto não seguro – a API pode estar indisponível ou ter comportamento limitado
Zero Trust / SSL inspectionCertificados autoassinados precisam ser importados como confiáveis; caso contrário, recursos não carregam

Sugestão: Desconecte a VPN, mude para um hotspot e faça upload de um modelo geométrico puro sem texturas externas – se funcionar com geometria pura e falhar com texturas, investigue a rede/CORS primeiro.

Políticas corporativas e controles parentais

  • Proteção de Aplicativos do Intune pode restringir "Salvar como/Download", afetando indiretamente o fluxo de seleção de imagens, mas a API em si deve existir – teste no Console para diferenciar.
  • Gerenciamento de iPads escolares: proibir o app "Arquivos" não afeta a API, mas afeta o método de upload; use canais de upload compatíveis.
  • DNS do controle parental no roteador: se bloquear o domínio do Any3D, o site inteiro fica indisponível, não apenas o createImageBitmap.

Correção passo a passo (genérica)

  1. HTTPS + navegador atualizado + reinicie.
  2. Janela anônima para excluir extensões.
  3. Abra no navegador do sistema, não no WebView de um app.
  4. Verifique também se o Web Worker e o OffscreenCanvas estão com alertas.

Teste rápido

typeof createImageBitmap !== "undefined";

Avançado (requer HTTPS e uma URL de imagem acessível):

fetch("https://example.com/favicon.ico")
  .then((r) => r.blob())
  .then((b) => createImageBitmap(b))
  .then(() => console.log("ok"))
  .catch(console.error);

Resumo

Problemas com createImageBitmap geralmente são causados por WebView desatualizado, falta de HTTPS, VPN/intranet que impedem o carregamento de recursos. Atualizando o WebView de acordo com a plataforma, trocando de rede e excluindo extensões, o caminho de imagem do Worker costuma ser restaurado.

Apoie-nos