Заставить QWebEngine использовать программный рендеринг
Я использую QWebEngine для отображения некоторых веб-страниц. К сожалению, он использует OpenGL для внутреннего использования - что приводит к сбою на некоторых графических адаптерах (можно легко увидеть драйвер-DLL как причину сбоя). В качестве второго предостережения невозможно отловить этот сбой при помощи блока try-catch.
Итак, мой вопрос: как заставить QWebEngine использовать только программный рендеринг и не использовать OpenGL?
Спасибо!
1 ответ
Я предполагаю, что вы работаете в Windows, используете официальные двоичные файлы Qt и используете Qt 5.5 или новее. Это позволяет переключаться между Desktop OpenGL, ANGLE (Direct X) и программной растеризацией во время выполнения.
Поэтому должно быть достаточно установить для переменной среды QT_OPENGL либо "угол" (для использования бэкенда DirectX), либо "рабочий стол". Чтобы жестко закодировать это, вы можете установить атрибуты приложения Qt::AA_UseOpenGLES или Qt::AA_UseSoftwareOpenGL.
Если вы используете WebEngine через Qt Quick, вы также можете использовать рендерер Qt Quick 2D.