用途:为 Web 浏览器游戏开发提供选型与工程原则,覆盖框架选择、渲染 API、性能、资源、PWA 与音频等主题。
主要能力:
- 框架选型决策树:2D 全功能引擎选 Phaser,2D 渲染与 UI 选 PixiJS;3D 全引擎(物理、XR)选 Babylon.js,3D 渲染为主选 Three.js;混合或 Canvas 场景可用原生 Canvas/WebGL。资料给出 2025 年对比:Phaser 4(2D 全功能)、PixiJS 8(2D 渲染/UI)、Three.js(3D 可视化、轻量)、Babylon.js 7(3D 全引擎、XR)。
- WebGPU 采用:2025 年浏览器支持为 Chrome/Edge 自 v113、Firefox 自 v131、Safari 自 18.0,全球约 73%。新项目建议用 WebGPU 并保留 WebGL 回退;需兼容旧环境则从 WebGL 起步;用 navigator.gpu 做特性检测。
- 性能原则:浏览器约束包括无本地文件访问(需资源打包或 CDN)、标签页节流(隐藏时暂停)、移动流量限制(压缩资源)、音频自动播放限制(需用户交互)。优化优先级为资源压缩(KTX2、Draco、WebP)、按需懒加载、对象池避免 GC、批处理绘制调用、用 Web Worker 卸载重计算。
- 资源策略:纹理用 KTX2 + Basis Universal,音频用 WebM/Opus(回退 MP3),3D 模型用 glTF + Draco/Meshopt。加载分阶段:启动加载核心资源(小于 2MB),游戏过程按需流式加载,后台预取下一关。
- PWA:收益为离线游玩、安装到主屏、全屏模式、推送通知;要求 Service Worker 缓存、Web App Manifest、HTTPS。
- 音频:AudioContext 需用户交互后创建,首次点击/触摸时创建,挂起时恢复;建议用 Web Audio API、池化音源、预加载常用音效、以 WebM/Opus 压缩。
- 反模式:不要一次性加载全部资源、忽略标签页可见性、阻塞等待音频加载、跳过压缩、假设网络很快;应改为渐进加载、隐藏时暂停、懒加载音频、全面压缩、处理慢网络。
使用方式与限制:资料为原则性指导,未提供具体安装命令、代码示例或平台收费信息,暂未提供。