i.MX6的Qt企业版未使用硬件加速?

4
我们开发了一个应用程序,使用QT WebEngine测试WebGL功能。它可以工作,但是在渲染某些正弦波时,CPU利用率非常高(>30%)。根文件系统由QT Enterprise提供,如IMX6所述。

http://doc.qt.digia.com/QtEnterpriseEmbedded/qtee-preparing-hardware-imx6sabresd.html

在检查根文件系统时,我们发现没有GPU驱动程序(通常是IMX6的libVivante.so和libVivante.ko),因此看起来所有的GL渲染都是由CPU而不是GPU完成的,这就是高CPU利用率的原因。有人知道在QT WebEngine中启用WebGL硬件加速的其他方法吗?
1个回答

3
Qt WebEngine需要硬件加速来合成页面的图层,如果没有它,你可能无法在屏幕上看到任何内容。Chromium是Qt WebEngine的后台,它相当强大,更多地设计用于感知平滑度而不是利用CPU周期;它会尽其所能地使用所有资源来实现这一点。每个不同的WebGL画布将触发使用和绑定不同的FBO,需要进行GL上下文切换,并且尽可能经常更新状态将触发Chromium合成器启动,将所有委托场景发送到浏览器进程,最终结束在QtQuick的场景图线程中进行合成。所有这些都是为了说明单个JavaScript WebGL调用会触发比仅告诉OpenGL绘制这些几何体更大的机器。在这种设备上,30%的CPU使用率对我来说似乎并不异常,尽管可能有一种方法可以避免瓶颈。这样可以变得最有效的方法是使用如此示例所示的自定义QtQuick Scene Graph几何体:http://qt-project.org/doc/qt-5/qtquick-scenegraph-customgeometry-example.html,即使这样,我也不指望该设备的CPU使用率低于10%。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接