·Any3D Team
createImageBitmap를 사용할 수 없나요? 플랫폼과 환경별 문제 해결
troubleshootingbrowser-compatibilitycreateimagebitmap
확인되는 증상
Any3D가 "현재 브라우저는 createImageBitmap을 지원하지 않습니다"라고 표시됩니다. 이는 백그라운드에서 이미지 픽셀을 효율적으로 디코딩하는 Worker 경로의 세 가지 구성 요소 중 하나입니다. 이 기능이 없으면 텍스처 압축, 이미지 변환 등 Worker 경로를 완전히 처리할 수 없어 대용량 파일이 더 쉽게 지연될 수 있습니다.
일반적인 원인
| 원인 | 일반적인 상황 |
|---|---|
| 브라우저/WebView가 너무 오래됨 | 이전 Android WebView, 앱 내장 페이지 |
| 보안 컨텍스트가 아님 | HTTP 사이트 (localhost가 아님), file:// |
| 교차 출처 리소스가 올바르게 구성되지 않음 | 기업 CDN/CORS로 인한 이미지 디코딩 실패 (기능 이상으로 표시) |
| 메모리/탭 제한 | 모바일 저사양 기기, 기업 "단일 탭" 정책 |
| 확장 프로그램 간섭 | 프라이버시 플러그인이 Image API 동작을 변경 |
플랫폼별 문제 해결
Windows / macOS (데스크톱)
- Chrome / Edge / Firefox / Safari 최신 안정 버전을 사용합니다.
- 반드시 HTTPS를 통해 Any3D를 엽니다.
- macOS 화면 사용 시간, Windows 가족 안전에서 다운로드나 미디어 접근을 제한하는 경우 대용량 이미지 디코딩에 영향을 줄 수 있습니다 — 관리자 계정으로 테스트해 보세요.
- 원격 데스크톱: 매우 높은 해상도 텍스처가 약한 GPU 환경에서 디코딩에 실패할 수 있으므로 작은 이미지로 먼저 테스트합니다.
Linux
- Chrome/Firefox를 업데이트합니다; Wayland 환경에서 GPU 디코딩 비정상 시 X11 세션으로 전환하여 비교 테스트할 수 있습니다 (드문 경우).
iOS / iPadOS
- **Safari 14+**부터 비교적 잘 지원됩니다; iOS 시스템을 업데이트하여 유지합니다.
- WeChat 브라우저 엔진은 종종 지연됩니다 → Safari에서 열기.
- iCloud 프라이빗 릴레이 / 성인 콘텐츠 제한은 일반적으로 createImageBitmap을 차단하지 않지만 교차 출처 이미지 호스팅을 차단할 수 있습니다 — 모델 텍스처가 동일 출처이거나 접근 가능하도록 확인합니다.
Android
- Chrome과 Android System WebView를 업데이트합니다 (설정 → 애플리케이션 → 시스템 앱 표시).
- 국내 브라우저의 호환 모드 → Chrome으로 전환합니다.
- 디지털 웰빙 / Family Link가 백그라운드 활동을 제한할 때 API에 직접적인 영향을 주지는 않지만 대용량 파일 업로드를 차단할 수 있습니다.
네트워크, VPN 및 기업 내부 네트워크
| 상황 | 설명 |
|---|---|
| 회사 VPN | 모델 텍스처가 내부 네트워크 CDN을 사용할 경우, CORS 또는 인증서 오류로 디코딩 실패 발생 — Console에 네트워크 오류 표시 |
| 투명 프록시 | 이미지 응답을 대체하거나 손상시킬 경우, createImageBitmap이 reject될 수 있음 |
| 내부 네트워크 HTTP만 사용 | 보안 컨텍스트가 아니므로 API가 사용 불가능하거나 동작이 제한될 수 있음 |
| 제로 트러스트 / SSL inspection | 자체 서명 인증서를 신뢰할 수 있도록 가져와야 하며, 그렇지 않으면 리소스 로드 실패 |
권장사항: VPN을 끄고 핫스팟으로 전환한 후, 외부 텍스처가 없는 순수 기하학 모델을 업로드하여 테스트합니다 — 순수 기하학은 정상이지만 텍스처가 포함되면 실패하면 네트워크/CORS를 우선 확인합니다.
기업 정책 및 자녀 보호
- Intune App Protection은 "다른 이름으로 저장/다운로드"를 제한하여 간접적으로 사용자의 이미지 선택 과정에 영향을 줄 수 있지만, API 자체는 여전히 존재해야 합니다 — Console을 사용하여 직접 테스트하여 구분합니다.
- 학교 iPad 관리: "파일 앱"을 사용하지 않도록 설정해도 API에는 영향을 주지 않지만 업로드 방식에 영향을 줍니다; 지원되는 업로드 채널로 변경합니다.
- 라우터 자녀 보호 DNS: Any3D 도메인을 차단하면 전체 사이트가 사용 불가능해지며, createImageBitmap만 차단되지 않습니다.
단계별 수정 (일반)
- HTTPS + 최신 브라우저 + 재시작.
- 시크릿 창으로 확장 프로그램을 제외합니다.
- 시스템 브라우저에서 열기, 앱 WebView가 아닌.
- 동시에 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 이미지 경로를 복구할 수 있는 경우가 많습니다.