令人惊讶的是,我将 QWidget 切换为 QGLWidget,现在我的 QPainter::drawImage 调用速度提高了 5 倍。除了小部件类型之外,我没有改变其他任何东西。这如何使 QPainter 调用性能更好?我很高兴它有效,但我只是不明白如何。有任何想法吗?
谢谢。
QGLWidget 使用您系统上可用的 OpenGL 实现,它可能是硬件加速的。这取决于您的系统。Qt 小部件可以使用不同的 QPaintEngine 渲染。您甚至可以通过尝试运行带有参数 -graphicssystem 的应用程序来尝试将整个图形系统更改为使用 OpenGL。目前在 Qt for Linux Embedded 中无法做到这一点。例如,您可以尝试运行动画贴图示例的不同之处。请注意,这并不一定意味着性能会比光栅画家更好。这取决于系统的OpenGL实现,如果只是软件,性能可能会更差。
它使用 OpenGL 来渲染其内容。
如果它使用 OpenGL,它可能也在使用硬件加速