gpt4 book ai didi

opengl-es - Qt Enterprise for IMX6 不使用硬件加速?

转载 作者:行者123 更新时间:2023-12-04 17:17:44 25 4
gpt4 key购买 nike

我们构建了一个使用 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 硬件加速的任何其他方法吗?

最佳答案

Qt WebEngine 需要硬件加速来合成页面的层,没有它你可能无法在屏幕上看到任何东西。

Qt WebEngine 背后的 Chromium 是一头野兽,它的设计更多是为了感知平滑而不是产生 CPU 周期;它将使用它可以实现的所有资源。

任何 JavaScript WebGL 调用都会从主渲染线程,然后到 GPU 进程主线程,被解码为对驱动程序的 GL 调用。每个不同的 WebGL Canvas 会触发不同的 FBO 被使用和绑定(bind),需要 GL 上下文切换,并且尽可能频繁地,最新状态会触发 Chromium 合成器启动,将所有委托(delegate)的场景发送到浏览器进程,最终结束于 QtQuick 的场景图线程进行合成。

所有这一切都表明,一个 JavaScript WebGL 调用触发了一台比仅仅告诉 OpenGL 绘制这些几何图形更大的机器。这种设备上 30% 的 CPU 使用率对我来说似乎并不正常,尽管可能有一种方法可以避免瓶颈。

最有效的方法是使用自定义 QtQuick Scene Graph 几何体,如下例所示:http://qt-project.org/doc/qt-5/qtquick-scenegraph-customgeometry-example.html ,但即便如此,我也不希望该设备上的 CPU 使用率低于 10%。

关于opengl-es - Qt Enterprise for IMX6 不使用硬件加速?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25885542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com