-
Notifications
You must be signed in to change notification settings - Fork 0
11 FAQ
常见问题、调试手段与排错思路。
调用 ToggleDevTools()(蓝图/C++,见 03-WebNativeWidget 参数配置)打开 Chromium DevTools,或通过远程调试端口在 Chrome/Edge 中调试:
图 11-1 DevTools 调试窗口
远程调试端口范围由 06-CEF 参数配置 的 debugging_port_min/max 控制(默认 9223–9262,0 表示禁用)。
配置 show_cef_performance_monitor=true 后,浏览器左上角显示实时 FPS / 内存 / 渲染模式叠加层,用于快速判断瓶颈在网页还是 UE:
图 11-2 CEF 性能监视器
- CEF 日志:
<Project>/Saved/Logs/cef/ - UE 日志:
<Project>/Saved/Logs/<Project>.log
WebNativeBrowser 面向复杂、跨平台和产品化的 Web UI 场景,提供 JS ↔ UE 消息、Linux/ARM64、中文输入、透明交互、上传下载、权限和配套调试等能力。最终选择应基于项目目标、平台和实际验证。
完美兼容,通常加载前端开发服务器或前端构建结果。支持离线包,在线网址
UE 收到字符串。JS 对象会被转换为 JSON 字符串;UE 按业务需要解析。
UE → JS 的公开消息体始终是原始字符串。只有业务明确知道它是 JSON 时,才在 JS 中调用 JSON.parse()。
可以在 UE 收到业务消息后触发相应逻辑。消息自动回调到主线程,UObject 和场景操作应在 UE 游戏线程执行。
支持。参见 04-高级交互。插件负责打通 Web 与 UE 的交互基础能力;最终 Actor 类型、射线检测、预览、吸附、碰撞、权限和生成规则由项目蓝图/C++ 控制。
通道按文本处理,支持普通 Unicode 文本,包括中文和 emoji。它不是二进制通道;二进制数据应使用文件或网络传输。
支持。不同发行版、桌面环境和输入法组合仍应按兼容性表实测,参见 10-Linux 中文支持。
先使用产品针对目标环境的推荐值。部分国产 CPU/GPU 媒体环境需要兼容性优先模式(linux_single_process=true);标准环境可验证多进程模式。切换后需要完整重启。
浏览器运行与"本机弹出交互窗口"是两个问题。无桌面部署应针对输入、窗口和文件流程单独设计。像素流送远端用户的文件上传应在远端浏览器完成。
支持。一个 UE 应用可创建多个 WebNativeBrowser 控件,同一打包程序也可同时启动多个独立实例。实际并发规模取决于网页、视频、分辨率、CPU、GPU 和内存,发布前应按目标硬件进行容量测试。
可以组合使用,Web UI 会作为 UE 最终画面的一部分输出。远端键鼠、触摸和焦点以项目 Pixel Streaming 输入配置为准,参见 09-云渲染支持。
不能承诺所有第三方网站。登录、跨域、证书、iframe、CSP、DRM、扩展依赖和网站策略都可能影响结果,请对目标网站实测。
- 避免每条高频消息都修改 DOM。
- 合并状态后按帧或业务周期更新。
- 不打印完整大对象。
- 检查页面本身的定时器和渲染开销。
- 使用最小页面区分网页性能与 UE 业务性能。
- 确认页面已加载完成(监听
DOMContentLoaded后再调用)。 - 确认加载的是插件承载的页面,而非外部独立浏览器。
- 用 DevTools 查看 Console 是否有报错。
- 确认 Widget 开启了
bEnableMouseTransparency。 - 检查
MouseTransparencyAlphaThreshold:页面透明区域像素 alpha 必须低于阈值。 - 确认没有其他 Widget/焦点抢占输入。
不建议。关闭编辑器,备份配置,完整移除旧插件目录,再复制新版本,避免旧二进制或资源残留。
提供以下信息:
- WebNativeBrowser 版本(如 v1.0.0)
- UE 版本、平台架构、系统
- CPU / GPU / 驱动版本
- Development 或 Shipping 构建
- 最小复现步骤
- 脱敏后的日志(
Saved/Logs/cef/与 UE 日志)
⚠️ 不要上传授权文件、机器码文件或客户数据到公开渠道,请通过商务渠道处理。
- 兼容性矩阵:08-平台兼容性
- 参数与配置:03-WebNativeWidget 参数配置 / 06-CEF 参数配置
- 回到首页:Home