故障排除
本节列出了您在使用 QtApplicationManager 可能遇到的某些问题以及如何解决这些问题。
可能的问题 |
---|
我如何检查我的应用程序管理器实例是否在多进程模式下运行? |
我如何找出为什么我的应用程序管理器实例不支持多进程模式? |
我的应用程序在应用程序管理器中运行缓慢。有哪些可能的解决方案? |
我如何找出我的应用程序是否使用硬件加速? |
我如何启用硬件加速? |
我如何检查我的应用程序管理器实例是否在多进程模式下运行?
使用 --verbose
参数启动应用程序管理器并验证输出中是否出现 WindowManager: 运行在 Wayland 模式下
。或者,启动一个应用程序并确保至少看到一个 appman-launcher-qml
进程正在运行。
我如何找出为什么我的应用程序管理器实例不支持多进程模式?
检查 "应用程序管理器配置",在运行 qmake
命令时可见。可能您的配置不支持 QtCompositor
模块。
我的应用程序在应用程序管理器中运行缓慢。有哪些可能的解决方案?
验证您的应用程序是否使用硬件加速。
我如何找出我的应用程序是否使用硬件加速?
使用环境变量 QSG_INFO=1
运行 appman
。当您启动一个应用程序时,您应该看到类似的输出
[DBG | qt.scenegraph.general | c.p.music] Using sg animation driver [DBG | qt.scenegraph.general | c.p.music] Animation Driver: using vsync: 16.95 ms [DBG | qt.scenegraph.general | c.p.music] texture atlas dimensions: 1024x1024 [DBG | qt.scenegraph.general | c.p.music] R/G/B/A Buffers: 8 8 8 8 [DBG | qt.scenegraph.general | c.p.music] Depth Buffer: 24 [DBG | qt.scenegraph.general | c.p.music] Stencil Buffer: 8 [DBG | qt.scenegraph.general | c.p.music] Samples: 0 [DBG | qt.scenegraph.general | c.p.music] GL_VENDOR: VMware, Inc. [DBG | qt.scenegraph.general | c.p.music] GL_RENDERER: llvmpipe (LLVM 5.0, 256 bits) [DBG | qt.scenegraph.general | c.p.music] GL_VERSION: 3.0 Mesa 17.3.0
如果 GL_RENDERER
是 llvmpipe
,您正在为 Wayland 客户端使用软件渲染。
注意:根据应用程序在前缀中的应用程序 ID,此信息也可以用于系统 UI 本身。在上面的示例中,com.pelagicore.music
截短为 c.p.music
。
我如何启用硬件加速?
这取决于您的硬件和操作系统
您需要确保已正确安装了正确的驱动程序
- 对于 Ubuntu 或 Debian 上的 NVIDIA,您需要
nvidia-egl-wayland-icd
- 对于 Ubuntu 或 Debian 上的 Intel,您需要
libwayland-egl1-mesa
在桌面系统上,请确保您的 Qt 配置为至少使用 OpenGL ES2/ES3 而不是桌面 OpenGL。在 Qt 的配置摘要中,验证您是否看到以下行
OpenGL ES 2.0 ........................ yes
您可以使用 --opengl
es2 配置选项强制 Qt 使用 OpenGL ES2。
此外,您还需要确保已构建 wayland-egl
集成插件。如果插件构建成功,您应该有如下文件:<QT_DIR>/plugins/wayland-graphics-integration-client/libwayland-egl.so
如果没有此文件,请检查 QtWayland 的配置摘要,并确保已构建此插件。
©2019 瑞典 Luxoft AB。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会发布的 GNU 自由文档许可版 1.3 的条款进行许可。Qt 和相应商标是芬兰 Qt 公司或全球其它国家的商标。所有其他商标归各自所有者所有。