Terminal: Le taux de rafraîchissement / FPS de GSync / Freesync diminue lors de l'utilisation de Terminal

Créé le 10 mai 2019  ·  128Commentaires  ·  Source: microsoft/terminal

Mon moniteur principal est à 144 Hz. Un moyen facile de voir le FPS actuel est de faire bouger la souris - le mouvement en 144 FPS est beaucoup plus fluide que 60 FPS, et c'est très visible.

Lors de l'utilisation de Terminal, le FPS baisse constamment et se déplace entre un FPS bas et un FPS complet de 144 FPS. Je ne peux pas dire s'il tombe à 60 FPS ou à une quantité différente, mais c'est bien inférieur à 144 FPS. Agiter le curseur lors de la saisie montre bien ce problème.

Il semble que chaque interaction avec le terminal peut faire «basculer» le FPS entre le bas et le haut: mise au point sur la fenêtre, saisie, etc. Parfois, attendre ~ 3 secondes suffit pour que le FPS revienne à haut.

La carte graphique est un Nvidia GTX 1080 Ti et le moniteur est un Asus PG279Q .

C:\WINDOWS\system32>ver

Microsoft Windows [Version 10.0.18362.86]
Area-Rendering Help Wanted Issue-Bug Priority-2 Product-Terminal v1-Scrubbed

Commentaire le plus utile

J'ai été confronté à ce même problème ces derniers jours. Le seul correctif que j'ai trouvé jusqu'à présent est de désactiver G-Sync pour Windows Terminal.

  1. Ouvrez le Panneau de configuration NVidia.
  2. Sur la gauche, sélectionnez Gérer les paramètres 3D.
  3. Sélectionnez l'onglet Paramètres du programme.
  4. Vous devrez ajouter l'application Windows Terminal à la liste des programmes dans la liste déroulante.
  5. L'une des options de la boîte doit indiquer que G-Sync est activé. Désactivez-le.
  6. Appliquer les modifications.

Cela ne traite que le problème, pas la source. Je n'ai jamais eu d'autres applications UWP ayant ce problème auparavant, il s'agit donc probablement d'un problème de terminal Windows.

J'ai rencontré le problème avec une Nvidia GTX 1080 Ti et ce moniteur Dell G-Sync 144 Hz . Je me suis assuré d'avoir les derniers pilotes Nvidia installés, mais je n'ai essayé aucun pilote de pré-version.

Tous les 128 commentaires

Je ne crois pas que quiconque dans l'équipe de développement ait un moniteur 144Hz, donc si quelqu'un dans la communauté serait prêt à nous aider à déboguer cela, l'aide serait grandement appréciée.

J'ai été confronté à ce même problème ces derniers jours. Le seul correctif que j'ai trouvé jusqu'à présent est de désactiver G-Sync pour Windows Terminal.

  1. Ouvrez le Panneau de configuration NVidia.
  2. Sur la gauche, sélectionnez Gérer les paramètres 3D.
  3. Sélectionnez l'onglet Paramètres du programme.
  4. Vous devrez ajouter l'application Windows Terminal à la liste des programmes dans la liste déroulante.
  5. L'une des options de la boîte doit indiquer que G-Sync est activé. Désactivez-le.
  6. Appliquer les modifications.

Cela ne traite que le problème, pas la source. Je n'ai jamais eu d'autres applications UWP ayant ce problème auparavant, il s'agit donc probablement d'un problème de terminal Windows.

J'ai rencontré le problème avec une Nvidia GTX 1080 Ti et ce moniteur Dell G-Sync 144 Hz . Je me suis assuré d'avoir les derniers pilotes Nvidia installés, mais je n'ai essayé aucun pilote de pré-version.

Peut confirmer, après avoir explicitement désactivé G-Sync for Terminal (et redémarré
it) le problème est parti. Convenu que cela traite les symptômes plutôt que le
problème. Au moins, nous avons maintenant une solution de contournement: +1:

Le vendredi 10 mai 2019 à 16:27, mblowey [email protected] a écrit:

J'ai été confronté à ce même problème ces derniers jours. Le seul correctif
J'ai trouvé jusqu'à présent de désactiver G-Sync pour Windows Terminal.

  1. Ouvrez le Panneau de configuration NVidia.
  2. Sur la gauche, sélectionnez Gérer les paramètres 3D.
  3. Sélectionnez l'onglet Paramètres du programme.
  4. Vous devrez ajouter l'application Windows Terminal à la liste des
    programmes dans la liste déroulante.
  5. L'une des options de la boîte doit indiquer que G-Sync est activé.
    Désactivez-le.
  6. Appliquer les modifications.

Cela ne traite que le problème, pas la source. Je n'en ai jamais eu
d'autres applications UWP ont déjà rencontré ce problème, il s'agit donc probablement d'un terminal Windows
problème.

J'ai rencontré le problème avec une Nvidia GTX 1080 Ti et ce Dell 144hz
Moniteur G-Sync
https://www.dell.com/en-us/shop/dell-24-gaming-monitor-s2417dg/apd/210-aizs/monitors-monitor-accessories .
Je me suis assuré que les derniers pilotes Nvidia étaient installés, mais je ne l'ai pas
essayé tous les pilotes de pré-version.

-
Vous recevez ceci parce que vous avez créé le fil.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/microsoft/Terminal/issues/649#issuecomment-491288003 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AAJ4X3HNJEYYNFGNVJEUF7LPUVZ2TANCNFSM4HL63MAQ
.

Pareil ici. J'ai un écran et une carte Gsync et le terminal est à la traîne comme un fou. Mon pauvre écran de 165 Hz :(

Même chose ici aussi. Moniteur G-Sync 165 Hz, GTX 1070, faible FPS dans le terminal.

J'ai un écran 144Hz compatible G-Sync (FreeSync). Un problème de faible FPS a également été rencontré lorsque G-Sync était activé pour les applications de fenêtre (non plein écran).

Mon moniteur a un indicateur FPS. J'ai enregistré une vidéo pour montrer le changement de FPS lorsque j'ai exécuté le terminal. Lorsque le terminal n'a pas de mise au point, le FPS est de 144. Lorsque le terminal obtient la mise au point, le FPS est généralement de 48 (la limite inférieure du taux de rafraîchissement VRR de mon écran. VRR: Taux de rafraîchissement variable), et augmente brièvement lorsque le le contenu est mis à jour, puis revient à nouveau à la fréquence de rafraîchissement minimale (48 ips).

Mon vidéo:
https://youtu.be/wokdiOQzwnU
Pardonnez ma perte de mise au point (due à l'écran incurvé) et le bruit de fond (vous pouvez le couper).

Vous pouvez également télécharger un fichier vidéo avec HEVC 240FPS (faible débit binaire) ici:
http://qiniu.img.hu60.cn/file-hash-mp4-fb6775bfceeb0577b7244c58851f85a983686237.mp4

Remarque: ce moniteur n'a pas réussi le test de compatibilité Nvidia, il a donc un scintillement et une gigue lorsque le taux de rafraîchissement du VRR fluctue considérablement. L'écran certifié G-Sync peut ne pas avoir de gigue, mais le délai d'entrée (vitesse de déplacement de la souris) à de faibles taux de rafraîchissement est évident.


D'après les changements de FPS dans la vidéo, Windows Terminal est une application d'accélération GPU peu conviviale VRR typique. Une telle application ne dessine généralement rien lorsque le contenu n'est pas mis à jour (donc FPS vaut 0, le pilote Nvidia déclenchera un mécanisme de rafraîchissement du délai d'expiration pour conserver le taux de rafraîchissement minimum de l'affichage), et ne dessine que lorsque le contenu est mis à jour (le taux de rafraîchissement se lève brièvement).

Une telle application ferait clignoter un affichage VRR bas de gamme (généralement un affichage G-Sync / FreeSync précoce) et augmenterait considérablement le délai d'entrée lorsque le VRR est activé.

Dans la situation actuelle, la désactivation de VRR (G-Sync) pour Windows Terminal est le seul bon choix.


Référence: Pourquoi l'affichage VRR scintille dans certaines scènes
https://pcper.com/2014/12/a-look-into-reported-g-sync-display-flickering/

J'ai donc eu ce même problème sur mon moniteur compatible G-Sync et après avoir fouillé le code, j'ai pu en préciser la cause. Pour ceux qui ne sont pas familiers, G-Sync est une technologie NVIDIA qui synchronise la fréquence de rafraîchissement de votre moniteur avec la fréquence d'images à l'écran.

Ce problème particulier se produit si vous avez défini l'option G-Sync sur Activé pour le mode fenêtré et plein écran dans le panneau de configuration NVIDIA sur les systèmes compatibles G-Sync. Étant donné que Windows Terminal utilise DirectX pour dessiner des polices, les pilotes Nvidia pensent à tort que vous jouez à un jeu en mode fenêtré avec l'option ci-dessous activée.

image

Si vous définissez l'option sur Activé pour le mode plein écran, le faible FPS du terminal ne diminuera pas le taux de rafraîchissement des moniteurs G-Sync et tout fonctionnera comme prévu.

Il semble que le faible FPS (et le faible rafraîchissement) soit dû au fait que l'écran n'est rendu que pour des changements pour des raisons de performances. Dans un état inactif, l'écran n'est actualisé que par le curseur clignotant, ce qui fait chuter le FPS autour de 42. Si vous commencez à taper, la fréquence d'images augmentera et vous pourrez voir visiblement le changement de fréquence de rafraîchissement.

Il s'agit d'une situation quelque peu inhabituelle avec quelques options pour la résoudre.

  • Désactivez l'option de mode fenêtré lorsque vous souhaitez utiliser le terminal Windows avec G-Sync activé (pas idéal)
  • Redessinez l'écran à chaque cycle en augmentant le FPS de la fenêtre au taux de rafraîchissement maximal du moniteur (ce n'est pas non plus idéal car cela améliorera les performances du réservoir)
  • Demandez à Nvidia d'ajouter une exception à leurs pilotes pour Windows Terminal (pas sûr si possible).

Je n'ai pas le matériel à tester, mais cela peut aussi être un problème avec les moniteurs FreeSync. Pour l'instant, la solution simple consiste à définir l'option G-Sync sur Activé pour le mode plein écran dans le panneau de configuration NVIDIA.

Comme d'autres l'ont indiqué, la meilleure solution consiste à créer un profil d'application pour le terminal qui désactive GSync uniquement pour cette application. NVIDIA peut publier des profils pour les jeux / programmes avec des mises à jour de pilotes et ils le font souvent exactement à chaque fois que vous mettez à jour vos pilotes.Je pense donc que le meilleur plan d'action est de signaler à NVIDIA afin qu'ils puissent créer une solution de contournement pour le comportement inattendu avec le nouveau terminal.

Il semble que le faible FPS (et le faible rafraîchissement) soit dû au fait que l'écran n'est rendu que pour des changements pour des raisons de performances

Eh bien, cela a du sens. Lorsque tout ce que nous avions était un moteur de rendu GDI (CPU), nous voudrions évidemment ne repeindre que sur les modifications. Cependant, avec le moteur de rendu DX, ce n'est peut-être pas vraiment un problème.

@miniksa existe-t-il un moyen de déclencher une fausse image au framerate du GPU? Alors que même s'il n'y avait rien de nouveau, on n'abandonnerait pas le FPS?

Si cela se produit sur la build 18990, une solution parfaite consiste à désactiver G-Sync lorsqu'il n'est pas en plein écran.

J'ai rencontré le même problème et je peux confirmer que la désactivation de G-Sync pour le mode fenêtré a aidé.

@ zadjii-msft, je l'ai simulé pour la tentative précédente de résoudre ce problème sans avoir l'un de ces moniteurs. Cela n'a pas fonctionné une fois que j'ai donné la branche aux personnes avec le moniteur pour essayer.

Nous avons besoin de ce matériel ou nous avons besoin que l'une des personnes qui se plaignent de cela ait également les compétences nécessaires pour construire à partir des sources et déboguer cela.

J'allais me porter volontaire pour aider au débogage, mais il semble que je ne puisse plus reproduire le problème. J'ai confirmé que Windows Terminal est configuré pour utiliser G-Sync, mais je ne vois plus de baisse de fréquence d'images lors de l'interaction avec l'application.
Je n'ai changé aucun matériel depuis ma première réponse , mais j'ai complètement réinstallé Windows il y a quelques semaines.

J'allais me porter volontaire pour aider au débogage, mais il semble que je ne puisse plus reproduire le problème. J'ai confirmé que Windows Terminal est configuré pour utiliser G-Sync, mais je ne vois plus de baisse de fréquence d'images lors de l'interaction avec l'application.
Je n'ai changé aucun matériel depuis ma première réponse , mais j'ai complètement réinstallé Windows il y a quelques semaines.

Intéressant. Peut-être alors peut-être un problème de pilote? Merci pour le point de données, @mblowey.

@miniksa Problème intéressant, je viens d'ouvrir mon ordinateur et

Je n'ai pas non plus changé de matériel ET DE LOGICIEL (je n'ai pas réinstallé ou mis à jour Windows, je n'ai pas réinstallé ou mis à jour le pilote de ma carte graphique, je n'ai pas réinstallé ou mis à jour mon terminal Windows) depuis ma première réponse ici https: / /github.com/microsoft/terminal/issues/649#issuecomment -544209435

J'avais l'habitude de suivre ce commentaire https://github.com/microsoft/terminal/issues/649#issuecomment -491288003 pour résoudre ce problème

Aussi, j'installe beaucoup de jeux de Steam après mon premier commentaire, peut-être qu'ils installent des dépendances graphiques importantes puis résolvent ce problème.

Si quelqu'un rencontre ce problème, essayez de le faire

  1. suivez ce commentaire https://github.com/microsoft/terminal/issues/649#issuecomment -491288003
  2. redémarrer
  3. REVERT ÉTAPE 1

pourrait être en mesure de dire si cela est causé par le pilote NVIDIA

Peut confirmer sur Windows 10 Build 10.0.19033.1, en utilisant le dernier pilote Nvidia 441.20 avec une ASUS GTX 2080, ce problème existe toujours. Si je désactive G-SYNC pour le mode fenêtré et plein écran et que je repasse sur "Activer pour le mode plein écran" uniquement, il se comporte comme il se doit avec des performances normales. J'utilise la dernière version du Terminal (à partir du 26/11/2019, désolé je ne sais pas comment obtenir la version directement.) Je ne sais pas ce que je peux faire d'autre pour aider, mais j'ai pensé au moins signaler que le problème est toujours là.

Edit: a également confirmé que la méthode d'ajout d'une exclusion d'application à l'outil du panneau de configuration Nvidia fonctionnait toujours. Je ne savais pas que vous pouviez faire ça, alors merci pour le partage! Pourrait résoudre un problème similaire que j'ai vu avec Quicken. :)

Comme @jefmes l'a noté ci-dessus, j'ai reproduit ce problème, avec les mêmes win 10, terminal, pilote et carte graphique.

J'ai eu le même problème avec la version actuelle 0.7.3451.0 sur un écran 144hz G-Sync. Après avoir réglé la technologie du moniteur sur "Fixed Refresh" et le paramètre Vertical Sync sur "Fast" dans le panneau de configuration Nvidia, le problème a disparu.

J'utilise une GTX 1070, version du pilote 441.66 sur Windows 10 Insider Build 19041.1.

Je comprends comment la confusion entre le terminal et le pilote graphique survient, ce que je ne comprends pas, c'est comment un petit développeur comme Microsoft ne peut pas se permettre / justifier un moniteur de 200 à 300 $ pour enquêter sur un bogue. Peut-être en travaillant avec nvidia pour laisser Windows signaler un mode d'inactivité ou de bureau où même via directx est utilisé, les actualisations de l'application sont lentes mais le curseur s'affiche toujours, vous voulez donc des fps maximum. Fondamentalement, une version automatique de la solution de contournement que MS peut contrôler.

Les fenêtres FYI Cmder et Hyper terminal n'ont pas de problème avec les taux de rafraîchissement. Le mouvement du curseur lors de la mise au point et en faisant glisser les fenêtres de ces deux terminaux fonctionne bien avec le taux de rafraîchissement que j'ai défini et est fluide.

Pourquoi la fenêtre du terminal Windows devrait-elle être moins capable de fonctionner avec le taux de rafraîchissement actuel du bureau?

Pourquoi la fenêtre du terminal Windows devrait-elle être moins capable de fonctionner avec le taux de rafraîchissement actuel du bureau?

A cause d'un bug que nous essayons toujours de cerner.

Je ne sais pas si cela aide mais je vois le même comportement non seulement dans le nouveau terminal Windows mais aussi dans les applications XAML. La même solution de contournement fonctionne également dans ces cas.

On dirait que le pilote Nvidia a besoin d'une meilleure détection de ce qu'est un jeu et de ce qu'est une application. Quelqu'un voit-il ce comportement sur AMD avec FreeSync?

J'ai remarqué que si vous avez suffisamment d'historique de texte pour vous permettre d'utiliser la barre de défilement pour que la ligne actuelle avec le curseur clignotant disparaisse de l'écran, le taux de rafraîchissement lorsque vous faites glisser la fenêtre revient à la normale.

OK, oui, alors je cherche à installer du matériel dans mon bureau pour que je puisse réellement faire quelque chose à ce sujet.

Je suis allé lire comment cela fonctionne et il s'avère que les deux technologies sont plus différentes que je ne le pensais.

Cela se produit-il uniquement avec le pipeline NVIDIA de moniteur GSYNC + carte graphique NVIDIA? Ou est-ce également possible avec le moniteur FreeSync + la carte graphique AMD (ou NVIDIA)?

Je cherche essentiellement à trouver deux parties que je peux mettre sur la liste d'acquisition qui, espérons-le, ne sont pas aussi chères qu'une GTX 1080Ti et un Asus PG279Q.

Si quelqu'un sur ce fil peut intervenir avec des recommandations ou son rapport sur si cela se produit dans le monde FreeSync / AMD, je l'apprécierais vraiment.

J'ai Nvidia RTX 2060 et Acer XF270HU (qui est un moniteur FreeSync) fonctionnant en mode compatible GSync. Je rencontre également ce problème, mais la méthode décrite dans le commentaire https://github.com/microsoft/terminal/issues/649#issuecomment -568196580 fait fix cela.
La suppression de ce correctif fait revenir le problème, mais pas toujours. Lorsque j'ai supprimé ces changements pour la première fois, ils ne sont pas tombés immédiatement à ~ 60-40fps, mais seulement après un peu de temps / quelques redémarrages.
Ensuite, j'ai voulu essayer d'enregistrer cela en utilisant la fonction d'enregistrement d'expérience GeForce de Nvidia. Une fois que j'ai commencé à enregistrer, il est revenu à 144 et il est resté à cela même en utilisant le terminal (cela pourrait être dû au fait que l'enregistrement forcait d'une manière ou d'une autre un taux de rafraîchissement fixe). Une fois arrêté, il est resté à 144 (même sans ce correctif mentionné précédemment). J'ai essayé la combinaison Ctrl + Shift + Win + B qui n'a eu aucun impact et elle est toujours restée à 144.
Ainsi, bien que le problème semble toujours exister, il est également assez difficile à reproduire de manière cohérente et dans l'ensemble, il est assez difficile, mais il n'est pas exclusif aux moniteurs GSYNC purs.

Je pense que je sais comment reproduire ce problème de manière cohérente. J'ai trouvé ceci après avoir réinstallé Windows et je me suis demandé pourquoi je n'ai jamais eu de retard du terminal une fois: sourire:

image

Revenez à "Activer pour le mode plein écran" ou désactivez-le complètement et le problème est résolu.

Je pense que vous pouvez même reproduire ce comportement sur un écran 60hz non G-Sync connecté via DP. La seule différence est qu'une telle configuration n'a pas de sens et que le pilote indique que Nvidia n'a pas encore affiché cet affichage.

Mais je pense qu'il y a encore plus à faire. Ce que je montre sur la capture d'écran est une sorte de "mauvaise configuration" et non le paramètre par défaut. Et si je le configure comme ça parce que je veux jouer à des jeux en mode fenêtré et utiliser toujours G-Sync?

Ce que je ne comprends pas, c'est comment cela ralentit même le curseur système. Le curseur, la boucle de dessin de la fenêtre et la boucle de mise à jour ne devraient-ils pas être indépendants?

Je pense que je sais comment reproduire ce problème de manière cohérente. J'ai trouvé cela après avoir réinstallé Windows et je me suis demandé pourquoi je n'avais jamais eu de retard du terminal une fois 😄

image

Revenez à "Activer pour le mode plein écran" ou désactivez-le complètement et le problème est résolu.

Je pense que vous pouvez même reproduire ce comportement sur un écran 60hz non G-Sync connecté via DP. La seule différence est qu'une telle configuration n'a pas de sens et que le pilote indique que Nvidia n'a pas encore affiché cet affichage.

Mais je pense qu'il y a encore plus à faire. Ce que je montre sur la capture d'écran est une sorte de "mauvaise configuration" et non le paramètre par défaut. Et si je le configure comme ça parce que je veux jouer à des jeux en mode fenêtré et utiliser toujours G-Sync?

Ce que je ne comprends pas, c'est comment cela ralentit même le curseur système. Le curseur, la boucle de dessin de la fenêtre et la boucle de mise à jour ne devraient-ils pas être indépendants?

Je rencontrais également ce problème sur un moniteur FreeSync2 3440x1440 144hz, et le réglage de mon mode GSync sur Enable for full screen mode dans le panneau de configuration NVIDIA a résolu le problème pour moi. En accord avec le sentiment ci-dessus - le décalage de la fenêtre d'application était immédiatement perceptible.

Version en cours d'exécution: 0.11.1121.0

Je pense que je sais comment reproduire ce problème de manière cohérente. J'ai trouvé cela après avoir réinstallé Windows et je me suis demandé pourquoi je n'avais jamais eu de retard du terminal une fois 😄
image
Revenez à "Activer pour le mode plein écran" ou désactivez-le complètement et le problème est résolu.
Je pense que vous pouvez même reproduire ce comportement sur un écran 60hz non G-Sync connecté via DP. La seule différence est qu'une telle configuration n'a pas de sens et que le pilote indique que Nvidia n'a pas encore affiché cet affichage.
Mais je pense qu'il y a encore plus à faire. Ce que je montre sur la capture d'écran est une sorte de "mauvaise configuration" et non le paramètre par défaut. Et si je le configure comme ça parce que je veux jouer à des jeux en mode fenêtré et utiliser toujours G-Sync?
Ce que je ne comprends pas, c'est comment cela ralentit même le curseur système. Le curseur, la boucle de dessin de la fenêtre et la boucle de mise à jour ne devraient-ils pas être indépendants?

Je rencontrais également ce problème sur un moniteur FreeSync2 3440x1440 144hz, et le réglage de mon mode GSync sur Enable for full screen mode dans le panneau de configuration NVIDIA a résolu le problème pour moi. En accord avec le sentiment ci-dessus - le décalage de la fenêtre d'application était immédiatement perceptible.

Version en cours d'exécution: 0.11.1121.0

Quels modèles spécifiques de moniteur et de carte graphique, @zackhorvath?

Je suis toujours intéressé à résoudre ce problème à un moment donné, même si la pandémie a un peu retardé l'achat de matériel.

Merci pour la réponse @miniksa

J'utilise actuellement un moniteur LG 34GK950F-B avec une NVIDIA GeForce GTX 1080ti (modèle EVGA # 11G-P4-6393-RX ). Mon pilote NVIDIA spécifique est 26.21.14.4587 .

Je peux fournir des informations supplémentaires sur demande!

Non, ça va, merci @zackhorvath. J'espérais que votre configuration de repro n'était pas un moniteur à 900 $ et une carte graphique à 1100 $ et plus comme un moniteur à 300 $ avec une carte graphique à 200 $ ...

Comme je l'ai dit, il est reproductible avec mon ancien écran Samsung 60 Hz Full HD pas cher. Tout ce dont vous avez besoin est un GPU Nvidia qui peut faire une forme de G-Sync ou FreeSync et un câble DP.

Ce problème n'est pas isolé du terminal lorsque G-SYNC est défini sur «activer pour le mode fenêtré et plein écran». Je vois également le même comportement dans certaines autres applications, par exemple:

  • Malwarebytes Anti-Malware
  • Git Fork
  • Bureau WhatsApp

Comme je l'ai dit, il est reproductible avec mon ancien écran Samsung 60 Hz Full HD pas cher. Tout ce dont vous avez besoin est un GPU Nvidia qui peut faire une forme de G-Sync ou FreeSync et un câble DP.

Désolé, ma compréhension en lecture n'a pas été excellente pendant la mise en quarantaine. J'ai manqué ça.

Ce problème n'est pas isolé du terminal lorsque G-SYNC est défini sur «activer pour le mode fenêtré et plein écran». Je vois également le même comportement dans certaines autres applications, par exemple:

  • Malwarebytes Anti-Malware
  • Git Fork
  • Bureau WhatsApp

Cela ressemble de plus en plus à un bogue de pilote NVIDIA auquel je ne peux rien faire à ce moment-là ...

J'en ai discuté avec @miniksa et

Pour ce que cela vaut, j'ai également observé cela dans plusieurs autres applications et des applications inattendues. Par exemple, le programme d'installation de Visual Studio présente également le même problème. Chacun d'entre eux semble être basé sur UWP et / ou XAML.

Pour être honnête, je pense aussi que c'est un bogue de pilote, mais comme cela se produit partout dans Windows et les GPU Nvidia ne sont pas si rares que je pensais que quelqu'un chez Microsoft pourrait transmettre ce problème. C'est peut-être un peu exagéré, mais ces pilotes Nvidia sont certifiés WHQL, n'est-ce pas? Ils ne doivent pas casser Windows.

En mentionnant simplement que j'avais toujours ce problème avec les versions actuelles du logiciel (Windows Terminal Version: 0.11.1251.0), le GPU Nvidia et un moniteur Freesync. La solution de contournement dans le troisième commentaire a toujours aidé. Je dirais que l'autre solution de contournement de la désactivation de G-sync pour les applications fenêtrées n'est pas si bonne, car au moins je joue à certains jeux en mode fenêtré sans bordure.

Il semble que la meilleure solution serait pour les pilotes Nvidia de mieux détecter les applications qui bénéficient de G-sync, qu'il s'agisse de jeux ou d'autres programmes. Mais un profil Nvidia intégré pour Windows Terminal serait une solution à faible effort.

Mais un profil Nvidia intégré pour Windows Terminal serait une solution à faible effort.

Je ne sais pas ce que ça veut dire. De quel profil parlez-vous? Puis-je inclure un manifeste à côté de notre application pour dire aux pilotes de NVIDIA de se retirer de la synchronisation G? Ou est-ce quelque chose que NVIDIA doit inclure dans ses packages de pilotes?

Mais un profil Nvidia intégré pour Windows Terminal serait une solution à faible effort.

Je ne sais pas ce que ça veut dire. De quel profil parlez-vous? Puis-je inclure un manifeste à côté de notre application pour dire aux pilotes de NVIDIA de se retirer de la synchronisation G? Ou est-ce quelque chose que NVIDIA doit inclure dans ses packages de pilotes?

Ils font référence aux profils d'application nvidia que vous pouvez configurer dans le panneau de configuration nVidia, mais pour autant que je sache, ce n'est pas une solution viable. Quels que soient les paramètres que j'ai sélectionnés pour le profil spécifique à l'application pour Windows Terminal, le comportement reste le même. Si quelqu'un a trouvé une combinaison fonctionnelle, ce serait bien de la partager car cela pourrait me donner des idées sur la façon de résoudre ce problème dans le terminal lui-même.

De plus, pour autant que je sache, même si les profils fonctionnent, nVidia doit être celui qui les inclut dans leur package de pilotes.

Jusqu'à présent, j'ai essayé diverses modifications du terminal sans succès, y compris la désactivation de vsync, l'application de DXGI_PRESENT_ALLOW_TEARING, DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, etc. en vain. J'ai interrogé quelques autres experts dans l'espoir que quelqu'un soit au courant d'une solution de contournement spécifique à une application qui peut être appliquée, mais il n'y a pas d'ETA pour le moment.

Ce problème n'est pas spécifique au terminal Windows.

Jusqu'à présent, j'ai essayé diverses modifications du terminal sans succès, y compris la désactivation de vsync, l'application de DXGI_PRESENT_ALLOW_TEARING, DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, etc. en vain. J'ai interrogé quelques autres experts dans l'espoir que quelqu'un soit au courant d'une solution de contournement spécifique à une application qui peut être appliquée, mais il n'y a pas d'ETA pour le moment.

Ce problème n'est pas spécifique au terminal Windows.

Merci, @binarycrusader. C'étaient tous les indicateurs et les choses que j'allais essayer si je pouvais accéder au matériel.

Cela semble se produire avec Deezer Music (UWP), WhatsApp Desktop et une majorité d'applications basées sur Electron. Quelque peu sans rapport, mais les pilotes NVIDIA "Web" montrent ce comportement avec presque toutes les applications macOS.

Ooof, et bien il semble que la réponse électronique à ce problème était ¯ \ _ (ツ) _ / ¯

https://github.com/electron/electron/issues/3026

Je ne suis pas non plus sûr qu'il soit même résolu dans le chrome - ce problème sur leur tracker est toujours ouvert, bien que quelques années soient périmés à ce stade 😕

Je me demande si changer https://github.com/microsoft/terminal/blob/e61968ca87de7fd9c08b50f63e8cccb01f240596/src/renderer/base/thread.cpp#L208 -L212 pour utiliser IDXGIOutput::WaitForVBlank (https://docs.microsoft. com / en-us / windows / win32 / api / dxgi / nf-dxgi-idxgioutput-waitforvblank) aiderait ce problème ...

Voir aussi: https://bugs.chromium.org/p/chromium/issues/detail?id=467617 et https://www.vsynctester.com/firefoxisbroken.html et https://bugzilla.mozilla.org/show_bug .cgi? id = 1628137 et https://bugs.chromium.org/p/chromium/issues/detail?id=953970

@miniksa

De quel profil parlez-vous? Puis-je inclure un manifeste à côté de notre application pour dire aux pilotes de NVIDIA de se retirer de la synchronisation G? Ou est-ce quelque chose que NVIDIA doit inclure dans ses packages de pilotes?

Pour clarifier, je voulais dire les paramètres que Nvidia devrait inclure dans ses pilotes. Il répertorie déjà environ 1000 programmes dans sa liste intégrée "Paramètres de programme" (jeux et applications que je n'ai pas), et je pensais qu'ils avaient des paramètres personnalisés pour tous ces programmes, mais je ne suis pas sûr maintenant.

@binarycrusader

Quels que soient les paramètres que j'ai sélectionnés pour le profil spécifique à l'application pour Windows Terminal, le comportement reste le même. Si quelqu'un a trouvé une combinaison fonctionnelle, ce serait bien de la partager car cela pourrait me donner des idées sur la façon de résoudre ce problème dans le terminal lui-même.

Ces paramètres l'ont corrigé pour moi:

image

Je pense que je l'ai réglé uniquement sur "Actualisation fixe", je ne sais pas pourquoi les deux autres paramètres apparaissent en gras. Mais tous les autres paramètres sont des valeurs par défaut.

Les profils définis par l'utilisateur créés via le panneau de contrôle actuel de Nvidia semblent toujours référencer les applications par un chemin absolu vers l'exécutable. Cela a bien fonctionné pour d'autres applications que j'ai utilisées précédemment, mais comme le Windows Store installe chaque mise à jour du terminal Windows dans un répertoire différent, les profils associés ont été de courte durée.

J'utilisais déjà Nvidia Profile Inspector dans quelques cas pour un contrôle plus fin et j'ai découvert que les profils définis par l'utilisateur créés avec cet outil:

  1. Correspond au nom de l'exécutable uniquement sans chemin
  2. Autoriser l'ajout de plusieurs exécutables à un seul profil
  3. Autoriser les noms personnalisés pour plus de clarté

Cela donne également une bien meilleure vue sur les centaines de profils que Nvidia est déjà livrés avec les bundles de pilotes actuels mais qui sont cachés de leur panneau de contrôle. Il existe déjà des dizaines d'applications Microsoft, y compris Microsoft Win10 Store , Microsoft Visual Studio , etc. qui ont tendance à correspondre à quelques exécutables différents (sans chemins) et, dans leur section Sync and Refresh , remplacer GSYNC - Application State en Force Off .

J'ai maintenant un seul profil __No_GSync (nommé pour trier commodément en haut de la liste) pour WindowsTerminal.exe (dans n'importe quel chemin) avec une poignée d'autres applications qui utilisent également des redessins paresseux. Encore une fois, le seul paramètre que j'ai remplacé via l'inspecteur dans ce profil __No_GSync est GSYNC - Application State à Force Off . Lorsqu'il est revu dans le panneau de contrôle de Nvidia, le seul remplacement affiché pour ce profil est Monitor Technology qui semble défini sur Not supported for this application et ne permet même pas de modifier cette valeur dans cette vue.

J'espère que c'est une solution de set-it-and-forget-it plus fiable pour moi-même, et aussi que l'équipe Windows Terminal pourra communiquer avec Nvidia pour obtenir un profil similaire intégré dans les futures versions de pilotes.

L'ajout de "experimental.rendering.software": true dans settings.json sur Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2) résout ce problème pour moi.

Je suppose que je subis une certaine perte de performance de niveau mais je ne le sens pas sur ma machine.

Sur mon système, pas de chance d'utiliser les profils pour gérer cela. L'utilisation d'un profil nVidia pour forcer la désactivation de GSYNC semble n'avoir aucun effet. J'ai essayé toutes les variantes d'exécutable et de paramètres. J'ai essayé d'utiliser à la fois le panneau de configuration nVidia et l'outil d'inspecteur de profil.

J'ai également été incapable de faire fonctionner la solution basée sur le profil. J'ai remarqué que dans le panneau de configuration NVIDIA, Windows Terminal n'apparaît jamais dans la liste des programmes récemment utilisés lors de l'ajout d'un profil personnalisé. Je soupçonne que les pilotes NVIDIA sont incapables de reconnaître que Windows Terminal est en cours d'exécution.

Au cas où cela pourrait aider quelqu'un d'autre, voici mes paramètres dans le panneau de configuration Nvidia

image

L'ajout de "experimental.rendering.software": true dans settings.json sur Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2) résout ce problème pour moi.

Je suppose que je subis une certaine perte de performance de niveau mais je ne le sens pas sur ma machine.

Je rencontre également ce problème et les modifications du profil G-Sync ne l'ont pas résolu, mais c'est le cas. Merci.

Après avoir travaillé avec elle pendant quelques jours de plus, la solution de profil était principalement efficace pour moi, mais j'ai eu des périodes occasionnelles où elle ne s'applique pas spécifiquement au terminal Windows. Je n'ai vu ce problème pour aucune autre application qui se trouve également dans le même profil no-gsync.

À une époque où ma copie de Terminal installée dans le Windows Store était actuellement ignorée par le profil Nvidia, j'ai, sur une intuition, téléchargé le msix correspondant (1.0.1401.0) à partir de la page des versions et extrait le dossier de la version x64 directement sur mon bureau. Le lancement de WindowsTerminal.exe cette copie a correctement désactivé gsync pour sa fenêtre tandis que la copie installée dans le Windows Store qui est toujours en cours d'exécution simultanément a sa gsync activée. Plusieurs redémarrages consécutifs de chacun produisent les mêmes résultats.

Aucune modification n'a été apportée aux profils entre ces lancements. En théorie, je m'attendrais à ce que le même profil affecte les deux de manière égale, de sorte qu'aucun n'utilise gsync. Je me demande si cela pourrait être une complication des autorisations et des liens via wt.exe impliqués dans le lancement de la version distribuée par le Store qui le fait glisser par le mécanisme de détection actuel de Nvidia. Je ne sais pas comment expliquer mon profil existant qui s'applique également apparemment correctement à la copie du Store la plupart du temps ... J'ai purgé tous les autres profils définis par l'utilisateur et essayé de corréler d'autres fenêtres en cours d'utilisation mais je n'ai repéré aucun modèle.

Je continuerai probablement à utiliser la version extraite au lieu de la version du magasin pendant un certain temps pour voir si c'est fiable. Il a l'avantage supplémentaire d'être facile à définir le répertoire de travail sur son raccourci lorsqu'il est épinglé à la barre des tâches, et aussi vraisemblablement de ne jamais être tué discrètement tout en hébergeant un processus de terminal de longue durée lorsque le magasin force une mise à jour. La seule chose qui manque apparemment jusqu'à présent, ce sont les icônes de profil référencées par les chemins ms-appx.


En aparté, j'ai également testé avec neovide (une interface graphique basée sur gpu pour neovim) qui agit de la même manière en termes de rafraîchissement de l'écran paresseux et présente ainsi la même baisse de taux de rafraîchissement gsync par défaut quand il n'a rien dont il a besoin. redessiner. La solution de profil nvidia s'applique à neovide avec une fiabilité de 100% pour autant que je sache. À partir de ces expériences, il apparaît également que les profils nvidia ne sont évalués qu'au lancement initial de l'application, donc l'ajout / la suppression de neovide.exe à / de mon profil no-gsync alors que neovide est déjà en cours d'exécution ne modifie pas son état gsync déjà en cours d'exécution, mais au prochain lancement. Peut-être utile de connaître le dépannage pour quiconque.

Cela exclut donc un problème dans DirectX car neovide utilise Vulkan. Avec les jeux plus modernes, en particulier les jeux basés sur UWP, n'offrant que le "Mode plein écran" au lieu du "Mode plein écran exclusif", je me demande si G-Sync fait même quelque chose si nous n'activons pas G-Sync pour le mode fenêtré.

Ce bogue semble cependant sortir de la portée de ce référentiel (et de tous les autres projets où cela se produit également), donc si personne ne le remarque et que personne n'a de contact avec quelqu'un chez Nvidia, cela sera-t-il jamais corrigé? Ce serait cool d'utiliser Windows et de pouvoir jouer à des jeux avec le matériel et les fonctionnalités que j'ai achetés au lieu d'empiler un tas de solutions de contournement sur mon système.

Pour ceux qui utilisent la solution de contournement Panneau de configuration Nvidia / Gérer les paramètres 3D, pourriez-vous clarifier comment vous avez ajouté le terminal Windows à la liste déroulante Paramètres du programme? Il n'apparaît pas dans la liste déroulante pour moi, et je ne sais pas comment rechercher l'exécutable étant donné qu'il est installé à partir du Windows Store.

Pour ceux qui utilisent la solution de contournement Panneau de configuration Nvidia / Gérer les paramètres 3D, pourriez-vous clarifier comment vous avez ajouté le terminal Windows à la liste déroulante Paramètres du programme? Il n'apparaît pas dans la liste déroulante pour moi, et je ne sais pas comment rechercher l'exécutable étant donné qu'il est installé à partir du Windows Store.

Cela fait un moment que je n'ai pas configuré le mien, mais je crois que je me suis juste assuré que le programme s'exécute lors de l'ouverture du panneau, et il est apparu immédiatement, ou j'ai pu cliquer sur "Ajouter" dans cette capture d'écran que j'ai postée ci-dessus et choisissez "Programmes en cours d'exécution" ou quelque chose à cet effet.

Je ne sais pas pourquoi le MSBOT a fermé ce problème et tous les problèmes en double, car l'ajout du paramètre "experimental.rendering.software": true dans settings.json était le seul moyen de "résoudre" ce problème sur ma machine

Cela signifie-t-il qu'il se passe quelque chose avec le rendu?

Je ne sais pas pourquoi le MSBOT a fermé ce

Ce problème n'a pas été résolu et le restera jusqu'à ce que nous puissions trouver une solution pour les personnes ayant des pilotes graphiques dysfonctionnels. Pour l'instant, le rendu du logiciel _ou_ dit à la pile graphique de ne pas traiter Terminal comme un jeu _est_ cette solution de contournement.

Je ne sais pas pourquoi le MSBOT a fermé ce

Ce problème n'a pas été résolu et le restera jusqu'à ce que nous puissions trouver une solution pour les personnes ayant des pilotes graphiques dysfonctionnels. Pour l'instant, le rendu du logiciel _ou_ dit à la pile graphique de ne pas traiter Terminal comme un jeu _est_ cette solution de contournement.

Malheureusement, je n'ai pas non plus été en mesure de résoudre ce problème grâce à mes paramètres de pilote graphique dysfonctionnels. Il n'apparaît pas non plus dans le menu déroulant Panneau de configuration Nvidia / Gérer les paramètres 3D / Paramètres du programme pour moi.

Le paramètre "experimental.rendering.software": true dans settings.json corrigé pour moi sur Nvidia RTX 2080. Je pense que c'est la solution préférée par rapport à la modification des paramètres globaux dans le panneau de configuration de Nvidia.

METTRE À JOUR:

Je vais reprendre cela comme. Si vous avez deux moniteurs: un avec un taux de rafraîchissement élevé G-Sync et un avec 60 Hz de base, le fait de placer le terminal sur l'écran 60 Hz entraînera toujours une exécution lente de toutes les applications sur l'écran à taux de rafraîchissement élevé.

UNE AUTRE MISE À JOUR:

L'utilisation du paramètre "experimental.rendering.software": true et la mise à jour de Windows 10 vers la version 2004 l'ont corrigé pour moi.

Il n'apparaît pas non plus dans le menu déroulant Panneau de configuration Nvidia / Gérer les paramètres 3D / Paramètres du programme pour moi.

Il n'apparaît pas automatiquement dans la liste déroulante, mais il devrait apparaître dans la liste des applications détectées après avoir appuyé sur "Ajouter" à côté.

Il n'apparaît pas non plus dans le menu déroulant Panneau de configuration Nvidia / Gérer les paramètres 3D / Paramètres du programme pour moi.

Il n'apparaît pas automatiquement dans la liste déroulante, mais il devrait apparaître dans la liste des applications détectées après avoir appuyé sur "Ajouter" à côté.

Malheureusement, il n'y figure pas non plus ..: /

Ayant le même problème avec la version 1.0 et gsync - le framerate chute à environ 40 ips et le moniteur scintille. rend le terminal Windows presque inutilisable

mise à jour: "experimental.rendering.software": true semble fonctionner correctement avec Windows 2004

@ robert-sandor Comme mentionné ci-dessus dans ce fil, certains utilisateurs ont réussi avec le paramètre "experimental.rendering.software": true .

@ robert-sandor Comme mentionné ci-dessus dans ce fil, certains utilisateurs ont réussi avec le paramètre "experimental.rendering.software": true .

J'ai deux 1070ti en SLI, le pilote v446.14 et un Alienware AW3420DW à 120 Hz sur le bureau. J'étais également confronté à un problème de fréquence d'images réduite. L'ajout de ce paramètre à la configuration l'a résolu.

L'ajout de "experimental.rendering.software": true dans settings.json sur Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2) résout ce problème pour moi.

Je suppose que je subis une certaine perte de performance de niveau mais je ne le sens pas sur ma machine.

Cela a réglé le problème pour moi. Quand pouvons-nous nous attendre à ce que cela soit en dehors de experimental @ zadjii-msft?
Pour info: 2 moniteurs, 1 144hz Gsync l'autre 60hz

Ma solution de contournement du magasin en extrayant le package dans mon propre dossier et en exécutant WindowsTerminal.exe directement a été 100% fiable au cours des deux dernières semaines en permettant à un profil Nvidia de forcer la désactivation de Gsync là-bas. Laisser Gsync globalement activé et le forcer à le désactiver dans des applications spécifiques comme celle-ci reste ma solution préférée. La dégradation du rendu logiciel ne semble pas souhaitable.

J'ai essayé une grande variété d'autres applications et scénarios sur la version actuelle du pilote Nvidia 446.14 . Le terminal Windows spécifiquement installé via Windows Store est le seul que j'ai rencontré avec cette combinaison de 1) Gsync entre en action, 2) est indésirable et 3) un profil de pilote Nvidia spécifique à l'application ne parvient pas à le désactiver. Cela inclut les jeux UWP (par exemple Astroneer - Astro-UWP64-Shipping.exe ) installés via le Windows Store. Cela semblait un point de comparaison utile pour la situation d'empaquetage / autorisations / livraison, mais Gsync entre en jeu, fonctionne comme je m'y attendais et peut toujours être désactivé via un profil spécifique à l'application.

"experimental.rendering.software": true l'a corrigé pour moi.

1080Ti avec les derniers pilotes nVidia à cette date et Windows 10 2004.

Quel est le dernier mot officiel sur cette question?
Je préférerais utiliser mes cycles CPU ailleurs.

Merci pour la solution les gars.

Le rendu logiciel est encore assez performant: nous sommes sur les épaules de géants, et nous ne restituons encore que des régions de l'écran qui ont changé. Bien que ce ne soit pas accéléré, c'est la meilleure chose à faire.

"experimental.rendering.software": true l'a également corrigé pour moi.

1080 avec le dernier pilote NVidia sur Windows 10 Pro Build 2004.

Cette méthode présente-t-elle des problèmes de performances? Parce que pour autant que je sache, je n'ai eu aucun problème jusqu'à présent.

"experimental.rendering.software": true l'a également corrigé pour moi.

1080 avec le dernier pilote NVidia sur Windows 10 Pro Build 2004.

Cette méthode présente-t-elle des problèmes de performances? Parce que pour autant que je sache, je n'ai eu aucun problème jusqu'à présent.

Jusqu'ici tout va bien.

J'avais désactivé l'aperçu du terminal Windows gsync bien avant, mais je ne trouve pas le terminal Windows après la mise à jour propre du pilote. Et le rendu logiciel n'est pas un bon moyen de corriger parce que je veux un terme accéléré par GPU :(

Existe-t-il un moyen d'ajouter manuellement un terminal Windows pour ne pas utiliser gsync? mettre exe ne fonctionne pas pour uwp je pense.

image

L'ajout de "experimental.rendering.software": true m'a également aidé. Exécution du terminal Windows 1.0.1401.0 avec GTX 970 (pilote Nvidia 432.00).

Ce problème n'est pas spécifique au terminal Windows. J'ai également dû définir un drapeau expérimental pour Ableton Live et désactiver l'accélération matérielle pour Spotify.

Je peux confirmer ce que @krage dit à propos du remplacement de profil ne fonctionnant pas dans le cas du terminal Windows installé via le Windows Store. Quelque chose avec les applications UWP en général ne semble pas bien fonctionner avec les profils Nvidia. Je suis passé de l'installation du terminal Windows Store à une installation gérée par scoop (imitant essentiellement la méthode utilisée par

Mon profil Nvidia pour Windows Terminal utilise les paramètres suivants:

  • Taux de rafraîchissement préféré (Acer X34): le plus élevé disponible
  • Technologie du moniteur: utiliser le paramètre global (G-Sync)
  • Synchronisation verticale: utiliser le paramètre global (rapide)

Ces paramètres résolvent le problème pour moi.

Je peux également confirmer que l'activation de "experimental.rendering.software": true résout le problème. Mais je préfère utiliser le rendu basé sur le matériel.

Matériel:

  • Nvidia GeForce 1080 (pousse x34)
  • Nvidia GeForce 1060 (6 Go) (pousse d'autres panneaux)
  • Acer X34 (écran G-Sync)
  • GS35UCR DP (non G-Sync, affichage 100 Hz)
  • 2x HP N270h (écran 60 Hz non G-Sync)

Versions

  • Nvidia 446.14
  • Terminal Windows (non emballé) 1.1.200615001
  • Windows 10 2004 (Build 20150.rs_prerelease.200612-1734) (anneau rapide d'initié)

En passant, j'ai récemment cherché à savoir si ce problème pouvait être résolu et la réponse courte est: oui, mais principalement non.
Oui, le problème peut être résolu en procédant comme suit:

  • Supprimer ceci et ...
  • cette ligne
  • ajoutez les indicateurs DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING et DXGI_PRESENT_ALLOW_TEARING comme expliqué ici

_Mais_ je dirais que ce serait une mauvaise idée à faire, c'est pourquoi je n'ai pas soumis de PR à la fin. Parce que si vous faites tout cela, chaque utilisateur non-Nvidia dessine désormais également à la fréquence d'images complète de son affichage, ce qui est tout simplement inutile.
À mon humble avis, Nvidia doit résoudre ce problème particulier de son côté, car il n'est pas seulement présent dans Windows Terminal, mais plutôt dans toutes les applications UWP qui utilisent DirectX.

Et en plus de cela, le paramètre "Activer pour le mode fenêtré et plein écran" dans le panneau de configuration Nvidia n'est pas non plus le paramètre par défaut et a été connu pour casser beaucoup de choses dans le passé (ce qui - j'en suis sûr - est pourquoi il n'est pas activé par défaut en premier lieu). 🙈

Fondamentalement, tout se résume à un problème / bogue nVidia concernant DX11?

J'ai récemment reçu un nouveau moniteur (LG27850) et il n'y a plus de scintillement, mais je peux sentir la différence de 60 Hz par rapport à 144 Hz lorsque j'alt-tab du terminal à un autre programme et cela me semble drôle.

@KrunoSaho Je ne peux pas le prouver et je peux me tromper, mais je suis assez certain ...
Vous pouvez essayer tous les exemples "D2D" (Direct2D), "DWrite" (DirectWrite) et "DX" (DirectX) ici et vous remarquerez que _tous_ d'entre eux présentent le même problème que Windows Terminal.
L'application _only_ UWP + DirectX que j'ai jamais trouvée et qui n'a pas le même problème est la version App Store de Minecraft.
En tant que tel, je pense que le problème sous-jacent est l'heuristique de Nvidia, qui décide si un processus doit utiliser GSYNC.

Tous ceux qui n'en ont pas strictement besoin doivent désactiver "Activer le mode fenêtré et plein écran":
image

À mon humble avis, ce problème peut être résolu, car ce comportement n'est pas présent lors de l'utilisation de GPU AMD, ce qui exclut en quelque sorte la possibilité d'un bogue dans Windows Terminal ou Windows en général.

Malheureusement, nous avons activé le paramètre «Activer pour le mode fenêtré et plein écran» car nous en avons strictement besoin. Si je ne fais pas cela, les jeux en mode fenêtré n'utiliseront pas du tout G-SYNC. Cette option est donc indispensable.
J'ai également eu ce problème avec Photoshop, mais au moins mon pilote nvidia défectueux m'a laissé choisir un taux de rafraîchissement fixe pour cette application simplement en apparaissant dans la liste des applications à choisir.

Donc, si rien d'autre, si vous pouviez simplement faire apparaître l'application du terminal d'une manière ou d'une autre par magie dans la liste des applications des paramètres 3D du panneau de contrôle nvidia, je serais plus qu'heureux.

J'ai soumis un rapport de bogue à nVidia à ce sujet. Nous verrons ce qui se passe, le cas échéant.

@electrofloat Je n'ai pas encore réussi à reproduire ce bug ... Pour moi, ça se voit:
image

... et cela me permet correctement de changer la "Technologie du moniteur", qui résout le problème. S'il ne s'affiche pas pour vous, essayez de créer un raccourci vers l'application Terminal sur votre bureau, en faisant glisser et en déposant l'application du menu Démarrer sur le bureau.

Je démarre déjà le terminal via le raccourci du bureau, et cela ne le fait malheureusement pas apparaître dans la liste des applications récemment utilisées. :(

@electrofloat Essayez de redémarrer votre PC. Nvidia met en cache cette liste dans son pilote la première fois que vous ouvrez les paramètres du programme.

@lhecker J'ai lu la même chose, mais j'ai également refusé d'envoyer un PR. Mais plus j'y pense, plus je change d'avis ... Autant que je sache, vous pouvez détecter Nvidia et même interroger G-Sync et ce n'est pas une solution de contournement selon la documentation, mais la façon dont cela est censé fonctionner . N'oubliez pas que les gars d'AMD en bénéficieraient également car G-Sync et FreeSync sont interchangeables.

Pour être juste, c'est un problème d'œufs de poule. AMD peut clairement gérer cette situation avec ses pilotes, Nvidia ne le peut pas. Avec des horaires serrés, il est facile de dire oui à Nvidia et de les laisser résoudre le problème. On peut également affirmer qu'en fait le pilote Nvidia est bon, le logiciel ne demande tout simplement pas et ne fournit pas les fonctionnalités souhaitées par l'utilisateur.

Je pense juste que c'est un peu triste qu'il existe un moyen de résoudre le problème en implémentant quelque chose que quelqu'un chez Microsoft a déjà documenté. Et ce problème ne se produit pas uniquement avec le terminal Windows, mais également avec de nombreuses applications UWP et WPF

@electrofloat Vous pouvez essayer de rechercher l'exécutable à l'aide du navigateur dans le menu d'ajout. Il peut être trouvé quelque part sous C:\Program Files\WindowsApps et vous devrez peut-être modifier les autorisations de ce dossier. Je n'ai pas non plus pu le faire apparaître sur la liste.

Notez que cela n'a pas vraiment aidé dans mon cas, et mes options sont de désactiver G-Sync en mode fenêtré (non merci) ou d'utiliser le drapeau expérimental (cela a aidé).

J'ai également observé que parfois ce problème se résout sans aucune intervention en utilisant les paramètres par défaut.

Peut confirmer que ce n'est pas spécifique au terminal Windows sur ma machine.

@SirJson tl; dr : Vous l'avez mal compris ... Windows Terminal (WT) ne devrait pas être rendu explicitement à un taux de rafraîchissement variable (VRR). Il ne s'agit pas de savoir comment nous pouvons prendre en charge G-SYNC, mais plutôt comment nous pouvons le désactiver au mieux.


WT ne capture pas l'entrée de la souris comme le font les jeux et devrait s'intégrer correctement avec le gestionnaire de fenêtres et le reste du système d'exploitation (mouvement du curseur, glisser-déposer, etc.). Il doit également être économe en énergie, ce qui signifie que fonctionner à plein FPS est assez contre-productif. Chrome, par exemple, ralentira pour ne pas rendre du tout s'il n'en a pas besoin. Pour que WT soit rendu à 165 FPS sur mon PC relativement costaud, il utilise presque tout un cœur de processeur seul.

Si votre pilote graphique décide qu'une application veut VRR, il mettra tout le pipeline de rendu (pour l'écran sur lequel l'application est visible) en mode VRR. Si cette application unique dessine à un FPS bas, tout votre écran dessinera à ce FPS, y compris le gestionnaire de fenêtres, le curseur de votre souris, etc. - tout en gros! C'est la principale raison pour laquelle VRR n'est activé que pour les applications en plein écran ou les applications qui capturent le curseur de la souris comme le font les jeux. L'heuristique de Nvidia fonctionne pour presque toutes les applications régulières. Les fichiers .exe réguliers comme Firefox, Chrome, VS Code sont tous correctement détectés comme non-G-SYNC. Les applications UWP comme WT, Slack (oui même Slack!) Sont incorrectement détectées comme celles qui veulent G-SYNC. C'est clairement un bug du côté de Nvidia.

Enfin, il n'est même pas garanti que le moteur de rendu DirectX de WT soit suffisamment rapide pour fournir les> 120 FPS que vous recherchez.
Si jamais cela échoue, tout votre écran se sentira lent pour la raison ci-dessus.

En résumé, WT ne devrait pas être rendu avec VRR et si quelqu'un a une idée comment faire en sorte que le pilote de Nvidia détecte WT comme une application qui veut G-SYNC, faites-le moi savoir et je l'implémenterai! Je sais que c'est possible d'une manière ou d'une autre, car, encore une fois, UWP Minecraft est l'une des très rares applications UWP qui sont correctement détectées comme non-G-SYNC.

Qu'est-ce qui me laisse perplexe venant d'un arrière-plan de développeur de jeux, et désolé si c'est une question stupide, pourquoi la boucle d'application est-elle liée au moteur de rendu? Dans un jeu, personne ne ferait cela même bien avant que nous ayons G-Sync car si un système ne peut pas gérer une scène lourde, par exemple, la logique interne devrait continuer sans même si le rendu est lent.

Quand je pense ensuite à la façon dont cela rend le curseur saccadé, je me demande ce qui se passe en arrière-plan car avec mon modèle mental, le curseur du système d'exploitation était une chose distincte de l'application graphique en cours d'exécution. C'est presque comme si G-Sync ralentissait tout le compositeur.

Mais je m'éloigne du sujet en disant simplement à G-Sync de se taire est aussi une solution, ce n'est pas comme s'il aurait de toute façon une place à l'intérieur d'un terminal. Mais comment faire cela à partir du code d'application, je ne sais pas.

@SirJson Je crois qu'il reste encore pas mal de places pour l'optimisation dans le moteur de rendu. Mais vous devez tenir compte du fait que les jeux ne sont pas conçus pour être économes en énergie, c'est pourquoi ils s'en tirent en utilisant, disons, 10% de la puissance potentielle de votre processeur à tout moment. En tant que terminal, cela ne devrait pas être le cas bien sûr, c'est pourquoi nous aimerions limiter autant que possible la boucle de rendu.
La raison pour laquelle le curseur de votre souris est instable est que WT est reconnu comme une application VRR et que votre fréquence d'images d'affichage est synchronisée avec celle de WT. Maintenant, si WT effectue le rendu de manière économe en énergie (ce qui signifie: rarement / si nécessaire), la fréquence d'images de WT tombe à environ 3-4 FPS, ce qui fait chuter la fréquence d'images de l'ensemble de votre écran à 3-4 FPS.

Oui, je suis d'accord, ce serait stupide de rendre le même texte 144 fois simplement parce que nous le pouvons.

En ce qui concerne les exceptions G-Sync, je suppose que c'est codé en dur dans le pilote. Lorsque j'ouvre mes profils dans le panneau de configuration NVIDIA, je vois des profils automatiques pour Chrome, Firefox, etc. et ils sont tous correctement configurés comme les gens le font ici manuellement. Cela signifierait que jusqu'à ce que quelqu'un là-bas se réveille et crée un profil dans le pilote ou corrige réellement G-Sync, nous ne pouvons pas faire grand chose.

Je suis maintenant curieux de savoir ce qui se passe avec AMD sur le même moniteur et système. Après tout, il y a une raison pour laquelle j'exécute cette configuration GPU et si Windows insiste pour installer encore et encore les pilotes AMD, je ferais aussi bien de le tester maintenant. Je me demande si AMD autorise même FreeSync dans les applications fenêtrées.

Quelqu'un a-t-il trouvé un moyen de l'ajouter à la liste des applications dans le panneau de configuration Nvidia?

Ne vient pas du tout pour moi: /

Ouais, cliquez sur Ajouter -> Parcourir et accédez à C: \ Program Files \ WindowsApps \ Il devrait y avoir un dossier appelé quelque chose comme Microsoft.WindowsTerminal_1.0.1811.0_x64__8wekyb3d8bbwe .

L'exe est à l'intérieur.

Cette méthode est cependant meilleure: https://github.com/microsoft/terminal/issues/649#issuecomment -647617350

@SirJson : Oui, je suis d'accord, ce serait stupide de rendre le même texte 144 fois simplement parce que nous le pouvons.

Une fréquence d'images élevée peut être nécessaire si le même texte peut soudainement bouger, je ne sais pas si un moniteur moderne peut instantanément changer la fréquence d'images à la fréquence d'images requise pour déplacer le texte en douceur comme dans des applications comme celle-ci (utilisez le profil WSL pour suivi de la souris):

ssh [email protected]

netxs-group / VTM # 9 Avec cette application, vous pouvez tester les performances du terminal en manipulant le contenu texte avec votre souris en utilisant n'importe quelle fréquence d'images.

image

Ouais, cliquez sur Ajouter -> Parcourir et accédez à C: \ Program Files \ WindowsApps \ Il devrait y avoir un dossier appelé quelque chose comme Microsoft.WindowsTerminal_1.0.1811.0_x64__8wekyb3d8bbwe .

L'exe est à l'intérieur.

Cette méthode est cependant meilleure: # 649 (commentaire)

Ouais, en utilisant celui-là pour le moment. J'ai essayé de créer un profil via cette méthode, mais cela ne fonctionne pas.
Donc, le rendu SW est pour le moment.

J'ai également eu des problèmes avec la définition d'un profil Nvidia pour mon application UWP. J'ai installé Terminal via scoop, et _still_ ne pouvait toujours pas le faire appliquer un profil. À la fin, j'ai utilisé https://github.com/Orbmu2k/nvidiaProfileInspector comme suggéré par @krage et je me suis

image

Et voilà! Terminal 155Hz 😎

@jalada Désolé, mais cette méthode ne fonctionne pas non plus pour moi :(. On dirait que l'utilisation du rendu logiciel est la seule option. J'utilise la version préliminaire du terminal btw.

This is my inspector profile btw

Après une longue période et après avoir donné à nVidia mon rapport msinfo32, ils disent qu'ils l'examinent.

Bonjour Kruno,

Je vous remercie. Nous examinons la question. Aucune autre mise à jour pour le moment.

Cordialement,
Josh
NVCC

Maintenant, nous jouons le jeu de l'attente.

@ o-sdn-o Mais c'est une référence si je comprends bien et non votre cas d'utilisation typique. J'essaie de le voir d'un point de vue pratique et j'utilise quotidiennement un moniteur 144hz. Et tbh je n'ai pas encore trouvé d'application de terminal nécessitant 144 FPS qui ne soit pas une démo ou un effet cool.

Le problème que je vois est si je veux jouer à un jeu en mode fenêtré ou au nouveau "mode fenêtré plein écran" recommandé mais aussi utiliser G-Sync sans casser Windows en même temps. N'oubliez pas que cela ne se produit pas seulement avec le terminal Windows, mais également par exemple dans le tableau blanc Microsoft et d'autres applications UWP.

Ce qui m'a dérouté, c'est que le curseur de toutes choses est détecté comme une "application à taux de rafraîchissement variable". Pour moi, tout cela ressemble à quelque chose que Nvidia devrait examiner.

Dans le pire des cas, faites une fourchette, débloquez la fréquence d'images et faites ce que vous devez faire. Mais cela ne résoudrait pas le problème à l'échelle du système.

Oui, je suis entièrement d'accord avec @SirJson , Nvidia doit réparer ses pilotes en excluant cette application.
Ce n'est pas vraiment un problème qui provient du terminal Windows.

Je sens que j'ai besoin de clarifier à nouveau, que G-Sync est l'implémentation par Nvidia d'un "taux de rafraîchissement variable" (VRR) pour votre moniteur.
L'important ici est _ "votre moniteur" _, car le taux de rafraîchissement n'est pas par application. Si une application entraîne l'activation de G-Sync, l'ensemble du moniteur sera désormais rendu à la vitesse de l'application à l'origine de G-Sync.
Votre curseur ne bégaie pas lorsque vous utilisez des applications UWP avec G-Sync car le curseur est détecté en tant qu'application VRR, mais plutôt parce que la fréquence de rafraîchissement de l'ensemble de vos moniteurs a été réduite de manière dynamique. La raison en est que les applications de bureau - comme Windows Terminal - ne dessinent presque toujours que lorsque cela est nécessaire, ce qui se traduit par une faible fréquence d'images de l'application, que G-Sync transforme finalement en une faible fréquence de rafraîchissement de votre moniteur.

Eh bien, cela rend toute cette fonctionnalité inutile, n'est-ce pas? J'ai supposé que ce que mon moniteur rapportait, la constante 144hz, était le taux de rafraîchissement de l'écran dans son ensemble et peut-être des astuces avec le compositeur qui ont implémenté cette fonctionnalité.

Heureusement si j'ai le temps de jouer, le jeu auquel je joue actuellement prend en charge le plein écran, je n'ai pas touché à cette option depuis des mois maintenant à cause de "ce qui se passe" et je n'ai eu aucun problème avec. Pour être honnête à l'origine, je suis tombé sur ce problème car mon ancien écran peut également être obligé de faire g-sync @ 60hz (ce qui est encore plus pointu mais bon j'étais curieux de savoir ce qui se passerait)

À tous ceux qui ont des problèmes et ne veulent pas utiliser le rendu logiciel, je ne peux que vous recommander de faire ce que moi et d'autres avons fait il y a plus de 130 jours et j'espère que NVIDIA trouvera une solution car l'éloignement du véritable plein écran est assez clair.

Merci @lhecker d' avoir

L'ajout de "experimental.rendering.software": true m'a également aidé. Exécution du terminal Windows 1.0.1401.0 avec GTX 970 (pilote Nvidia 432.00).

Ce problème n'est pas spécifique au terminal Windows. J'ai également dû définir un drapeau expérimental pour Ableton Live et désactiver l'accélération matérielle pour Spotify.

Cela résout le problème pour moi en utilisant 2080ti et plusieurs écrans 165 Hz GSynced

L'ajout de "experimental.rendering.software": true m'a également aidé. Exécution du terminal Windows 1.0.1401.0 avec GTX 970 (pilote Nvidia 432.00).
Ce problème n'est pas spécifique au terminal Windows. J'ai également dû définir un drapeau expérimental pour Ableton Live et désactiver l'accélération matérielle pour Spotify.

Cela résout le problème pour moi en utilisant 2080ti et plusieurs écrans 165 Hz GSynced

Cela résout également le problème pour moi avec 1080ti et 165hz GSync.

L'ajout de "experimental.rendering.software": true m'a également aidé. Exécution du terminal Windows 1.0.1401.0 avec GTX 970 (pilote Nvidia 432.00).
Ce problème n'est pas spécifique au terminal Windows. J'ai également dû définir un drapeau expérimental pour Ableton Live et désactiver l'accélération matérielle pour Spotify.

Cela résout le problème pour moi en utilisant 2080ti et plusieurs écrans 165 Hz GSynced

Cela résout également le problème pour moi avec 1080ti et 165hz GSync.

Cela résout le problème pour moi sur un RTX 2070 et 144hz GSync

La même chose se passe sur une GeForce 2080 Ti avec le pilote 451.67. Qu'est-ce que Windows Terminal fait différemment des autres applications de terminal avec son rendu d'écran? Powershell, Powershell ISE, la ligne de commande Windows par défaut, Cmder ne présentent pas tous ce comportement étrange et conviennent parfaitement à la fenêtre Gsync ou aux paramètres fenêtrés.

Je voudrais à nouveau mentionner mes commentaires ci-dessus car ils expliquent la situation en détail.
Ce commentaire en particulier devrait être le plus concis: https://github.com/microsoft/terminal/issues/649#issuecomment -647777960

Je voudrais à nouveau mentionner mes commentaires ci-dessus car ils expliquent la situation en détail.
Ce commentaire en particulier devrait être le plus concis: # 649 (commentaire)

Je comprends le raisonnement de votre commentaire si nous parlions de la différence entre la façon dont les jeux capturent l'entrée de la souris et d'autres types d'applications, mais je me demande pourquoi les autres applications de terminal que je mentionne semblent gérer l'entrée de la souris sous un taux de rafraîchissement d'écran activé par Gsync sans problème . Ce sont des applications standard et je suis sûr qu'elles n'ont pas de profil de panneau de configuration Nvidia personnalisé pour elles. Quelle est la différence dans la façon dont Windows Terminal gère le rendu d'affichage et peut-il être corrigé par les développeurs, Nvidia doit-il gérer cela ou les deux?

@Seefer Vous vous
Le terminal Windows (WT) présente ce comportement car il rend le shell en utilisant votre GPU et non CPU, contrairement aux autres terminaux que vous avez essayés. Nvidia reconnaît à tort WT comme une application qui veut G-Sync. Vous pouvez en savoir plus à ce sujet dans mes autres commentaires dans ce numéro et dans le commentaire que j'ai lié ci-dessus.

Je sais que cela semble très impoli, mais en tant que locuteur anglais non natif et qu'il manque de meilleurs mots: de nombreux commentateurs me semblent ici comme s'ils ne savaient vraiment pas ce qu'est G-Sync et comment cela fonctionne. Je suggère à tout le monde ici de désactiver G-Sync pour les applications fenêtrées. Vous devez considérer que Nvidia dispose d'un bouton de très bas niveau, réservé aux experts, qu'il vaut mieux laisser par défaut (à savoir désactivé). Les paramètres du panneau de configuration Nvidia doivent ressembler à ceci:
image

Il n'y a que de très rares circonstances dans lesquelles vous voudriez qu'il soit activé. Fondamentalement, le seul cas dans lequel vous souhaitez modifier ce paramètre est si vous avez des jeux fenêtrés (non plein écran) ou d'autres applications graphiques qui ne fonctionnent pas à la fréquence de rafraîchissement native de votre moniteur (144 Hz, 240 Hz, etc.).

Je vois votre point maintenant. Malheureusement, l'option de réglage du mode plein écran ou fenêtré de Gsync n'est pas vraiment une option pour moi en tant que joueur. Dans la mesure du possible, je lance des jeux principalement en plein écran sans bordure, car cela évite les problèmes de perte de périphérique graphique pour les jeux qui ne gèrent pas très bien ALT-TAB. Il est également plus facile de revenir au bureau si un jeu tombe en panne afin de lancer le Gestionnaire de tâches ou l'Explorateur de processus afin de terminer la tâche du jeu gelé. Je pense que je vais m'en tenir à Cmder pour les besoins de mon terminal jusqu'à ce que le comportement de la souris du terminal Windows soit résolu :(

L'avantage de @Seefer G-Sync est la suppression de la déchirure de l'écran si la fréquence d'images de votre application / jeu ne peut pas suivre votre moniteur. Et les applications techniquement fenêtrées (même fenêtrées en plein écran) ne peuvent pas avoir de déchirement d'écran car elles sont d'abord composées par DWM avant d'être affichées sur votre moniteur. Je me demande donc personnellement quel jeu nécessite G-Sync en mode fenêtré ... 🤔

@lhecker Je ne sais pas exactement pourquoi, mais G-Sync en mode fenêtré (plein écran sans bordure) fait absolument une différence visible pour moi, alors je le garde. Sans cela, le taux de rafraîchissement variable ne fonctionne pas correctement (j'ai essayé plusieurs choses) et je pense que le framerate est limité par les pilotes Windows ou Nvidia. C'est le cas dans tous les jeux auxquels j'ai joué récemment. J'ai deux moniteurs G-Sync, donc je préfère utiliser le plein écran sans bordure.

Je me souviens avoir lu qu'avant, les jeux n'obtiendraient un accès exclusif au pilote que s'ils étaient en mode plein écran, mais il y a quelques années, le plein écran sans bordure a également commencé à donner aux jeux un accès exclusif avec l'avantage de pouvoir utiliser facilement des configurations multi-moniteurs.

Je dois également mentionner que cela se produit même lorsque la souris n'est pas au- dessus du terminal tant que le focus est mis sur le terminal. Si le terminal prend en charge l'écran et est sélectionné, la souris sera en retard partout où je la déplace. Ne vous concentrez plus et tout est parfait.

@jalada @SirJson et d'autres, il vous suffit de le remplacer "dans le bon sens". Pour les éléments Store / UWP, vous devez utiliser le nom interne <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> . Il n'est pas nécessaire de jouer avec les autorisations C:\Program Files\WindowsApps .

Enregistrer en tant que fichier avec .nip se terminant, importer le fichier avec NVIDIA Profile Inspector:

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfProfile>
  <Profile>
    <ProfileName>Windows Terminal Gsync Fix</ProfileName>
    <Executeables>
      <string>windowsterminal.exe</string>
      <string>c:/program files/windowsapps/microsoft.windowsterminal_1.1.2021.0_x64__8wekyb3d8bbwe/windowsterminal.exe</string>
      <string>Microsoft.WindowsTerminal_1.1.2021.0_x64__8wekyb3d8bbwe</string>
      <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
    </Executeables>
    <Settings>
      <ProfileSetting>
        <SettingNameInfo>G-SYNC</SettingNameInfo>
        <SettingID>279476687</SettingID>
        <SettingValue>1</SettingValue>
        <ValueType>Dword</ValueType>
      </ProfileSetting>
    </Settings>
  </Profile>
</ArrayOfProfile>

Ou décompressez à partir de ceci:
Nvidia-Terminal.zip

Seul <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> est nécessaire pour une installation dans le Store (sur mon PC / Win / pilote; je ne peux pas tester d'autres configurations, donc j'ai laissé tout ce qui me semblait un peu raisonnable).

Je ne savais pas comment NV nommerait un tel profil (ils ont une dénomination incohérente Microsoft ... / Windows ... ) et je ne sais pas ce qu'il adviendra de ce profil personnalisé si un futur pilote expédie le sien.

[sur mon pilote précédent 445.78, le menu Démarrer se comportait également comme ça la moitié du temps, ~ 32 Hz taux de rafraîchissement; corrigé dans les pilotes plus récents comme 451.85]

@jalada @SirJson et d'autres, il vous suffit de le remplacer "dans le bon sens". Pour les éléments Store / UWP, vous devez utiliser le nom interne <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>

Enregistrer en tant que fichier avec .nip se terminant, importer le fichier avec NVIDIA Profile Inspector:

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfProfile>
  <Profile>
    <ProfileName>Windows Terminal Gsync Fix</ProfileName>
    <Executeables>
      <string>windowsterminal.exe</string>
      <string>c:/program files/windowsapps/microsoft.windowsterminal_1.1.2021.0_x64__8wekyb3d8bbwe/windowsterminal.exe</string>
      <string>Microsoft.WindowsTerminal_1.1.2021.0_x64__8wekyb3d8bbwe</string>
      <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
    </Executeables>
    <Settings>
      <ProfileSetting>
        <SettingNameInfo>G-SYNC</SettingNameInfo>
        <SettingID>279476687</SettingID>
        <SettingValue>1</SettingValue>
        <ValueType>Dword</ValueType>
      </ProfileSetting>
    </Settings>
  </Profile>
</ArrayOfProfile>

Ou décompressez à partir de ceci:
Nvidia-Terminal.zip

Seul <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> est nécessaire pour une installation dans le Store.

Je ne savais pas comment NV nommerait un tel profil (ils ont un nom incohérent Microsoft ... / Windows ... ) et je ne sais pas ce qu'il adviendra de ce profil personnalisé si un futur pilote expédie le sien.

[sur mon pilote précédent 445.78, le menu Démarrer se comportait également comme ça la moitié du temps, ~ 32 Hz taux de rafraîchissement]

Merci pour ça. Excellent outil. J'ignorais qu'il y avait tant d'autres paramètres de profil Nvidia cachés. J'avais déjà ajouté l'exécutable Windows Terminal aux profils Nvidia, mais aucun dérangement avec les paramètres GSYNC exposés là-bas ne m'a permis d'ajuster le comportement de capture de la souris du terminal Windows.

Il ne semble pas changer dynamiquement mon mode Global GSYNC de fenêtré ou plein écran à plein écran sur une base par profil. En utilisant le panneau de configuration Nvidia pour définir le mode GSYNC sur plein écran, les problèmes de souris du terminal Windows disparaissent effectivement, mais si vous utilisez cet outil Inspecteur de profil pour définir le mode GSYNC sur plein écran, puis exécutez le terminal Windows, les problèmes de souris persistent comme si le paramètre de profil ne pouvait pas pour remplacer le paramètre Global. Tout cela est très frustrant sans idée claire de la partie qui doit faire le correctif (développeurs Nvidia ou WT). Jusqu'à ce que cela soit résolu, je m'en tiens à Cmder, ce qui est dommage car je creuse totalement comment WT rend l'utilisation de WSL2 un peu plus agréable :(

@jalada @SirJson et d'autres, il vous suffit de le remplacer "dans le bon sens". Pour les éléments Store / UWP, vous devez utiliser le nom interne <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
Enregistrer en tant que fichier avec .nip se terminant, importer le fichier avec NVIDIA Profile Inspector:

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfProfile>
  <Profile>
    <ProfileName>Windows Terminal Gsync Fix</ProfileName>
    <Executeables>
      <string>windowsterminal.exe</string>
      <string>c:/program files/windowsapps/microsoft.windowsterminal_1.1.2021.0_x64__8wekyb3d8bbwe/windowsterminal.exe</string>
      <string>Microsoft.WindowsTerminal_1.1.2021.0_x64__8wekyb3d8bbwe</string>
      <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
    </Executeables>
    <Settings>
      <ProfileSetting>
        <SettingNameInfo>G-SYNC</SettingNameInfo>
        <SettingID>279476687</SettingID>
        <SettingValue>1</SettingValue>
        <ValueType>Dword</ValueType>
      </ProfileSetting>
    </Settings>
  </Profile>
</ArrayOfProfile>

Ou décompressez à partir de ceci:
Nvidia-Terminal.zip
Seul <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> est nécessaire pour une installation dans le Store.
Je ne savais pas comment NV nommerait un tel profil (ils ont un nom incohérent Microsoft ... / Windows ... ) et je ne sais pas ce qu'il adviendra de ce profil personnalisé si un futur pilote expédie le sien.
[sur mon pilote précédent 445.78, le menu Démarrer se comportait également comme ça la moitié du temps, ~ 32 Hz taux de rafraîchissement]

Merci pour ça. Excellent outil. J'ignorais qu'il y avait tant d'autres paramètres de profil Nvidia cachés. J'avais déjà ajouté l'exécutable Windows Terminal aux profils Nvidia, mais aucun dérangement avec les paramètres GSYNC exposés là-bas ne m'a permis d'ajuster le comportement de capture de la souris du terminal Windows.

Il ne semble pas changer dynamiquement mon mode Global GSYNC de fenêtré ou plein écran à plein écran sur une base par profil. En utilisant le panneau de configuration Nvidia pour définir le mode GSYNC sur plein écran, les problèmes de souris du terminal Windows disparaissent effectivement, mais si vous utilisez cet outil Inspecteur de profil pour définir le mode GSYNC sur plein écran, puis exécutez le terminal Windows, les problèmes de souris persistent comme si le paramètre de profil ne pouvait pas pour remplacer le paramètre Global. Tout cela est très frustrant sans idée claire de la partie qui doit faire le correctif (développeurs Nvidia ou WT). Jusqu'à ce que cela soit résolu, je m'en tiens à Cmder, ce qui est dommage car je creuse totalement comment WT rend l'utilisation de WSL2 un peu plus agréable :(

Ok, cela semble fonctionner. J'ai dû supprimer mon profil WT précédent dans le panneau de configuration et utiliser simplement votre fichier .nip pour importer à l'aide de l'inspecteur de profil Nvidia. J'ai supposé parce que j'avais déjà un profil WT, qu'il n'était pas nécessaire d'importer le vôtre pour accéder aux paramètres du profil exécutable WT. Les choses semblent bien fonctionner maintenant. Je peux laisser mon mode Global GSYNC en mode fenêtré ou plein écran et votre profil se charge de régler le mode GSYNC sur plein écran uniquement lorsque je lance WT.

Merci beaucoup!

L'avantage de @Seefer G-Sync est la suppression de la déchirure de l'écran si la fréquence d'images de votre application / jeu ne peut pas suivre votre moniteur. Et les applications techniquement fenêtrées (même fenêtrées en plein écran) ne peuvent pas avoir de déchirement d'écran car elles sont d'abord composées par DWM avant d'être affichées sur votre moniteur. Je me demande donc personnellement quel jeu nécessite G-Sync en mode fenêtré ... 🤔

Tout jeu que vous exécutez en mode `` fenêtre sans bordure '' est essentiellement un jeu fenêtré, sans aucun chrome du système d'exploitation Windows. Ce mode existe depuis des lustres. Je me souviens de l'avoir utilisé lors de ma programmation temporelle sous WIN32.

@Seefer C'est exactement pourquoi je n'ai pas vraiment compris pourquoi certaines personnes ont besoin de G-Sync pour des applications plein écran non exclusives. Il ne peut pas y avoir d'avantage significatif, car tout ce que G-Sync fournit est quelque chose que DWM fait également. (Étant donné que vous n'avez pas oublié d'activer V-Sync.)

Quoi qu'il en soit, ce qui doit se passer, c'est que Nvidia le répare de son côté. Ils ne devraient activer G-Sync que pour les applications fenêtrées plein écran qui masquent également le curseur et pas toutes les applications fenêtrées normales.

@Seefer C'est exactement pourquoi je n'ai pas vraiment compris pourquoi certaines personnes ont besoin de G-Sync pour des applications plein écran non exclusives. Il ne peut pas y avoir d'avantage significatif, car tout ce que G-Sync fournit est quelque chose que DWM fait également. (Étant donné que vous n'avez pas oublié d'activer V-Sync.)

Cela devient complètement hors sujet maintenant, mais par exemple:
Overwatch, shows that, no, with G-SYNC enabled, both borderless and windowed mode do not add 1 frame of delay over exclusive fullscreen. Standalone “V-SYNC,” however, does show the expected 1 frame of delay. source

Ils ne devraient activer G-Sync que pour les applications fenêtrées plein écran qui masquent également le curseur et pas toutes les applications fenêtrées normales.

Il pourrait sûrement y avoir à la fois des jeux qui ne cachent pas le curseur et des non-jeux qui le font? Toutes mes excuses si je vous comprends mal, mais lorsque mon lecteur multimédia cache le curseur, il ne devient pas un jeu, et je suppose qu'un jeu peut également continuer à afficher le curseur Windows.

@Luckz Vous vous rendez compte que j'ai publié la solution il y a des mois, mais je ne savais pas si elle pouvait également être corrigée au niveau de l'application, car je ne me souvenais tout simplement pas comment G-Sync fonctionne exactement. Ces jours-ci, vous pouvez l'allumer même sur votre grille-pain, ce qui vous permet d'oublier facilement ce que cette option signifie réellement. C'est donc mon problème, mais à l'époque, lorsque j'ai publié la solution, j'ai également mentionné à quel point il était ridicule d'activer G-Sync fenêtré en premier lieu. Je peux également noter que je n'ai pas eu un seul problème depuis lors.

Après cela, toute discussion de ma part portait sur la recherche d'une solution qui n'était pas: "Nous attendons que Nvidia le remarque." Mais c'est la seule option pour un vrai correctif et le rendu logiciel est une solution de contournement jusque-là.

Je sais que vous ne vouliez rien dire de mal, mais uniquement parce que vous voyez souvent un nom qui ne signifie pas que l'utilisateur a également le plus gros problème.

@Luckz Je suis d'accord que nous

Mais je m'attendais à ce que cet article soit mentionné, d'autant plus qu'il est factuellement faux, ou du moins assez trompeur. Je veux dire que ce n'est pas comme si cet article avait été revu par des pairs, n'est-ce pas? Alors permettez-moi une dernière fois d'expliquer comment l'auteur de cet article interprète mal ses propres résultats.
La fréquence d'images de l'application est pratiquement plafonnée à 142 FPS, malgré l'utilisation de V-Sync, ce qui plafonnerait la fréquence d'images à 144 FPS de toute façon. tl; dr: Ne plafonnez pas les fréquences d'images si vous utilisez V-Sync.
L'auteur de votre article a fait cette erreur, en lui faisant à tort (et vous croyez) que vous obtenez régulièrement / toujours un délai d'une image, ce qui ne pourrait être plus éloigné de la vérité. En fait, seulement 2 images sur 144 sont retardées en raison de ce «mauvais alignement» de la fréquence d'images de l'application et de la fréquence de rafraîchissement du moniteur.
Une comparaison appropriée peut être vue ici (vous devez basculer la première image sur les versions 144+ Hz). À titre de comparaison de la différence de 0 à 2 ms: un moniteur 144 Hz coûteux et moderne a généralement un temps de réponse GtG mesuré d'environ 4 ms et je doute que beaucoup l'aient déjà remarqué. 😄

Merci @Luckz pour un correctif / une solution de contournement.

J'ajouterais aux symptômes que j'avais ressentis avant de le mettre en place que c'était le terminal Windows qui en était à l'origine.
Sous Windows 10 20H2 (build du système d'exploitation 19042.450) J'ai vu le moniteur GSYNC devenir noir et ne plus se rallumer (redémarrage requis). Également vu un écran noir clignotant sur les 3 moniteurs. Une fois que j'ai appliqué le correctif, les problèmes semblent avoir disparu.

Salut tout le monde,
J'ai eu le même problème.
Je pensais que mon ordinateur portable était celui avec le problème au début, mais j'ai ensuite remarqué que le problème se produisait également sur certains types d'applications, notamment les applications Windows Store. J'ai remarqué que cela se produisait Splashable, WhatsApp, Windows Terminal, Speedtest parmi beaucoup d'autres.
Mon ordinateur portable est le ASUS ROG Zephyrus Duo 15 GX550LWS
Spécifications ici
Mon moniteur externe est le moniteur de jeu ASUS VG278QR (compatible GSYNC) fonctionnant à 165 Hz

Régler GSYNC en mode plein écran, ce qui est ridicule, résout le problème.
De plus, comme mon GPU est de conception Max-Q, j'ai la possibilité de basculer entre le mode optimus et le mode graphique discret. En mode graphique discret se concentrant sur ces applications, le deuxième écran de mon ordinateur portable devient noir à moins que le mouvement de la souris ou quelque chose dans l'application change. Je suppose que cela a à voir avec le rendu des cadres.

Splashable, WhatsApp, Speedtest parmi tant d'autres.

Vous êtes invité à créer des profils pour tous ceux-ci et à les envoyer à Nvidia idéalement pour les inclure dans une future version de pilote.

Je déteste m'empiler sur un vieux problème, mais je vois que le correctif habituel (ajouter un profil personnalisé avec " Monitor Technology " réglé sur " Fixed Refresh ") ne fonctionne pas réellement. J'ai un moniteur ultra-large LG 38GL950G réglé sur 100 Hz. Il dispose d'un affichage du taux de rafraîchissement matériel qui peut être activé. Même avec un profil défini pour désactiver GSync pour l'application, il tombe toujours à 12 images par seconde lorsque le terminal est l'application au premier plan.

La désactivation de G-Sync pour les applications fenêtrées n'est pas une option, car je joue fréquemment à des jeux fenêtrés. Cela résoudrait ce comportement, mais a trop d'effets secondaires négatifs.

Faites-vous quelque chose de différent avec les profils pour que cela fonctionne?

Splashable, WhatsApp, Speedtest parmi tant d'autres.

Vous êtes invité à créer des profils pour tous ceux-ci et à les envoyer à Nvidia idéalement pour les inclure dans une future version de pilote.

Ce problème doit être remonté à Microsoft car il semble être un problème fondamental avec la façon dont la technologie UWP gère les dessins de fenêtres, j'espère qu'il pourra être corrigé dans la prochaine version de Windows. Aucun de mes programmes non UWP ne connaît ce comportement étrange.

Même avec un profil défini pour désactiver GSync pour l'application

Êtes-vous sûr d'avoir la bonne application? Collez peut-être ce que vous utilisez comme application. (après avoir vérifié quelques articles ci-dessus pour voir ce qui fonctionne habituellement)

Même avec un profil défini pour désactiver GSync pour l'application

Êtes-vous sûr d'avoir la bonne application? Collez peut-être ce que vous utilisez comme application. (après avoir vérifié quelques articles ci-dessus pour voir ce qui fonctionne habituellement)

J'utilise c: \ program files \ windowsapps \ microsoft.windowsterminal_1.3.2651.0_x64__8wekyb3d8bbwe \ windowsterminal.exe comme programme, qui est le chemin d'accès à l'image exécutable selon le Gestionnaire des tâches. J'ai également essayé WT.EXE dans le même dossier.

J'ai donc essayé de configurer GSync en plein écran uniquement comme suggéré ci-dessus, mais cela n'a pas aidé. J'ai carrément désactivé Gysnc sur ma machine, et si le scintillement de la souris est corrigé (faible taux de rafraîchissement), mais lorsque vous déplacez la fenêtre, c'est toujours un désordre lent (sans GSync).

Quelles autres options puis-je essayer?

Êtes-vous sûr d'avoir la bonne application? Collez peut-être ce que vous utilisez comme application. (après avoir vérifié quelques articles ci-dessus pour voir ce qui fonctionne habituellement)

J'utilise c: \ program files \ windowsapps \ microsoft.windowsterminal_1.3.2651.0_x64__8wekyb3d8bbwe \ windowsterminal.exe comme programme, qui est le chemin d'accès à l'image exécutable selon le Gestionnaire des tâches. J'ai également essayé WT.EXE dans le même dossier.

C'est exactement pourquoi j'ai demandé. Vous devez utiliserMicrosoft.WindowsTerminal_8wekyb3d8bbwe . J'ai téléchargé un profil ci-dessus (avec trop d'autres variantes qui ne sont pas nécessaires). Voici le minimum:
Nvidia-Terminal.zip

Postulez avec https://github.com/Orbmu2k/nvidiaProfileInspector/releases ( scoop : scoop install nvidia-profile-inspector ). Cliquez sur le bouton d'importation dans la barre d'outils, donnez-lui le ou les fichiers .nip et vous êtes prêt à partir.

quelques autres applications avec des problèmes pour lesquels j'ai créé quelques profils:
Une note: Microsoft.Office.OneNote_8wekyb3d8bbwe
Peinture 3D Microsoft.MSPaint_8wekyb3d8bbwe
Snip & Sketch Microsoft.ScreenSketch_8wekyb3d8bbwe
Accessoires Xbox Microsoft.XboxDevices_8wekyb3d8bbwe
Caméra (nécessite de remplacer le profil Nvidia existant)
Cortana / Search UI (nécessite de remplacer le profil Nvidia existant)
Centre de rétroaction Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe
Microsoft To Do Microsoft.Todos_8wekyb3d8bbwe

tierce personne:
Amazon: Amazon.com.Amazon_343d40qqvtj1t
Amazon Prime Video pour Windows: AmazonVideo.PrimeVideo_pwbj9vvecjh7j
Liberty Global Horizon Go: LibertyGlobal.HorizonGODE_gmwgfebrpy77e
ma collection actuelle de 12 profils: Nvidia-UWP-NoGsync-Profiles.zip

Mais il y en a d'innombrables autres (Portail de réalité mixte, visionneuse 3D, ...)

Gardez également ce problème en vie / récapitulatif. La meilleure solution à ce jour sur Windows Terminal Version 1.3.2651.0 (installée avec choco) est "experimental.rendering.software": vrai dans settings.json.

Inconvénient: impossible d'avoir un jeu et une fenêtre de terminal Windows sur le moniteur Gsync, car le terminal Windows est toujours traité comme un jeu.

À l'envers: comme Windows Terminal est installé via le Microsoft Store, vous ne pouvez pas facilement appliquer le correctif du panneau de configuration Nvidia à moins d'utiliser nvidiaProfileInsepctor tiers.

Cette page vous a été utile?
0 / 5 - 0 notes