Désactiver Direct3D pour Qt6 et QML

Désactiver Direct3D pour Qt6 et QML

Avec Qt6, il est possible que l’affichage de votre application QML ne fonctionne pas sous Windows. Avec Qt6, l’accélération graphique Direct3D est utilisé par défaut pour afficher l’interface graphique. Par contre, il est possible que votre carte vidéo ne fonctionne pas bien. Aussi, ce problème est souvent visible lorsque l’application est exécuté dans une VM (machine virtuelle, tel que WMWare workstation).

Lors de l’exécution, ce type de problème résulte avec l’affichage d’une fenêtre vide:

Pour désactiver l’accélération graphique, il faut modifier modifier la variable d’environnement QSG_RHI_PREFER_SOFTWARE_RENDERER.

Au tout début du main (avant QGuiApplication), ajouter la ligne suivante:

qputenv("QSG_RHI_PREFER_SOFTWARE_RENDERER", QString("1").toUtf8());

Par exemple:

int main(int argc, char *argv[])
{
    qputenv("QSG_RHI_PREFER_SOFTWARE_RENDERER", QString("1").toUtf8());    
    QGuiApplication app(argc, argv);
    ...
}

L’accélération graphique sera alors désactivé et l’interface utilisateur sera alors visible:

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *