Kris

¿OffscreenCanvas no disponible? Solución por plataforma y entorno

Solución de problemasCompatibilidad de navegadorOffscreenCanvas

El síntoma que ves

Any3D te muestra: «El navegador actual no soporta OffscreenCanvas». Es uno de los tres elementos necesarios para el flujo de trabajo en Workers. Sin él, procesos como la compresión de texturas que requieren codificación WebGL2 dentro de un Worker no pueden ejecutarse por completo.

OffscreenCanvas permite crear un lienzo y obtener un contexto WebGL dentro de un Web Worker, realizando operaciones GPU en segundo plano sin bloquear la página.

Causas habituales

CausaEscenario típico
Navegador/WebView demasiado antiguoChrome < 69, Safari < 16.4, Android WebView antiguo
Aceleración por hardware desactivadaWindows/macOS con modo ahorro o políticas que deshabilitan la GPU
Políticas empresarialesGPO deshabilita GPU, MDM limita capacidades gráficas
WebView embebidoWhatsApp, apps corporativas, carcasa antigua de Electron
Capa de redPoco frecuente; suele ser fallo al cargar scripts, no la API en sí

Solución por plataforma

Windows

  1. Chrome / Edge: Ajustes → Sistema → Activar «Usar aceleración por hardware» → cierra completamente y reinicia el navegador.
  2. Controladores de gráficos: En portátiles con doble GPU, asegúrate de que el navegador utiliza la GPU dedicada (Panel de control de NVIDIA / AMD Software).
  3. Directiva de grupo: Las políticas del tipo «Deshabilitar aceleración por hardware» impiden la creación del contexto WebGL de OffscreenCanvas.
  4. Escritorio remoto (RDP): Algunas sesiones RDP limitan la GPU; prueba iniciando sesión localmente para comparar.

macOS

  1. Safari 16.4+ o Chrome actualizado.
  2. Ajustes del sistema → Batería → El modo bajo consumo puede reducir la programación de la GPU; prueba enchufado.
  3. Tiempo de uso no suele deshabilitar OffscreenCanvas directamente, pero si hay restricciones MDM sobre las APIs gráficas, contacta con TI.

Linux

  1. Verifica que los controladores Mesa o propietarios funcionan correctamente; prueba con Chrome actualizado tanto en Wayland como en X11.
  2. Los navegadores remotos en servidores sin cabeza necesitan una GPU virtual (poco común en entornos personales).

iOS / iPadOS

  1. Safari se actualiza con el sistema (iOS 16.4+ ofrece soporte completo de OffscreenCanvas).
  2. Los WebView dentro de apps pueden estar desactualizados respecto al Safari del sistema — abre el enlace en Safari.
  3. Los iPads escolares en modo supervisado pueden tener sistemas antiguos bloqueados; necesita actualización del administrador.

Android

  1. Actualiza Chrome y Android System WebView.
  2. Los navegadores de terceros (como los basados en kernels alternativos) pueden no ser compatibles; cambia al modo rápido o usa Chrome.
  3. En terminales de gama baja con controladores GPU muy antiguos: prueba desactivando el «Modo ahorro de batería» y vuelve a intentarlo.

Red, VPN y entornos corporativos

OffscreenCanvas es una API local, normalmente no se ve afectada directamente por la VPN. Sin embargo, si la VPN hace que el navegador entre en «modo seguro» o carga extensiones corporativas que inyectan scripts, podría fallar indirectamente:

  • Desconecta la VPN y compara.
  • Comprueba si el navegador corporativo fuerza «renderizado por software».
  • Si está embebido en un iframe, asegúrate de que el contexto padre no bloquea WebGL dentro del Worker.

Control parental y dispositivos supervisados

  • Family Link / Tiempo de uso: rara vez deshabilitan OffscreenCanvas directamente; lo más común es impedir la actualización del navegador, dejando la API obsoleta — permite que el sistema se actualice automáticamente.
  • Modo examen / biblioteca: pueden usar navegadores personalizados; lo mejor es usar un dispositivo personal.

Pasos de reparación (genéricos)

  1. Actualiza el navegador al menos a la versión mínima indicada en la tabla anterior.
  2. Activa la aceleración por hardware y reinicia el navegador.
  3. Abre el enlace en el navegador del sistema, no en un WebView dentro de una app.
  4. Si también aparece un error de WebGL2, resuelve primero la guía de reparación de WebGL2.

Autocomprobación rápida

typeof OffscreenCanvas !== "undefined";

Si devuelve false, el entorno no soporta esta API.

Resumen

La falta de OffscreenCanvas suele deberse a navegadores/WebView antiguos, aceleración por hardware desactivada, escritorio remoto en Windows o políticas GPU empresariales. Activando la aceleración GPU según la plataforma, actualizando el WebView y usando el navegador del sistema, normalmente se recupera la capacidad de codificación GPU dentro del Worker.

Apóyanos