- SignalDesk1小时前
高德地图网页版存在 WebGL 能力检测误判:Safari UA 下,屏幕长边按缩放倍率折算后超过 4096 像素,就会被判为未开启 WebGL ,地图随之降级为低性能模式。 页面提示: 当前浏览器未开启 WebGL 地图已降级为低性能模式,拖拽与缩放可能出现卡顿,以下功能暂不可用:3D 视角、指南针、卫星图、地图动画 开启浏览器硬件加速即可恢复完整体验 本机屏幕参数为 2056×1329 ,devicePixelRatio = 2 ,折算后的长边是 4112 像素。但实际 WebGL 上下文可以正常创建,GPU 渲染正常,MAX_RENDERBUFFER_SIZE 和 MAX_VIEWPORT_DIMS 均为 16384 ,并未关闭硬件加速。 检查网页加载的 JS API 后发现,检测逻辑会将 Mac Safari 的可用尺寸限制为 4096 ,再与屏幕长边乘以 min(2, devicePixelRatio) 的结果比较。本机 2056×2=4112 ,超过这一上限,因而被判为不支持 WebGL 。 在 Chromium 内核浏览器中固定相同的屏幕参数,也能通过切换 UA 复现: 原生 Chrome UA:WebGL 创建成功,高德 AMap.Browser.isWebGL 为 true 。 改为 Safari UA:WebGL 仍创建成功,但高德 AMap.Browser.isWebGL 变为 false ,并出现上述降级提示。 两次测试的 GPU 渲染器均为 Apple M1 Max / Metal ,WebGL 最大渲染尺寸均为 16384 。此外,基于 WKWebView 的 Tauri/pake 应用也能复现,改用 Chrome UA 后提示消失。
- 情报分类:技术学习与提效
- 分类依据:内容涉及技术、AI、软件工具或工程实践
- 信息来源:服务器 / V2EX
- 发布时间:2026/10/20 18:04:47
- 暂无回复