Any3DAny3D
·Any3D Team

createImageBitmap 不可用?按平台与环境排查

troubleshootingbrowser-compatibilitycreateimagebitmap

你看到的症状

Any3D 提示「当前浏览器不支持 createImageBitmap」。这是 Worker 路径三件套之一,用于在后台高效解码图片像素。缺失后纹理压缩、图片转模型等流程无法走完整 Worker 路径,大文件更容易卡顿。

常见原因

原因典型场景
浏览器/WebView 过旧旧 Android WebView、App 内嵌页
非安全上下文HTTP 站点(非 localhost)、file://
跨域资源未正确配置企业 CDN/CORS 导致图片解码失败(表现为功能异常)
内存/标签页限制移动低内存设备、企业「单标签」策略
扩展干扰隐私插件修改 Image API 行为

按平台排查

Windows / macOS(桌面)

  1. 使用 Chrome / Edge / Firefox / Safari 最新稳定版
  2. 必须通过 HTTPS 打开 Any3D。
  3. macOS 屏幕使用时间Windows 家庭安全 若限制下载或媒体访问,可能影响大图解码——换管理员账户测试。
  4. 远程桌面:极高分辨率纹理在弱 GPU 环境可能解码失败,先用小图验证。

Linux

  1. 更新 Chrome/Firefox;Wayland 下若 GPU 解码异常,可尝试 X11 会话对比(少见)。

iOS / iPadOS

  1. Safari 14+ 起支持较好;保持 iOS 系统更新。
  2. 微信内置浏览器内核常滞后 → Safari 打开
  3. iCloud 专用代理 / 限制成人内容 一般不挡 createImageBitmap,但会挡跨域图床——确保模型贴图同源或可访问。

Android

  1. 更新 ChromeAndroid System WebView(设置 → 应用 → 显示系统应用)。
  2. 国产浏览器兼容模式 → 换 Chrome。
  3. 数字健康 / Family Link 限制后台活动时不直接影响 API,但可能阻止大文件上传。

网络、VPN 与企业内网

场景说明
公司 VPN若模型贴图走内网 CDN,CORS 或证书错误会导致 decode 失败——Console 会有网络报错
透明代理替换或损坏图片响应时,createImageBitmap 可能 reject
内网仅 HTTP非 secure context,API 可能不可用或行为受限
零信任 / SSL inspection自签证书需导入信任,否则资源加载失败

建议:断开 VPN、换热点,上传无外部贴图的纯几何模型测试——若纯几何正常而带贴图失败,优先查网络/CORS。

企业策略与家长控制

  • Intune App Protection 可能限制「另存为/下载」,间接影响用户选图流程,但 API 本身仍应存在——用 Console 自测区分。
  • 学校 iPad 监管:禁止「文件 App」时不影响 API,但影响上传方式;改用支持的上传渠道。
  • 路由器家长控制 DNS:若拦截 Any3D 域名,整站不可用,而非单独 createImageBitmap。

分步修复(通用)

  1. HTTPS + 最新浏览器 + 重启。
  2. 无痕窗口排除扩展。
  3. 系统浏览器打开,非 App WebView。
  4. 同时检查 Web WorkerOffscreenCanvas 是否也告警。

快速自测

typeof createImageBitmap !== "undefined"

进阶(需 HTTPS 与一张可访问的图片 URL):

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

小结

createImageBitmap 问题多为 旧 WebView、非 HTTPS、VPN/内网导致资源加载失败。按平台更新 WebView、换网络验证、排除扩展后,Worker 图像路径通常可恢复。

赞助支持