Any3DAny3D
·Any3D Team

createImageBitmap недоступен? Устранение неполадок по платформам и средам

troubleshootingbrowser-compatibilitycreateimagebitmap

Вы видите симптом

Any3D сообщает: «Текущий браузер не поддерживает createImageBitmap». Это один из ключевых компонентов Worker-пути для эффективного декодирования пикселей изображений в фоновом режиме. Без него невозможно полностью реализовать Worker-путь для сжатия текстур, конвертации изображений в модели и т.д., что часто приводит к зависаниям при работе с большими файлами.

Типичные причины

ПричинаТипичный сценарий
Устаревший браузер/WebViewСтарые Android WebView, встроенные страницы приложений
Небезопасный контекстHTTP-сайты (кроме localhost), протокол file://
Неправильная настройка кросс-доменных ресурсовКорпоративный CDN/CORS приводит к сбою декодирования изображений (проявляется как функциональные нарушения)
Ограничения памяти/вкладокМобильные устройства с небольшим объемом RAM, корпоративные политики «одной вкладки»
Вмешательство расширенийПлагины конфиденциальности изменяют поведение Image API

Устранение неполадок по платформам

Windows / macOS (ПК)

  1. Используйте последние стабильные версии Chrome / Edge / Firefox / Safari.
  2. Откройте Any3D через HTTPS.
  3. Ограничения экранного времени на macOS или семейная безопасность в Windows, ограничивающие загрузку или доступ к медиа, могут влиять на декодирование больших изображений — проверьте, используя учетную запись администратора.
  4. Удаленный рабочий стол: текстуры сверхвысокого разрешения могут не декодироваться в среде со слабой GPU. Начните с проверки на небольшом изображении.

Linux

  1. Обновите Chrome/Firefox; при аномалиях декодирования GPU в Wayland попробуйте сравнить с сессией X11 (встречается редко).

iOS / iPadOS

  1. Хорошая поддержка начинается с Safari 14+; поддерживайте обновление iOS.
  2. Встроенный браузер в WeChat часто использует устаревшее ядро → откройте в Safari.
  3. Частный прокси iCloud / ограничения контента для взрослых обычно не блокируют createImageBitmap, но могут блокировать кросс-доменные хостинги изображений — убедитесь, что текстуры модели доступны с того же источника или без ограничений.

Android

  1. Обновите Chrome и Android System WebView (Настройки → Приложения → показать системные приложения).
  2. Отечественные браузеры в режиме совместимости → замените на Chrome.
  3. Цифровое здоровье / Family Link, ограничивающие фоновую активность, не влияют напрямую на API, но могут блокировать загрузку больших файлов.

Сеть, VPN и корпоративная интрасеть

СценарийПояснение
Корпоративный VPNЕсли текстуры модели загружаются через корпоративный CDN, ошибки CORS или сертификатов приведут к сбою декодирования — в Console будут сетевые ошибки
Прозрачный проксиПри замене или повреждении ответов изображений createImageBitmap может отклонить (reject) промис
Только HTTP в интрасетиНебезопасный контекст (insecure context), API может быть недоступен или работать с ограничениями
Zero Trust / SSL inspectionСамоподписанные сертификаты необходимо добавить в доверенные, иначе загрузка ресурсов будет невозможна

Рекомендация: отключите VPN, переключитесь на точку доступа (hotspot) и загрузите чистую геометрическую модель без внешних текстур — если простая модель работает, а с текстурами нет, в первую очередь проверьте сеть/CORS.

Корпоративные политики и родительский контроль

  • Intune App Protection может ограничивать «Сохранить как/загрузку», косвенно влияя на процесс выбора изображений пользователем, но сам API по-прежнему должен присутствовать — проверьте через Console.
  • Управление iPad в школах: запрет «Приложения Файлы» не влияет на API, но затрагивает способы загрузки; используйте поддерживаемые каналы загрузки.
  • Родительский контроль DNS на маршрутизаторе: если блокируется домен Any3D, весь сайт будет недоступен, а не только createImageBitmap.

Пошаговое устранение неполадок (общий случай)

  1. HTTPS + актуальный браузер + перезагрузка.
  2. Окно в режиме инкогнито для исключения влияния расширений.
  3. Откройте в системном браузере, а не во встроенном WebView приложения.
  4. Одновременно проверьте наличие предупреждений для Web Worker и OffscreenCanvas.

Быстрая самопроверка

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-путь обработки изображений обычно восстанавливается.

Поддержите нас