我正在使用 QWebEngine 来显示一些网页。不幸的是,它在内部使用 OpenGL - 这会导致某些图形适配器崩溃(可以很容易地将驱动程序 DLL 视为崩溃的原因)。作为第二个警告,无法通过 try-catch-block 捕获此崩溃。
所以我的问题是:如何强制 QWebEngine 仅使用软件渲染而不使用 OpenGL?
谢谢!
我正在使用 QWebEngine 来显示一些网页。不幸的是,它在内部使用 OpenGL - 这会导致某些图形适配器崩溃(可以很容易地将驱动程序 DLL 视为崩溃的原因)。作为第二个警告,无法通过 try-catch-block 捕获此崩溃。
所以我的问题是:如何强制 QWebEngine 仅使用软件渲染而不使用 OpenGL?
谢谢!
我假设您使用的是 Windows,并且正在使用官方的 Qt 二进制文件,并且正在使用 Qt 5.5 或更高版本。这些允许在运行时在桌面 OpenGL、ANGLE (Direct X) 和软件光栅化之间切换。
因此,将 QT_OPENGL 环境变量设置为“角度”(使用 DirectX 后端)或“桌面”就足够了。要对此进行硬编码,您可以设置 Qt::AA_UseOpenGLES 或 Qt::AA_UseSoftwareOpenGL 应用程序属性。
如果您通过 Qt Quick 使用 WebEngine,您还可以使用Qt Quick 2D 渲染器。