不支持opengl,是否意味着不能用QML开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不支持opengl,是否意味着不能用QML开发相关的知识,希望对你有一定的参考价值。

不会啊, qml不仅可以opengl渲染, 还有内置的software渲染,还有其他渲染方式,只是不支持阴影效果还有粒子效果等。 有个变量可以设置,建议你帮助文档搜索software, 很快就可以找到答案的
帮助文档搜索 “Scene Graph Adaptations”查看这块文档。
设置环境变量, 然后启动程序, 比如要用Qt的渲染方式, 那设置 QMLSCENE_DEVICE=software
参考技术A 不会啊,
qml不仅可以opengl渲染,
还有内置的software渲染,还有其他渲染方式,只是不支持阴影效果还有粒子效果等。
有个变量可以设置,建议你帮助文档搜索software,
很快就可以找到答案的

在 RDP 下运行 QML 应用程序时出现 OpenGL 问题

【中文标题】在 RDP 下运行 QML 应用程序时出现 OpenGL 问题【英文标题】:OpenGL issue while running QML application under RDP 【发布时间】:2016-12-19 06:28:08 【问题描述】:

我使用 QtQuick 和 QML 开发了我的应用程序,它在 windows 和 linux 上运行良好,但在通过 RDP 连接到远程对等方时应用程序 UI 不显示,它在 VNC 上运行良好。

我已经通过各种配置对其进行了测试,但它从未在 RDP 上运行过。错误是说

createWindowSurface:无法创建 EGL 窗口表面:0x300e

我认为问题在于 opengl,但我从未在此应用程序中使用过 opengl。

我的应用程序基于 Qt Quick 示例提供的简单 QML 应用程序。他们也不工作。

【问题讨论】:

RDP 不支持 OpenGL > 1.1。我知道的唯一解决方法是在物理机上启动应用程序,然后通过 RDP 连接。或者使用不同的远程系统。 @rubenvb 没有任何改变,我之前测试过。 【参考方案1】:

我不知道 Qt 的 Opengl 堆栈出了什么问题,但通常它应该打开软件模式。

我认为问题在于 opengl,但我从未在此应用程序中使用过 opengl。

是的,问题在于 OpenGL over RDP,在 Qt Quick2 中,默认支持的是原生 OpenGL 后端,因此如果您使用 Qt Quick 2 开发应用程序,则需要 OpenGL 驱动程序。

尝试让 QT_OPENGL=software 在环境变量中,暂时修复它。

【讨论】:

以上是关于不支持opengl,是否意味着不能用QML开发的主要内容,如果未能解决你的问题,请参考以下文章

QML 可以替代 Qt 中的 OpenGL 吗?

在 RDP 下运行 QML 应用程序时出现 OpenGL 问题

Qt5快速qml测试和opengl渲染的问题

QML下的OpenGL

使用 Vulkan 渲染 Qml

Qt QML:限制最大FPS