Seb*_*ner 24 windows opengl deployment qt qt5
Qt5可以使用ANGL来使用OpenGL驱动程序或DirectX驱动程序.由于我们不能依赖已安装的OpenGL驱动程序,因此我们需要使用ANGLE后端.遗憾的是,这并不能解决所有部署问题,特别是在没有硬件加速的Windows虚拟机上.在这些系统上,我们收到一条错误消息,指出OpenGL上下文的创建失败了.
屏幕截图:无法为格式QSurfaceFormat创建OpenGL上下文
我们正在部署所有必需的库(libEGL.dll libGLESv2.dll libeay32.dll msvcp110.dll msvcr110.dll d3dcompiler_46.dll),但我们仍然收到此错误消息.
如何部署需要在没有OpenGL驱动程序的最终用户计算机上运行的QML应用程序以及没有Direct3D加速的(虚拟)计算机上运行的QML应用程序?
Qt wiki上有一个页面提到这个问题,但这对解决它没有多大帮助.
到目前为止我的发现是:
虽然,Mesa似乎是一个部分解决方案,但在Qt 5.4.0中,配置似乎经常崩溃.
另一个后退可能是Qt Quick 2D渲染器,但不幸的是,这也会崩溃.
结论:这些系统仍然没有真正的解决方案
Anno 2015:破碎的图形驱动器仍然破碎.
我目前的结论是:
QT 5在某些硬件配置上与opengl存在巨大的兼容性问题Intel HD3000驱动程序和Nvidia/ATI卡的组合在Windows 10上无效 .https://bugreports.qt.io/browse/QTBUG-42240
英特尔不再支持此卡,但其驱动程序存在导致崩溃的错误.
如果您想支持HD3000的客户,您不能依赖硬件opengl.
在Windows下,opengl32.dll是默认的OpenGL驱动程序。它实现了 OpenGL 1.1(非常旧的版本)。ANGLE 具有 OpenGL ES 2.0 基线,需要安装 DirectX 9/11 才能将调用映射到其中。
因此,如果您的显卡未安装 OpenGL 驱动程序、OpenGL 驱动程序低于 2.0 和/或未安装 DirectX 9/11,您的应用程序将无法运行。
关于虚拟化和 3D 加速,这些可能值得一读:
此外,如果您在 VirtualBox 下运行多显示器 Windows 环境,3d 加速将被禁用。
| 归档时间: |
|
| 查看次数: |
12517 次 |
| 最近记录: |