¿OffscreenCanvas no disponible? Solución por plataforma y entorno
Síntomas que ves
Any3D muestra "El navegador actual no soporta OffscreenCanvas". Es uno de los tres elementos clave del camino del Worker; sin él, procesos como la compresión de texturas que requieren codificación con WebGL2 dentro de un Worker no pueden ejecutarse completamente.
OffscreenCanvas permite crear un lienzo en un Web Worker y obtener un contexto WebGL, completando operaciones de GPU en segundo plano sin bloquear la página.
Causas comunes
| Causa | Escenario típico |
|---|---|
| Navegador/WebView desactualizado | Chrome < 69, Safari < 16.4, Android WebView antiguo |
| Aceleración de hardware desactivada | Windows/macOS en modo de ahorro de energía o políticas que deshabilitan la GPU |
| Políticas empresariales | GPO que deshabilita la GPU, MDM que restringe capacidades gráficas |
| WebView embebido | WeChat, aplicaciones empresariales, entornos antiguos de Electron |
| Capa de red | Poco común; generalmente es una falla en la carga del script, no en la API en sí |
Verificación por plataforma
Windows
- Chrome / Edge: Configuración → Sistema → Activar "Usar aceleración de hardware" → Cerrar completamente y reiniciar el navegador.
- Controlador de tarjeta gráfica: En portátiles con gráficos duales, asegúrese de que el navegador use la tarjeta dedicada (Panel de control de NVIDIA / AMD Software).
- Directiva de grupo: Las políticas del tipo "Deshabilitar aceleración de hardware" causarán fallos en la creación del contexto WebGL de OffscreenCanvas.
- Escritorio remoto (RDP): Algunas sesiones de RDP tienen capacidades de GPU limitadas; pruebe iniciando sesión localmente para comparar.
macOS
- Safari 16.4+ o Chrome en su última versión.
- Configuración del sistema → Batería → El modo de bajo consumo puede reducir la programación de la GPU; reintente conectado a la corriente.
- Tiempo de uso de pantalla generalmente no deshabilita directamente OffscreenCanvas, pero si MDM restringe las API gráficas, contacte al departamenteo de TI.
Linux
- Confirme que Mesa/controladores propietarios funcionan correctamente; pruebe con la última versión de Chrome tanto en Wayland como en X11.
- Los servidores sin cabeza que usan navegadores de forma remota requieren una GPU virtual (escenario personal poco común).
iOS / iPadOS
- Safari se actualiza con el sistema (el soporte completo para OffscreenCanvas comienza en iOS 16.4+).
- El WebView dentro de una aplicación puede estar desactualizado respecto al Safari del sistema — abra el enlace en Safari directamente.
- Los iPads escolares en modo de supervisión pueden tener sistemas bloqueados; necesitarán que el administrador realice la actualización.
Android
- Actualice Chrome y el Android System WebView.
- Los núcleos de compatibilidad de navegadores nacionales no lo soportan → cambie al modo rápido o use Chrome.
- En dispositivos de gama baja con controladores GPU antiguos: intente desactivar "Modo de ahorro de energía" y reintente.
Red, VPN y entorno empresarial
OffscreenCanvas es una API local y normalmente no se ve afectada directamente por VPN. Sin embargo, si la VPN provoca que el navegador se degrade a "modo seguro" o cargue extensiones empresariales con scripts inyectados, puede fallar indirectamente:
- Desconecte la VPN y compare;
- Verifique si el navegador empresarial fuerza "renderizado por software";
- Al usar iframe embebido, confirme que el nivel externo no bloquee el WebGL dentro del Worker.
Control parental y dispositivos supervisados
- Family Link / Tiempo de uso de pantalla: Rara vez deshabilita OffscreenCanvas directamente; lo más común es que prohíba la instalación de actualizaciones del navegador, dejando la API desactualizada — permita que el sistema se actualice automáticamente.
- Modo de examen/biblioteca: Puede usar un navegador personalizado; se recomienda cambiar a un dispositivo personal.
Solución paso a paso (general)
- Actualice el navegador a la versión mínima indicada en la tabla anterior.
- Active la aceleración de hardware y reinicie el navegador.
- Abra con el navegador del sistema, no con el WebView de una aplicación.
- Si también tiene errores de WebGL2, primero consulte la guía de solución de WebGL2.
Autoprueba rápida
typeof OffscreenCanvas !== "undefined"
Si devuelve false, significa que el entorno actual no soporta esta API.
Resumen
La ausencia de OffscreenCanvas es más común en navegadores/WebViews antiguos, aceleración de hardware desactivada, escritorio remoto en Windows o políticas empresariales de GPU. Habilitar la aceleración de GPU por plataforma, actualizar el WebView y cambiar al navegador del sistema suele restaurar la capacidad de codificación GPU dentro de Workers.