- 如何构建支持 OpenGL 的 X11 的 Qt?我的设备(GPU)上有硬件加速,但是当我将 qt(qml) 应用程序配置为使用 opengl 时,我看不到性能有任何改进……它的性能变得更慢。
我使用命令:
QApplication::setGraphicsSystem("opengl");
我使用 Qt 灯塔(不是 qt Embedded-linux)。
- 如何确保 Qt 真正使用 gpu 加速在屏幕上绘制 qt/qml 小部件?
我使用命令:
QApplication::setGraphicsSystem("opengl");
我使用 Qt 灯塔(不是 qt Embedded-linux)。
确保 Qt 与 /usr/lib[64]/libGL.so 动态链接(或者只是库路径中的 libGL.so)。与任何其他 libGL.so、静态链接或什至 libMesaGL.{so, a} 的链接意味着,您很可能会在您的程序中获得 OpenGL 的软件光栅化器实现,而不是在您的系统上使用硬件加速。还要确保您的系统确实支持硬件加速 OpenGL。
如果运行glxinfo | grep renderer
报告给你一些software
光栅化器,你就没有硬件加速。请注意,直接与间接与硬件加速无关,尽管有时会这样说。间接只是意味着 OpenGL 命令被封装到 X11 请求中并通过 X11 服务器发送,而不是绕过服务器直接传递给 OpenGL 实现。