Terminal: La frecuencia de actualización de GSync / Freesync / FPS cae al usar Terminal

Creado en 10 may. 2019  ·  128Comentarios  ·  Fuente: microsoft/terminal

Mi monitor principal es 144Hz. Una forma fácil de ver el FPS actual es mover el mouse: el movimiento en 144 FPS es mucho más suave que 60 FPS, y esto es muy notable.

Mientras usa Terminal, el FPS cae constantemente y se mueve entre FPS bajos y 144 FPS completos. No puedo decir si baja a 60 FPS o una cantidad diferente, pero es mucho más bajo que 144 FPS. Mover el cursor mientras escribe muestra bien este problema.

Parece que cada interacción con la Terminal puede hacer que el FPS "cambie" entre bajo y alto: enfocarse en la ventana, escribir, etc. A veces, esperar ~ 3 segundos es suficiente para que el FPS vuelva a alto.

La tarjeta gráfica es Nvidia GTX 1080 Ti y el monitor es 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

Comentario más útil

He estado lidiando con este mismo problema los últimos días. La única solución que he encontrado hasta ahora es desactivar G-Sync para Windows Terminal.

  1. Abra el Panel de control de NVidia.
  2. A la izquierda, seleccione Administrar configuración 3D.
  3. Seleccione la pestaña Configuración del programa.
  4. Deberá agregar la aplicación Terminal de Windows a la lista de programas en el menú desplegable.
  5. Una de las opciones del cuadro debería mostrar que G-Sync está habilitado. Desactívala.
  6. Aplicar cambios.

Sin embargo, esto solo trata el problema, no la fuente. Nunca antes había tenido otras aplicaciones para UWP con este problema, por lo que es probable que sea un problema de Terminal de Windows.

Encontré el problema con una Nvidia GTX 1080 Ti y este monitor Dell G-Sync de 144 hz . Me aseguré de tener instalados los controladores de Nvidia más recientes, pero no probé ningún controlador de versión preliminar.

Todos 128 comentarios

No creo que nadie en el equipo de desarrollo tenga un monitor de 144Hz, así que si alguien en la comunidad estuviera dispuesto a ayudarnos a depurar esto, la ayuda sería muy apreciada.

He estado lidiando con este mismo problema los últimos días. La única solución que he encontrado hasta ahora es desactivar G-Sync para Windows Terminal.

  1. Abra el Panel de control de NVidia.
  2. A la izquierda, seleccione Administrar configuración 3D.
  3. Seleccione la pestaña Configuración del programa.
  4. Deberá agregar la aplicación Terminal de Windows a la lista de programas en el menú desplegable.
  5. Una de las opciones del cuadro debería mostrar que G-Sync está habilitado. Desactívala.
  6. Aplicar cambios.

Sin embargo, esto solo trata el problema, no la fuente. Nunca antes había tenido otras aplicaciones para UWP con este problema, por lo que es probable que sea un problema de Terminal de Windows.

Encontré el problema con una Nvidia GTX 1080 Ti y este monitor Dell G-Sync de 144 hz . Me aseguré de tener instalados los controladores de Nvidia más recientes, pero no probé ningún controlador de versión preliminar.

Puede confirmar, después de deshabilitar explícitamente G-Sync para Terminal (y reiniciar
it) el problema se ha ido. Acordó que esto trata los síntomas en lugar de la
problema. Al menos ahora tenemos una solución alternativa: +1:

El viernes 10 de mayo de 2019 a las 4:27 p.m. mblowey [email protected] escribió:

He estado lidiando con este mismo problema los últimos días. La única solución
Lo que he descubierto hasta ahora es deshabilitar G-Sync para Windows Terminal.

  1. Abra el Panel de control de NVidia.
  2. A la izquierda, seleccione Administrar configuración 3D.
  3. Seleccione la pestaña Configuración del programa.
  4. Tendrá que agregar la aplicación Windows Terminal a la lista de
    programas en el menú desplegable.
  5. Una de las opciones del cuadro debería mostrar que G-Sync está habilitado.
    Desactívala.
  6. Aplicar cambios.

Sin embargo, esto solo trata el problema, no la fuente. Nunca he tenido ninguno
otras aplicaciones para UWP tienen este problema antes, por lo que es probable que sea una Terminal de Windows
problema.

Encontré el problema con una Nvidia GTX 1080 Ti y esta Dell de 144 hz
Monitor G-Sync
https://www.dell.com/en-us/shop/dell-24-gaming-monitor-s2417dg/apd/210-aizs/monitors-monitor-accessories .
Me aseguré de tener instalados los últimos controladores de Nvidia, pero no
probé cualquier controlador de versión preliminar.

-
Estás recibiendo esto porque eres el autor del hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/microsoft/Terminal/issues/649#issuecomment-491288003 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AAJ4X3HNJEYYNFGNVJEUF7LPUVZ2TANCNFSM4HL63MAQ
.

Igual que aquí. Tengo una pantalla y una tarjeta Gsync y la Terminal se está retrasando como loca. Mi pobre pantalla de 165hz :(

Lo mismo aquí también. Monitor G-Sync de 165 hz, GTX 1070, FPS bajo en la terminal.

Tengo una pantalla compatible con G-Sync de 144 Hz (FreeSync). También se encontró un problema de bajo FPS cuando G-Sync estaba habilitado para aplicaciones de ventana (no pantalla completa).

Mi monitor tiene un indicador FPS. Grabé un video para mostrar el cambio de FPS cuando ejecuté la terminal. Cuando el terminal no tiene enfoque, el FPS es 144. Cuando el terminal obtiene el enfoque, el FPS suele ser 48 (el límite inferior de la frecuencia de actualización de VRR de mi pantalla. VRR: Frecuencia de actualización variable), y aumenta brevemente cuando el el contenido se actualiza y luego vuelve a la frecuencia de actualización mínima (48FPS) nuevamente.

Mi video:
https://youtu.be/wokdiOQzwnU
Perdona mi pérdida de enfoque (debido a la pantalla curva) y el ruido de fondo (puedes silenciarlo).

También puede descargar un archivo de video con HEVC 240FPS (tasa de bits baja) aquí:
http://qiniu.img.hu60.cn/file-hash-mp4-fb6775bfceeb0577b7244c58851f85a983686237.mp4

Nota: este monitor no ha pasado la prueba de compatibilidad de Nvidia, por lo que tiene parpadeo y vibración cuando la frecuencia de actualización de VRR fluctúa drásticamente. Es posible que la pantalla G-Sync certificada no tenga jitter, pero el retraso de entrada (velocidad de movimiento del mouse) a frecuencias de actualización bajas es obvio.


A partir de los cambios de FPS en el video, Windows Terminal es una típica aplicación de aceleración de GPU hostil para VRR. Una aplicación de este tipo generalmente no dibuja nada cuando el contenido no se actualiza (por lo que FPS es 0, el controlador de Nvidia activará un mecanismo de redibujo de tiempo de espera para mantener la frecuencia de actualización mínima de la pantalla) y dibuja solo cuando el contenido se actualiza (la frecuencia de actualización sube brevemente).

Una aplicación de este tipo provocaría que una pantalla VRR de gama baja (generalmente una pantalla G-Sync / FreeSync temprana) parpadee y aumente significativamente el retardo de entrada cuando se enciende VRR.

De la situación actual, deshabilitar VRR (G-Sync) para Windows Terminal es la única opción correcta.


Referencia: Por qué la pantalla VRR parpadea en alguna escena
https://pcper.com/2014/12/a-look-into-reported-g-sync-display-flickering/

Así que tuve este mismo problema en mi monitor habilitado para G-Sync y, después de hurgar en el código, pude determinar cuál es la causa. Para aquellos que no están familiarizados, G-Sync es una tecnología NVIDIA que sincroniza la frecuencia de actualización de su monitor con la frecuencia de cuadros en la pantalla.

Este problema en particular ocurre si tiene la opción G-Sync configurada en Habilitado para el modo de ventana y pantalla completa en el Panel de control de NVIDIA en sistemas con capacidad G-Sync. Debido a que Windows Terminal usa DirectX para dibujar fuentes, los controladores de Nvidia piensan incorrectamente que está jugando un juego en modo ventana con la opción que se muestra a continuación habilitada.

image

Si configura la opción en Habilitado para el modo de pantalla completa, el bajo FPS del terminal no reducirá la frecuencia de actualización de los monitores G-Sync y todo funcionará como se esperaba.

Parece que el bajo FPS (y la baja actualización) se debe al hecho de que la pantalla solo se vuelve a renderizar para cambios por razones de rendimiento. En un estado inactivo, la pantalla solo se actualiza con el cursor parpadeante, lo que hace que el FPS caiga alrededor de 42. Si comienza a escribir, la frecuencia de fotogramas aumentará y podrá ver visiblemente el cambio de frecuencia de actualización.

Esta es una situación algo inusual con algunas opciones para resolverla.

  • Deshabilite la opción del modo de ventana cuando desee utilizar la Terminal de Windows con G-Sync habilitado (no es ideal)
  • Vuelva a dibujar la pantalla en cada ciclo aumentando el FPS de la ventana a la frecuencia de actualización máxima del monitor (tampoco es ideal, ya que esto afectará el rendimiento del tanque)
  • Pídale a Nvidia que agregue una excepción a sus controladores para Windows Terminal (no estoy seguro si es posible).

No tengo el hardware para probar, pero esto también puede ser un problema con los monitores FreeSync. Por ahora, la solución simple es configurar la opción G-Sync en Habilitado para el modo de pantalla completa en el Panel de control de NVIDIA.

Como otros han dicho, la mejor solución es crear un perfil de aplicación para el terminal que deshabilite GSync solo para esta aplicación. NVIDIA puede lanzar perfiles para juegos / programas con actualizaciones de controladores y a menudo hacen exactamente esto cada vez que actualiza sus controladores, por lo que creo que el mejor curso de acción es informar a NVIDIA para que puedan crear una solución para el comportamiento inesperado con el nuevo terminal.

Parece que el bajo FPS (y la baja actualización) se debe al hecho de que la pantalla solo se vuelve a renderizar para cambios por razones de rendimiento

Bueno, eso tiene sentido. Cuando todo lo que teníamos era un renderizador GDI (CPU), obviamente solo querríamos repintar los cambios. Sin embargo, con el renderizador DX, tal vez eso no sea un gran problema.

@miniksa, ¿hay alguna forma de que podamos activar un fotograma falso a la velocidad de fotogramas de la GPU? ¿Entonces, incluso si no hubiera nada nuevo, no dejaríamos caer el FPS?

Confirmado que esto sucede en la compilación 18990, la solución perfecta es deshabilitar G-Sync cuando no está en pantalla completa.

Experimenté el mismo problema y puedo confirmar que deshabilitar G-Sync para el modo de ventana ayudó.

@ zadjii-msft, simulé el intento anterior de solucionar este problema sin tener uno de estos monitores. No funcionó una vez que le di la rama a las personas con el monitor para que la probaran.

Necesitamos este hardware o necesitamos que una de las personas que se quejan de esto también tenga las habilidades para construir desde la fuente y depurar esto.

Me iba a ofrecer como voluntario para ayudar a depurar, pero parece que ya no puedo reproducir el problema. Confirmé que Windows Terminal está configurado para usar G-Sync, pero ya no veo ninguna caída en la velocidad de fotogramas al interactuar con la aplicación.
No he cambiado ningún hardware desde mi primera respuesta , pero reinstalé completamente Windows hace unas semanas.

Me iba a ofrecer como voluntario para ayudar a depurar, pero parece que ya no puedo reproducir el problema. Confirmé que Windows Terminal está configurado para usar G-Sync, pero ya no veo ninguna caída en la velocidad de fotogramas al interactuar con la aplicación.
No he cambiado ningún hardware desde mi primera respuesta , pero reinstalé completamente Windows hace unas semanas.

Interesante. Entonces, ¿podría ser una cosa del conductor? Gracias por el punto de datos, @mblowey.

@miniksa Problema interesante, acabo de abrir mi computadora y

Tampoco cambié ningún hardware NI SOFTWARE (no reinstalé ni actualicé Windows, no reinstalé ni actualicé el controlador de mi tarjeta gráfica, no reinstalé ni actualicé mi Terminal de Windows) desde mi primera respuesta aquí https: / /github.com/microsoft/terminal/issues/649#issuecomment -544209435

Solía ​​seguir este comentario https://github.com/microsoft/terminal/issues/649#issuecomment -491288003 para resolver este problema

Además, instalo muchos juegos de Steam después de mi primer comentario, tal vez instalen algunas dependencias gráficas importantes y luego resuelvan este problema.

Si alguien experimenta este problema, intente hacer esto

  1. sigue este comentario https://github.com/microsoft/terminal/issues/649#issuecomment -491288003
  2. reiniciar
  3. REVERTIR PASO 1

podría saber si esto es causado por el controlador NVIDIA

Puede confirmar en Windows 10 Build 10.0.19033.1, utilizando el último controlador Nvidia 441.20 con una ASUS GTX 2080, este problema aún existe. Si apago G-SYNC para el modo de ventana y pantalla completa y vuelvo a "Activar para el modo de pantalla completa" únicamente, se comporta como debería con el rendimiento normal. Estoy usando la última versión de Terminal (a partir del 26/11/2019, lo siento, no estoy seguro de cómo obtener la versión directamente). No estoy seguro de qué más puedo hacer para ayudar, pero pensé que al menos reportaría el problema. todavía está ahí.

Editar: también confirmó que el método de agregar una exclusión de aplicaciones a la herramienta Panel de control de Nvidia todavía funciona. No sabía que podías hacer eso, ¡así que gracias por compartir! Podría solucionar un problema similar que he visto con Quicken. :)

Como @jefmes señaló anteriormente, he reproducido este problema, con el mismo win 10, Terminal, controlador y tarjeta gráfica.

Tuve el mismo problema con la versión actual 0.7.3451.0 en una pantalla G-Sync de 144 hz. Después de configurar la tecnología del monitor en "Fixed Refresh" y la configuración de sincronización vertical en "Fast" en el panel de control de Nvidia, el problema desapareció.

Estoy ejecutando una GTX 1070, versión del controlador 441.66 en Windows 10 Insider Build 19041.1.

Entiendo cómo surge la confusión entre la terminal y el controlador de gráficos, lo que no entiendo es cómo un pequeño desarrollador como Microsoft no puede permitirse / justificar un monitor de $ 200-300 para investigar un error. Tal vez trabajando junto con nvidia para permitir que Windows marque un modo inactivo o de escritorio donde incluso se usa directx, las actualizaciones de la aplicación son lentas pero el cursor aún se muestra, por lo que desea un máximo de fps. Básicamente, una versión automática de la solución alternativa que puede controlar MS.

FYI Cmder e Hyper terminal windows no tienen problemas con las tasas de redibujado. El movimiento del cursor cuando está enfocado y cuando se arrastran las ventanas de ambos terminales funciona bien con cualquier frecuencia de actualización que haya configurado y es suave como la mantequilla.

¿Por qué la ventana de la Terminal de Windows debería ser menos capaz de funcionar con la frecuencia de actualización actual del escritorio?

¿Por qué la ventana de la Terminal de Windows debería ser menos capaz de funcionar con la frecuencia de actualización actual del escritorio?

Debido a un error que todavía estamos tratando de precisar.

No sé si ayuda, pero veo el mismo comportamiento no solo en la nueva Terminal de Windows sino también en las Aplicaciones XAML. La misma solución alternativa también funciona en esos casos.

Parece que el controlador de Nvidia necesita una mejor detección de qué es un juego y qué es una aplicación. ¿Alguien está viendo este comportamiento en AMD con FreeSync?

Me he dado cuenta de que si tiene suficiente historial de texto como para permitirle usar la barra de desplazamiento para hacer que la línea actual con el cursor parpadeante se "salga de la pantalla", la frecuencia de actualización al arrastrar la ventana vuelve a la normalidad.

De acuerdo, sí, estoy buscando instalar hardware en mi oficina para poder hacer algo al respecto.

Fui y leí sobre cómo funcionan estas cosas y resulta que las dos tecnologías son más diferentes de lo que me di cuenta.

¿Esto solo sucede con la canalización de NVIDIA de monitor GSYNC + tarjeta gráfica NVIDIA? ¿O también es posible con el monitor FreeSync + tarjeta gráfica AMD (o NVIDIA)?

Básicamente, estoy buscando encontrar dos partes que pueda poner en la lista de adquisiciones que, con suerte, no sean tan caras como una GTX 1080Ti y una Asus PG279Q.

Si alguien en este hilo puede intervenir con recomendaciones o su informe de si sucede en el mundo FreeSync / AMD, realmente lo agradecería.

Tengo Nvidia RTX 2060 y Acer XF270HU (que es un monitor FreeSync) ejecutándose en modo compatible con GSync. También estoy experimentando este problema, pero el método descrito en el comentario https://github.com/microsoft/terminal/issues/649#issuecomment -568196580 hace fix eso.
Eliminar esa solución hace que el problema vuelva, pero no siempre. Cuando eliminé por primera vez esos cambios, no bajó inmediatamente a ~ 60-40 fps, sino solo después de un poco de tiempo / un par de reinicios.
Luego quise intentar grabar eso usando la función de grabación de experiencia GeForce de Nvidia. Una vez que comencé a grabar, saltó de nuevo a 144 y se mantuvo así incluso mientras usaba el terminal (esto podría deberse a que la grabación de alguna manera forzó una frecuencia de actualización fija en general). Una vez detenido, se quedó en 144 (incluso sin la solución mencionada anteriormente). Probé la combinación Ctrl + Shift + Win + B que no tuvo impacto y aún se mantuvo en 144.
Entonces, aunque el problema parece existir, también es bastante difícil de reproducir de manera consistente y, en general, es bastante delicado, pero no es exclusivo de los monitores GSYNC puros.

Creo que sé cómo reproducir este problema de forma coherente. Encontré esto después de reinstalar Windows y me pregunto por qué nunca tuve un retraso en la terminal una vez: sonrisa:

image

Volviéndolo a "Habilitar para modo de pantalla completa" o deshabilitándolo por completo, el problema desaparecerá.

Creo que incluso puede reproducir este comportamiento en una pantalla que no sea G-Sync de 60 hz conectada a través de DP. La única diferencia es que dicha configuración no tiene sentido y el aviso del controlador de que Nvidia aún no lo muestra.

Pero creo que aún hay más. Lo que muestro en la captura de pantalla es una especie de "configuración incorrecta" y no la configuración predeterminada. ¿Y si lo configuro así porque quiero jugar en modo ventana y seguir usando G-Sync?

Lo que no entiendo es cómo incluso ralentiza el cursor del sistema. ¿No deberían ser independientes el cursor, el ciclo de dibujo de la ventana y el ciclo de actualización?

Creo que sé cómo reproducir este problema de forma coherente. Encontré esto después de reinstalar Windows y me pregunto por qué nunca tuve un retraso en el terminal una vez 😄

image

Volviéndolo a "Habilitar para modo de pantalla completa" o deshabilitándolo por completo, el problema desaparecerá.

Creo que incluso puede reproducir este comportamiento en una pantalla que no sea G-Sync de 60 hz conectada a través de DP. La única diferencia es que dicha configuración no tiene sentido y el aviso del controlador de que Nvidia aún no lo muestra.

Pero creo que aún hay más. Lo que muestro en la captura de pantalla es una especie de "configuración incorrecta" y no la configuración predeterminada. ¿Y si lo configuro así porque quiero jugar en modo ventana y seguir usando G-Sync?

Lo que no entiendo es cómo incluso ralentiza el cursor del sistema. ¿No deberían ser independientes el cursor, el ciclo de dibujo de la ventana y el ciclo de actualización?

También estaba experimentando este problema en un monitor FreeSync2 de 3440x1440 144hz, y configurar mi modo GSync en Enable for full screen mode en el panel de control de NVIDIA solucionó el problema. De acuerdo con el sentimiento anterior: el retraso en la ventana de la aplicación se notó de inmediato.

Versión en ejecución: 0.11.1121.0

Creo que sé cómo reproducir este problema de forma coherente. Encontré esto después de reinstalar Windows y me pregunto por qué nunca tuve un retraso en el terminal una vez 😄
image
Volviéndolo a "Habilitar para modo de pantalla completa" o deshabilitándolo por completo, el problema desaparecerá.
Creo que incluso puede reproducir este comportamiento en una pantalla que no sea G-Sync de 60 hz conectada a través de DP. La única diferencia es que dicha configuración no tiene sentido y el aviso del controlador de que Nvidia aún no lo muestra.
Pero creo que aún hay más. Lo que muestro en la captura de pantalla es una especie de "configuración incorrecta" y no la configuración predeterminada. ¿Y si lo configuro así porque quiero jugar en modo ventana y seguir usando G-Sync?
Lo que no entiendo es cómo incluso ralentiza el cursor del sistema. ¿No deberían ser independientes el cursor, el ciclo de dibujo de la ventana y el ciclo de actualización?

También estaba experimentando este problema en un monitor FreeSync2 de 3440x1440 144hz, y configurar mi modo GSync en Enable for full screen mode en el panel de control de NVIDIA solucionó el problema. De acuerdo con el sentimiento anterior: el retraso en la ventana de la aplicación se notó de inmediato.

Versión en ejecución: 0.11.1121.0

¿Qué modelos específicos de monitor y tarjeta gráfica, @zackhorvath?

Todavía estoy interesado en resolver esto en algún momento, incluso si la pandemia tiene la adquisición de hardware un poco ... retrasada.

Gracias por la respuesta @miniksa

Actualmente estoy ejecutando un monitor LG 34GK950F-B con una NVIDIA GeForce GTX 1080ti (Modelo EVGA # 11G-P4-6393-RX ). Mi controlador NVIDIA específico es 26.21.14.4587 .

¡Puedo proporcionar información adicional si se solicita!

No, está bien, gracias @zackhorvath. Esperaba que su configuración de reproducción no fuera un monitor de $ 900 y una tarjeta gráfica de $ 1100 y más como un monitor de $ 300 con una tarjeta gráfica de $ 200 ...

Como dije, es reproducible con mi vieja y barata pantalla Samsung 60hz Full HD. Todo lo que se necesita es una GPU Nvidia que pueda hacer algún tipo de G-Sync o FreeSync y un cable DP.

Este problema no se limita a Terminal cuando G-SYNC está configurado en "habilitar para modo de ventana y pantalla completa". También veo el mismo comportamiento en algunas otras aplicaciones, por ejemplo:

  • Malwarebytes Anti-Malware
  • Git Fork
  • Escritorio de WhatsApp

Como dije, es reproducible con mi vieja y barata pantalla Samsung 60hz Full HD. Todo lo que se necesita es una GPU Nvidia que pueda hacer algún tipo de G-Sync o FreeSync y un cable DP.

Lo siento, mi comprensión de lectura no ha sido excelente mientras estaba en cuarentena. Me lo perdí.

Este problema no se limita a Terminal cuando G-SYNC está configurado en "habilitar para modo de ventana y pantalla completa". También veo el mismo comportamiento en algunas otras aplicaciones, por ejemplo:

  • Malwarebytes Anti-Malware
  • Git Fork
  • Escritorio de WhatsApp

Esto suena cada vez más como un error del controlador NVIDIA del que no puedo hacer nada en ese momento ...

Discutí esto con

Por lo que vale, he observado esto en varias otras aplicaciones y algunas inesperadas. Por ejemplo, Visual Studio Installer también presenta el mismo problema. Cada uno de ellos parece estar basado en UWP o XAML.

Para ser honesto, también creo que es un error de controlador, pero dado que esto está sucediendo en todas partes en Windows y las GPU de Nvidia no son tan infrecuentes, pensé que alguien en Microsoft podría remitir este problema. Puede ser exagerado, pero esos controladores Nvidia están certificados por WHQL, ¿verdad? No deberían romper Windows.

Solo menciono que todavía tengo este problema con las versiones actuales del software (Windows Terminal Version: 0.11.1251.0), Nvidia GPU y un monitor Freesync. La solución alternativa en el tercer comentario todavía ayudó. Yo diría que la otra solución de deshabilitar G-sync para aplicaciones con ventana no es tan buena, porque al menos juego algunos juegos en modo de ventana sin bordes.

Parece que la mejor solución sería que los controladores de Nvidia detectaran mejor las aplicaciones que se benefician de G-sync, ya sean juegos u otros programas. Pero un perfil Nvidia integrado para Windows Terminal específicamente sería una solución de bajo esfuerzo.

Pero un perfil Nvidia integrado para Windows Terminal específicamente sería una solución de bajo esfuerzo.

No sé qué significa esto. ¿Cuál es este perfil del que hablas? ¿Puedo incluir un manifiesto junto a nuestra aplicación para decirle a los controladores de NVIDIA que retrocedan en la sincronización G? ¿O es esto algo que NVIDIA debe incluir en sus paquetes de controladores?

Pero un perfil Nvidia integrado para Windows Terminal específicamente sería una solución de bajo esfuerzo.

No sé qué significa esto. ¿Cuál es este perfil del que hablas? ¿Puedo incluir un manifiesto junto a nuestra aplicación para decirle a los controladores de NVIDIA que retrocedan en la sincronización G? ¿O es esto algo que NVIDIA debe incluir en sus paquetes de controladores?

Se refieren a los perfiles de aplicación de nvidia que puede configurar en el panel de control de nVidia, pero hasta donde yo sé, esa no es una solución viable. Independientemente de la configuración que haya seleccionado para el perfil específico de la aplicación para Windows Terminal, el comportamiento sigue siendo el mismo. Si alguien tiene una combinación de trabajo que ha encontrado, sería bueno compartirla, ya que podría darme algunas ideas sobre cómo solucionar esto en la propia Terminal.

Además, hasta donde yo sé, incluso si los perfiles funcionaron, nVidia tiene que ser quien los incluya en su paquete de controladores.

Hasta ahora he intentado una variedad de modificaciones a Terminal sin éxito, incluida la desactivación de vsync, la aplicación de DXGI_PRESENT_ALLOW_TEARING, DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, etc. sin éxito. Hice una consulta a algunos otros expertos con la esperanza de que alguien conozca una solución alternativa específica de la aplicación que se pueda aplicar, pero no hay ETA por ahora.

Este problema no es específico de la Terminal de Windows.

Hasta ahora he intentado una variedad de modificaciones a Terminal sin éxito, incluida la desactivación de vsync, la aplicación de DXGI_PRESENT_ALLOW_TEARING, DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING, etc. sin éxito. Hice una consulta a algunos otros expertos con la esperanza de que alguien conozca una solución alternativa específica de la aplicación que se pueda aplicar, pero no hay ETA por ahora.

Este problema no es específico de la Terminal de Windows.

Gracias, @binarycrusader. Esas eran todas las banderas y cosas que iba a probar si podía acceder al hardware.

Esto parece suceder también con Deezer Music (UWP), WhatsApp Desktop y la mayoría de las aplicaciones basadas en Electron. Algo no relacionado, pero los controladores "Web" de NVIDIA muestran este comportamiento con casi todas las aplicaciones de macOS.

Oh, bueno, parece que la respuesta electrónica a este problema fue ¯ \ _ (ツ) _ / ¯

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

Tampoco estoy seguro de que esté arreglado en cromo; este problema en su rastreador aún está abierto, aunque algunos años están obsoletos en este momento 😕

Me pregunto si cambiar https://github.com/microsoft/terminal/blob/e61968ca87de7fd9c08b50f63e8cccb01f240596/src/renderer/base/thread.cpp#L208 -L212 para usar IDXGIOutput::WaitForVBlank (https://docs.microsoft. com / en-us / windows / win32 / api / dxgi / nf-dxgi-idxgioutput-waitforvblank) ayudaría con este problema ...

Ver también: https://bugs.chromium.org/p/chromium/issues/detail?id=467617 y https://www.vsynctester.com/firefoxisbroken.html y https://bugzilla.mozilla.org/show_bug .cgi? id = 1628137 y https://bugs.chromium.org/p/chromium/issues/detail?id=953970

@miniksa

¿Cuál es este perfil del que hablas? ¿Puedo incluir un manifiesto junto a nuestra aplicación para decirle a los controladores de NVIDIA que retrocedan en la sincronización G? ¿O es esto algo que NVIDIA debe incluir en sus paquetes de controladores?

Para aclarar, me refiero a configuraciones que Nvidia tendría que incluir en sus controladores. Ya enumera alrededor de 1000 programas en su lista incorporada "Configuración de programa" (juegos y aplicaciones que no tengo), y pensé que tenían algunas configuraciones personalizadas para todos esos programas, pero ahora no estoy seguro.

@binarycrusader

Independientemente de la configuración que haya seleccionado para el perfil específico de la aplicación para Windows Terminal, el comportamiento sigue siendo el mismo. Si alguien tiene una combinación de trabajo que ha encontrado, sería bueno compartirla, ya que podría darme algunas ideas sobre cómo solucionar esto en la propia Terminal.

Estas configuraciones lo arreglaron para mí:

image

Creo que solo lo configuré en "Actualización fija", no estoy seguro de por qué las otras dos configuraciones aparecen en negrita. Pero todas las demás configuraciones son predeterminadas.

Los perfiles definidos por el usuario creados a través del propio panel de control actual de Nvidia parecen siempre hacer referencia a las aplicaciones por ruta absoluta al ejecutable. Esto funcionó bien para otras aplicaciones que usé anteriormente, pero dado que la Tienda Windows instala cada actualización de Terminal de Windows en un directorio diferente, los perfiles asociados duraron molestamente de corta duración.

Ya estaba usando Nvidia Profile Inspector en algunos casos para un control más detallado y descubrí que los perfiles definidos por el usuario creados con esa herramienta:

  1. Coincidir con el nombre del ejecutable solo sin ruta
  2. Permitir agregar múltiples ejecutables a un solo perfil
  3. Permitir nombres personalizados para mayor claridad

También ofrece una vista mucho mejor de los cientos de perfiles que Nvidia ya está enviando con los paquetes de controladores actuales, pero que están ocultos en su panel de control. Hay docenas de aplicaciones de Microsoft que ya incluyen Microsoft Win10 Store , Microsoft Visual Studio , etc.que tienden a coincidir con algunos ejecutables diferentes (sin rutas) y, en su sección Sync and Refresh , anular GSYNC - Application State a Force Off .

Ahora tengo un solo perfil __No_GSync (llamado para clasificar convenientemente en la parte superior de la lista) por WindowsTerminal.exe (en cualquier ruta) junto con un puñado de otras aplicaciones que también usan redibujos perezosos. Nuevamente, la única configuración que anulé a través del inspector en este perfil __No_GSync es GSYNC - Application State a Force Off . Cuando se ve de nuevo en el propio panel de control de Nvidia, la única anulación que se muestra para este perfil es Monitor Technology que aparece configurado en Not supported for this application y ni siquiera permite cambiar este valor en esa vista.

Espero que esta sea una solución más confiable para configurar y olvidar para mí, y también que el equipo de Windows Terminal pueda comunicarse con Nvidia para obtener un perfil similar incluido en futuras versiones de controladores.

Agregar "experimental.rendering.software": true en settings.json en Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2) me resuelve este problema.

Supongo que incurro en una pérdida de rendimiento de nivel, pero no lo siento en mi máquina.

En mi sistema, no tuve tanta suerte al usar los perfiles para administrar esto. El uso de un perfil nVidia para forzar la desactivación de GSYNC parece no tener ningún efecto. He probado todas las variaciones de ejecutable y configuración. Intenté usar tanto el Panel de control de nVidia como la herramienta de inspección de perfiles.

Tampoco he podido hacer que la solución basada en perfiles funcione. Noté que en el panel de control de NVIDIA, Windows Terminal nunca aparece en la lista de programas usados ​​recientemente al agregar un perfil personalizado. Sospecho que los controladores de NVIDIA de alguna manera no pueden reconocer que Windows Terminal se está ejecutando.

En caso de que esto pueda ayudar a alguien más, estas son mis configuraciones en el Panel de control de Nvidia

image

Agregar "experimental.rendering.software": true en settings.json en Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2) me resuelve este problema.

Supongo que incurro en una pérdida de rendimiento de nivel, pero no lo siento en mi máquina.

También estoy experimentando este problema y los cambios en el perfil de G-Sync no lo solucionaron, pero esto sí. Gracias.

Después de trabajar con él durante unos días más, la solución de perfil fue mayormente efectiva para mí, pero he tenido períodos ocasionales en los que no se aplica específicamente a la Terminal de Windows. No he visto este problema para ninguna otra aplicación que también esté en el mismo perfil no gsync.

En un período en el que el perfil de Nvidia ignoraba mi copia de Terminal instalada en la Tienda Windows, descargué el msix correspondiente (1.0.1401.0) de la página de lanzamientos y extraje la carpeta para la versión x64 directamente en mi escritorio. El lanzamiento de WindowsTerminal.exe esa copia tiene gsync correctamente deshabilitado para su ventana, mientras que la copia instalada en la Tienda Windows que todavía se está ejecutando simultáneamente tiene su gsync habilitado. Varios reinicios consecutivos de cada uno producen los mismos resultados.

No se realizaron cambios en los perfiles entre esos lanzamientos. En teoría, esperaría que el mismo perfil los afecte a ambos por igual, de modo que ninguno use gsync. Me pregunto si esto podría ser una complicación de los permisos y la vinculación a través de wt.exe involucrados en el lanzamiento de la versión distribuida por la tienda que hace que se deslice por el mecanismo de detección actual de Nvidia. No tengo idea de cómo explicar que mi perfil existente también se aplica correctamente a la copia de la Tienda la mayor parte del tiempo ... Purgué todos los demás perfiles definidos por el usuario e intenté correlacionar otras ventanas en uso, pero no he detectado ningún patrón.

Probablemente continuaré usando la versión extraída en lugar de la versión de la tienda por un tiempo para ver si es confiable. Tiene las ventajas adicionales de ser fácil de configurar el directorio de trabajo en su acceso directo cuando se fija a la barra de tareas, y también, presumiblemente, nunca ser eliminado silenciosamente mientras aloja un proceso de terminal de larga ejecución cuando la tienda fuerza una actualización. Lo único que aparentemente falta hasta ahora son los íconos de perfil a los que hacen referencia las rutas de ms-appx.


Por otro lado, también he estado probando con neovide (una interfaz gráfica de usuario basada en gpu para neovim) que actúa de manera similar en términos de redibujos de pantalla perezosos y, por lo tanto, muestra la misma caída de frecuencia de actualización gsync de forma predeterminada cuando no tiene nada que necesite. redibujar. La solución de perfil de nvidia se aplica a neovide con un 100% de fiabilidad, hasta donde yo sé. A partir de experimentar allí, también parece que los perfiles de nvidia solo se evalúan en el lanzamiento inicial de la aplicación, por lo que agregar / eliminar neovide.exe a / de mi perfil no gsync mientras neovide ya se está ejecutando no cambia su estado gsync ya en ejecución, pero lo hará en el próximo lanzamiento. Podría ser útil saberlo para cualquier otra persona que solucione problemas.

Así que eso descarta un problema en DirectX porque neovide usa Vulkan .. Con juegos más modernos, especialmente juegos basados ​​en UWP, solo ofrecen "Modo de ventana de pantalla completa" en lugar de "Modo de pantalla completa exclusivo". Me pregunto si G-Sync está haciendo algo si no habilitamos G-Sync para el modo de ventana.

Sin embargo, este error parece crecer fuera del alcance de este repositorio (y en todos los demás proyectos en los que esto sucede también), por lo que si nadie se da cuenta de esto y nadie tiene ningún tipo de contacto con alguien en Nvidia, ¿se solucionará esto alguna vez? Sería genial usar Windows y poder jugar con el hardware y las funciones que compré en lugar de acumular un montón de soluciones en mi sistema.

Para aquellos que usan la solución alternativa del Panel de control de Nvidia / Administrar configuraciones 3D, ¿podrían aclarar cómo agregó Windows Terminal al menú desplegable Configuración del programa? No aparece en el menú desplegable para mí, y no estoy seguro de cómo buscar el ejecutable dado que está instalado desde la Tienda Windows.

Para aquellos que usan la solución alternativa del Panel de control de Nvidia / Administrar configuraciones 3D, ¿podrían aclarar cómo agregó Windows Terminal al menú desplegable Configuración del programa? No aparece en el menú desplegable para mí, y no estoy seguro de cómo buscar el ejecutable dado que está instalado desde la Tienda Windows.

Ha pasado un tiempo desde que configuré el mío, pero creo que solo me aseguré de que el programa se ejecutara al abrir el panel, y apareció de inmediato o pude presionar "Agregar" en esa captura de pantalla que publiqué arriba y elija "Programas actualmente en ejecución" o algo parecido.

No estoy seguro de por qué MSBOT cerró este y todos los problemas duplicados, porque agregar la configuración "experimental.rendering.software": true en settings.json era la única forma en que podía "solucionar" este problema en mi máquina

¿Significa que algo está sucediendo con la representación?

No estoy seguro de por qué el MSBOT cerró esto

Este problema no se ha resuelto y seguirá sin cerrarse hasta que podamos encontrar una solución para las personas con controladores de gráficos disfuncionales. Por ahora, el renderizado de software _o_ decirle a la pila de gráficos que no trate a Terminal como un juego _ es_ esa solución.

No estoy seguro de por qué el MSBOT cerró esto

Este problema no se ha resuelto y seguirá sin cerrarse hasta que podamos encontrar una solución para las personas con controladores de gráficos disfuncionales. Por ahora, el renderizado de software _o_ decirle a la pila de gráficos que no trate a Terminal como un juego _ es_ esa solución.

Desafortunadamente, tampoco pude solucionar este problema a través de la configuración disfuncional del controlador de gráficos. Tampoco aparece en el menú desplegable Panel de control de Nvidia / Administrar configuración 3D / Configuración del programa.

La configuración "experimental.rendering.software": true en settings.json solucionó para mí también en Nvidia RTX 2080. Siento que esta es la solución preferida sobre cambiar la configuración global en el Panel de control de Nvidia.

ACTUALIZAR:

Retiraré eso como. Si tiene dos monitores: uno con alta frecuencia de actualización de G-Sync y otro con 60 hz básico, colocar el terminal en la pantalla de 60 hz hará que todas las aplicaciones en la pantalla de frecuencia de actualización alta se ejecuten con lentitud.

OTRA ACTUALIZACIÓN:

Usar la configuración "experimental.rendering.software": true y actualizar Windows 10 a v 2004 lo solucionó.

Tampoco aparece en el menú desplegable Panel de control de Nvidia / Administrar configuración 3D / Configuración del programa.

No aparece automáticamente en el menú desplegable, pero debería aparecer en la lista de aplicaciones detectadas después de presionar "Agregar" junto a él.

Tampoco aparece en el menú desplegable Panel de control de Nvidia / Administrar configuración 3D / Configuración del programa.

No aparece automáticamente en el menú desplegable, pero debería aparecer en la lista de aplicaciones detectadas después de presionar "Agregar" junto a él.

Lamentablemente, tampoco aparece allí ..: /

Tiene el mismo problema con la versión 1.0 y gsync: la velocidad de fotogramas cae a aproximadamente 40 fps y el monitor parpadea. hace que el terminal de Windows sea casi inutilizable

actualización: "experimental.rendering.software": true parece funcionar bien con Windows 2004

@ robert-sandor Como se mencionó anteriormente en este hilo, algunos usuarios han tenido éxito con la configuración "experimental.rendering.software": true .

@ robert-sandor Como se mencionó anteriormente en este hilo, algunos usuarios han tenido éxito con la configuración "experimental.rendering.software": true .

Tengo dos 1070ti en SLI, controlador v446.14 y un Alienware AW3420DW a 120 hz en el escritorio. También estaba experimentando el problema de la velocidad de fotogramas reducida. Agregar esta configuración a la configuración lo resolvió.

Agregar "experimental.rendering.software": true en settings.json en Windows Terminal Release Candidate v0.11.1333.0 (1.0rc2) me resuelve este problema.

Supongo que incurro en una pérdida de rendimiento de nivel, pero no lo siento en mi máquina.

Esto me lo arregló. ¿Cuándo podemos esperar que esto esté fuera de experimental @ zadjii-msft?
FYI: 2 monitores, 1 Gsync de 144 Hz y el otro de 60 Hz

Mi solución alternativa de omitir la tienda extrayendo el paquete en mi propia carpeta y ejecutando WindowsTerminal.exe directamente ha sido 100% confiable durante las últimas dos semanas en términos de permitir que un perfil de Nvidia force la desactivación de Gsync allí. Dejar Gsync habilitado globalmente y forzarlo a deshabilitarlo en aplicaciones específicas como esta sigue siendo mi solución preferida. La degradación a la renderización por software parece indeseable.

Probé una amplia variedad de otras aplicaciones y escenarios en la versión actual del controlador Nvidia 446.14 . La Terminal de Windows instalada específicamente a través de la Tienda Windows es la única que he encontrado con este combo de 1) Gsync se activa, 2) no es deseable y 3) un perfil de controlador Nvidia específico de la aplicación no lo desactiva. Esto incluye juegos para UWP (por ejemplo, Astroneer - Astro-UWP64-Shipping.exe ) instalados a través de la Tienda Windows. Ese parecía un punto de comparación útil para la situación de empaquetado / permisos / entrega, pero Gsync entra en acción, funciona como esperaba y aún se puede deshabilitar a través de un perfil específico de la aplicación.

"experimental.rendering.software": true lo arregló para mí.

1080Ti con los controladores nVidia más recientes a la fecha y Windows 10 2004.

¿Cuál es la última palabra oficial sobre este tema?
Preferiría usar mis ciclos de CPU en otro lugar.

Gracias por la solución, chicos.

El renderizado de software sigue siendo bastante eficaz: estamos sobre los hombros de gigantes y todavía solo renderizamos las regiones de la pantalla que han cambiado. Si bien no está acelerado, es la mejor opción.

"experimental.rendering.software": true también me lo arregló.

1080 con el último controlador de NVidia en Windows 10 Pro Build 2004.

¿Este método tiene problemas de rendimiento? Porque, por lo que puedo ver, no he tenido problemas hasta ahora.

"experimental.rendering.software": true también me lo arregló.

1080 con el último controlador de NVidia en Windows 10 Pro Build 2004.

¿Este método tiene problemas de rendimiento? Porque, por lo que puedo ver, no he tenido problemas hasta ahora.

Hasta aquí todo bien.

Había desactivado la vista previa del terminal de Windows gsync mucho antes, pero no puedo encontrar el terminal de Windows después de la actualización limpia del controlador. Y el procesamiento de software no es una buena manera de solucionarlo porque quiero un término acelerado por GPU :(

¿Hay alguna manera de agregar manualmente la terminal de Windows para no usar gsync? poner exe no funciona para uwp, creo.

image

Agregar "experimental.rendering.software": true también me ayudó. Ejecutando Windows Terminal 1.0.1401.0 usando GTX 970 (controlador Nvidia 432.00).

Este problema no es específico de la Terminal de Windows. También tuve que establecer una bandera experimental para Ableton Live y deshabilitar la aceleración de hardware para Spotify.

Puedo confirmar lo que dice @krage acerca de que la anulación de perfil no funciona en el caso de Windows Terminal instalado a través de la tienda de Windows. Algo con las aplicaciones UWP en general no parece funcionar bien con los perfiles de Nvidia. Pasé de usar la instalación de terminal de la tienda de Windows a una administrada por primicia (esencialmente imitando el método que usa @krage ) y mi perfil de Nvidia se aplica correctamente.

Mi perfil de Nvidia para Windows Terminal utiliza la siguiente configuración:

  • Frecuencia de actualización preferida (Acer X34): la más alta disponible
  • Tecnología de monitor: utilice la configuración global (G-Sync)
  • Sincronización vertical: utilizar configuración global (rápida)

Esta configuración me resuelve el problema.

También puedo confirmar que habilitar "experimental.rendering.software": true soluciona el problema. Pero prefiero usar renderizado basado en hardware.

Hardware:

  • Nvidia GeForce 1080 (empuja x34)
  • Nvidia GeForce 1060 (6GB) (empuja otros paneles)
  • Acer X34 (pantalla G-Sync)
  • GS35UCR DP (no G-Sync, pantalla de 100 hz)
  • 2x HP N270h (pantalla de 60 hz sin G-Sync)

Versiones

  • Nvidia 446.14
  • Terminal de Windows (sin empaquetar) 1.1.200615001
  • Windows 10 2004 (compilación 20150.rs_prerelease.200612-1734) (llamada rápida interna)

Por cierto, recientemente investigué si este problema se puede resolver y la respuesta corta es: Sí, pero principalmente no.
Sí, el problema se puede solucionar haciendo lo siguiente:

  • Elimina esto y ...
  • esa linea
  • agregue DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING y DXGI_PRESENT_ALLOW_TEARING banderas como se explica aquí

_PERO_ Yo diría que esto sería una mala idea, por eso no envié un PR al final. Porque si hace todo eso, todos los usuarios que no sean de Nvidia ahora también dibujarán a la velocidad de fotogramas completa de su pantalla, lo cual es simplemente innecesario.
En mi humilde opinión, Nvidia debe solucionar este problema en particular de su lado, porque no solo está presente en la Terminal de Windows, sino en todas las aplicaciones UWP que usan DirectX.

Y además de eso, la configuración "Habilitar para modo de ventana y pantalla completa" en el Panel de control de Nvidia tampoco es la configuración predeterminada y se sabe que rompió muchas cosas en el pasado (que, estoy seguro, es por qué no está habilitado de forma predeterminada en primer lugar). 🙈

Básicamente, ¿todo esto se reduce a un problema / error de nVidia con respecto a DX11?

Recientemente recibí un nuevo monitor (LG27850) y no hay más parpadeos, pero puedo sentir la diferencia de 60hz vs 144Hz cuando presiono Alt-tab desde el terminal a otro programa y se siente raro.

@KrunoSaho No puedo
Puedes probar todas las muestras de "D2D" (Direct2D), "DWrite" (DirectWrite) y "DX" (DirectX) aquí y notarás que _todas_ muestran el mismo problema que Windows Terminal.
La aplicación _only_ UWP + DirectX que encontré que no tiene el mismo problema es la versión App Store de Minecraft.
Como tal, creo que el problema subyacente es la heurística de Nvidia, que decide si un proceso debe usar GSYNC.

Todos los que no lo necesiten estrictamente deben deshabilitar "Activar para modo de ventana y pantalla completa":
image

En mi humilde opinión, este problema puede resolverse, ya que este comportamiento no está presente cuando se usan GPU AMD, lo que descarta la posibilidad de un error en Windows Terminal o Windows en general.

Desafortunadamente, habilitamos la configuración "Habilitar para modo de ventana y pantalla completa" porque lo necesitamos estrictamente. Si no hago eso, los juegos en modo ventana no usarán G-SYNC en absoluto. Entonces esa opción es imprescindible.
También tuve este problema con Photoshop, pero al menos mi controlador nvidia disfuncional me permitió elegir una frecuencia de actualización fija para esa aplicación simplemente apareciendo en la lista de aplicaciones para elegir.

Entonces, si nada más, si pudiera hacer que la aplicación de terminal aparezca de alguna manera / mágicamente en la lista de aplicaciones de la configuración 3d del panel de control de nvidia, estaría más que feliz.

Envié un informe de error a nVidia sobre esto. Veremos qué pasa, en todo caso.

@electrofloat Todavía no he tenido éxito en la reproducción de ese error ... Para mí se nota:
image

... y me permite cambiar correctamente la "Tecnología de monitor", que soluciona el problema. Si no aparece, intente crear un acceso directo a la aplicación Terminal en su escritorio, arrastrando y soltando la aplicación desde el menú de inicio en el escritorio.

Ya inicio el terminal a través del acceso directo del escritorio, y eso no hace que aparezca en la lista de aplicaciones usadas recientemente. :(

@electrofloat Intente reiniciar su PC. Nvidia almacena en caché esa lista dentro de su controlador la primera vez que abre Configuración del programa.

@lhecker He leído lo mismo, pero también me negué a enviar un PR. Pero cuanto más lo pienso, más cambio de opinión ... Por lo que sé, puedes detectar Nvidia e incluso consultar G-Sync y esta no es una solución alternativa según los documentos, sino la forma en que se supone que funciona. . Recuerde que los chicos de AMD también se beneficiarían de esto porque G-Sync y FreeSync son intercambiables.

Para ser justos, es un problema de huevos de gallina. AMD claramente puede manejar esta situación con sus controladores, Nvidia no puede. Con horarios ajustados, es fácil decir que sí, joder a Nvidia y dejar que solucionen el problema. También se puede argumentar que en realidad el controlador de Nvidia está bien, el software simplemente no consulta y proporciona la funcionalidad que el usuario deseaba.

Creo que es un poco triste que haya una manera de solucionar el problema implementando algo que alguien de Microsoft ya haya documentado. Y este problema no solo ocurre con la Terminal de Windows, sino también con muchas aplicaciones UWP y WPF

@electrofloat Puede intentar buscar el ejecutable usando el navegador en el menú Agregar. Se puede encontrar en algún lugar debajo de C:\Program Files\WindowsApps y es posible que deba modificar los permisos de esta carpeta. Tampoco pude hacer que apareciera en la lista.

Tenga en cuenta que esto en realidad no ayudó en mi caso, y mis opciones son deshabilitar G-Sync en modo de ventana (no, gracias) o usar la bandera experimental (esto ayudó).

También he observado que a veces este problema se resuelve sin ninguna intervención utilizando la configuración predeterminada.

Puedo confirmar que esto no es específico de Windows Terminal en mi máquina.

@SirJson tl; dr : Lo entendiste al revés ... Windows Terminal (WT) explícitamente no debería renderizarse a una frecuencia de actualización variable (VRR). No se trata de cómo podemos admitir G-SYNC, sino de cómo podemos desactivarlo mejor.


WT no captura la entrada del mouse como lo hacen los juegos y debe integrarse correctamente con el administrador de ventanas y el resto del sistema operativo (movimiento del cursor, arrastrar y soltar, etc.). También debería ser energéticamente eficiente, lo que significa que correr a FPS completo es bastante contraproducente. Chrome, por ejemplo, se reducirá para no renderizar en absoluto si no es necesario. Para que WT se procese a 165 FPS en mi PC relativamente robusta, usa casi todo un núcleo de CPU solo por otro lado.

Si su controlador de gráficos decide que una aplicación quiere VRR, pondrá todo el proceso de renderizado (para la pantalla en la que la aplicación es visible) en un modo VRR. Si esa única aplicación se dibuja a un FPS bajo, toda la pantalla se dibujará a ese FPS, incluido el administrador de ventanas, el cursor del mouse, etc., ¡básicamente todo! Esta es la razón principal por la que VRR solo está habilitado para aplicaciones de pantalla completa o aplicaciones que capturan el cursor del mouse como lo hacen los juegos. La heurística de Nvidia funciona para casi todas las aplicaciones habituales. Los archivos .exe regulares como Firefox, Chrome, VS Code se detectan correctamente como no G-SYNC. Las aplicaciones para UWP como WT, Slack (¡sí, incluso Slack!) Se detectan incorrectamente como las que quieren G-SYNC. Esto claramente es un error del lado de Nvidia.

Por último, ni siquiera está garantizado que el renderizador DirectX de WT sea lo suficientemente rápido como para proporcionar los> 120 FPS que está buscando.
Si alguna vez no lo hace, toda la pantalla se sentirá lenta debido a la razón anterior.

En resumen, WT no debería renderizarse con VRR y si alguien tiene una idea de cómo hacer que el controlador de Nvidia detecte a WT como una aplicación que quiere G-SYNC, ¡hágamelo saber y lo implementaré! Sé que es posible de alguna manera, porque, nuevamente, UWP Minecraft es una de las pocas aplicaciones de UWP que se detectan correctamente como no G-SYNC.

Lo que me desconcierta viniendo de mi experiencia como desarrollador de juegos, y lo siento si esta es una pregunta estúpida, ¿por qué el ciclo de la aplicación está vinculado al renderizador? En un juego, nadie haría esto incluso mucho antes de que tuviéramos G-Sync porque si un sistema no puede manejar una escena pesada, por ejemplo, la lógica interna debería continuar sin que el renderizado sea lento.

Cuando pienso en cómo incluso hace que el cursor se entrecorte, me pregunto qué está sucediendo en segundo plano porque con mi modelo mental el cursor del sistema operativo era una cosa separada de la aplicación de gráficos en ejecución. Es casi como si G-Sync estuviera ralentizando todo el compositor.

Pero estoy divagando, simplemente decirle a G-Sync que se calle también es una solución, no es como si tuviera un lugar dentro de una terminal de todos modos. Pero no sé cómo hacerlo desde el código de la aplicación.

@SirJson Creo que todavía quedan bastantes lugares para la optimización en el renderizador. Pero debes tener en cuenta que los juegos no están diseñados para ser energéticamente eficientes, razón por la cual se salen con la suya usando, digamos, el 10% de la potencia de tu CPU potencial en todo momento. Como terminal, este no debería ser el caso, por supuesto, por lo que nos gustaría acelerar el ciclo de renderizado tanto como sea posible.
La razón por la que el cursor del mouse se entrecorta es porque WT se reconoce como una aplicación VRR y la velocidad de fotogramas de la pantalla se sincroniza con la de WT. Ahora, si WT se renderiza de una manera energéticamente eficiente (es decir, rara vez / si es necesario), la velocidad de fotogramas de WT se reduce a alrededor de 3-4 FPS, lo que hace que la velocidad de fotogramas de toda la pantalla caiga a 3-4 FPS.

Sí, estoy de acuerdo, sería estúpido hacer el mismo texto 144 veces solo porque podemos.

Con respecto a las excepciones de G-Sync, supongo que está codificado en el controlador. Cuando abro mis perfiles en el Panel de control de NVIDIA, veo perfiles automáticos para Chrome, Firefox, etc. y todos están configurados correctamente, como si la gente lo estuviera haciendo aquí manualmente. Eso significaría que hasta que alguien se despierte y cree un perfil en el controlador o realmente arregle G-Sync, no hay mucho que podamos hacer.

Ahora tengo curiosidad por saber qué sucede con AMD en el mismo monitor y sistema. Después de todo, hay una razón por la que estoy ejecutando esta configuración de GPU y si Windows insiste en instalar los controladores AMD una y otra vez, también podría probar esto ahora. Me pregunto si AMD incluso permite FreeSync en aplicaciones con ventana.

¿Alguien encontró una manera de agregarlo a la lista de aplicaciones en el panel de control de Nvidia?

No me surge nada: /

Sí, haga clic en Agregar -> Examinar y vaya a C: \ Archivos de programa \ WindowsApps \ Debería haber una carpeta llamada algo así como Microsoft.WindowsTerminal_1.0.1811.0_x64__8wekyb3d8bbwe .

El exe está adentro.

Sin embargo, este método es mejor: https://github.com/microsoft/terminal/issues/649#issuecomment -647617350

@SirJson : Sí, estoy de acuerdo, sería estúpido representar el mismo texto 144 veces solo porque podemos.

Es posible que se requiera una alta velocidad de fotogramas si el mismo texto se puede mover repentinamente, no sé si un monitor moderno puede cambiar instantáneamente la velocidad de fotogramas a la frecuencia de fotogramas requerida para mover el texto sin problemas como en aplicaciones como esta (use el perfil WSL para habilitar seguimiento del mouse):

ssh [email protected]

netxs-group / VTM # 9 Con esta aplicación, puede probar el rendimiento del terminal manipulando el contenido de texto con el mouse utilizando cualquier velocidad de fotogramas.

image

Sí, haga clic en Agregar -> Examinar y vaya a C: \ Archivos de programa \ WindowsApps \ Debería haber una carpeta llamada algo así como Microsoft.WindowsTerminal_1.0.1811.0_x64__8wekyb3d8bbwe .

El exe está adentro.

Sin embargo, este método es mejor: # 649 (comentario)

Sí, usando ese por ahora. Intenté crear un perfil mediante ese método, pero no funciona.
Así que la renderización de SW es ​​por ahora.

También tuve problemas para configurar un perfil de Nvidia para mi aplicación para UWP. Instalé Terminal a través de primicia y _todavía_ no pude conseguir que aplicara un perfil. Al final utilicé https://github.com/Orbmu2k/nvidiaProfileInspector como sugirió @krage y me aseguré de que el perfil fuera agradable y simple: volví a hacer la asociación a windowsterminal.exe, y solo modifiqué un valor, el G- Estado de aplicación de sincronización uno

image

Et voilá! Terminal de 155Hz 😎

@jalada Lo siento, pero ese método tampoco me funciona :(. Parece que usar el renderizado de software es la única opción. Estoy usando la versión de vista previa del terminal por cierto.

This is my inspector profile btw

Después de un largo período y de darle a nVidia mi informe msinfo32, están diciendo que lo están investigando.

Hola Kruno,

Gracias. Estamos investigando el problema. No hay más actualizaciones en este momento.

Saludos,
Josh
NVCC

Ahora jugamos al juego de la espera.

@ o-sdn-o Pero ese es un punto de referencia si lo entiendo correctamente y no es su caso de uso típico. Intento verlo desde una perspectiva práctica y uso un monitor de 144hz a diario. Y tbh todavía tengo que encontrar una aplicación de terminal que requiera 144 FPS que no sea una demostración o un efecto genial.

El problema que veo es si quiero jugar un juego en modo de ventana o el nuevo "modo de ventana de pantalla completa" recomendado pero también usar G-Sync sin romper Windows al mismo tiempo. Recuerde que esto no solo está sucediendo con la Terminal de Windows, sino también, por ejemplo, en Microsoft Whiteboard y otras aplicaciones para UWP.

Lo que me confundió fue que el cursor de todas las cosas se detecta como "aplicación de frecuencia de actualización variable". Para mí, todo eso suena como algo que Nvidia debería analizar.

En el peor de los casos, bifurque, desbloquee la velocidad de fotogramas y haga lo que necesite hacer. Pero no resolvería el problema de todo el sistema.

Sí, estoy completamente de acuerdo con @SirJson , Nvidia necesita arreglar sus controladores excluyendo esta aplicación.
En realidad, no es un problema que se origine en la Terminal de Windows.

Siento que necesito aclarar nuevamente que G-Sync es la implementación de Nvidia de una "frecuencia de actualización variable" (VRR) para su monitor.
Lo importante aquí es _ "su monitor" _, porque la frecuencia de actualización no es por aplicación. Si alguna aplicación hace que G-Sync esté habilitado, todo el monitor ahora se procesará a la velocidad de la aplicación que causa G-Sync.
El cursor no tartamudea cuando usa aplicaciones para UWP con G-Sync porque el cursor se detecta como una aplicación VRR, sino porque la frecuencia de actualización de todos sus monitores se ha reducido dinámicamente. La razón de esto es que las aplicaciones de escritorio, como Windows Terminal, casi siempre solo dibujan cuando es necesario, lo que da como resultado una baja frecuencia de cuadros de la aplicación, que G-Sync finalmente convierte en una baja frecuencia de actualización de su monitor.

Bueno, eso hace que toda esa característica sea inútil, ¿no? Asumí que lo que está reportando mi monitor, la constante 144hz, es la frecuencia de actualización de la pantalla en su conjunto y tal vez a través de trucos con el compositor implementaron esta función.

Por suerte, si tengo tiempo para jugar, ese juego que estoy jugando ahora es compatible con la pantalla completa real, no toqué esta opción durante meses debido a "lo que sucede" y no tuve problemas con ella. Para ser honesto, originalmente me topé con este problema porque mi pantalla anterior también puede verse obligada a hacer g-sync @ 60hz (que es aún menos, pero tenía curiosidad por saber qué sucedería)

A cualquiera que tenga problemas y no quiera usar el renderizado por software, solo puedo recomendar que haga lo que yo y otros hicimos hace más de 130 días y espero que NVIDIA encuentre una solución porque el alejamiento de la pantalla completa real es bastante claro.

Gracias @lhecker por aclarar las cosas, al menos para mí

Agregar "experimental.rendering.software": true también me ayudó. Ejecutando Windows Terminal 1.0.1401.0 usando GTX 970 (controlador Nvidia 432.00).

Este problema no es específico de la Terminal de Windows. También tuve que establecer una bandera experimental para Ableton Live y deshabilitar la aceleración de hardware para Spotify.

Esto me soluciona el problema al usar 2080ti y varias pantallas GSynced de 165 hz

Agregar "experimental.rendering.software": true también me ayudó. Ejecutando Windows Terminal 1.0.1401.0 usando GTX 970 (controlador Nvidia 432.00).
Este problema no es específico de la Terminal de Windows. También tuve que establecer una bandera experimental para Ableton Live y deshabilitar la aceleración de hardware para Spotify.

Esto me soluciona el problema al usar 2080ti y varias pantallas GSynced de 165 hz

Esto también me resuelve el problema con 1080ti y 165 hz GSync.

Agregar "experimental.rendering.software": true también me ayudó. Ejecutando Windows Terminal 1.0.1401.0 usando GTX 970 (controlador Nvidia 432.00).
Este problema no es específico de la Terminal de Windows. También tuve que establecer una bandera experimental para Ableton Live y deshabilitar la aceleración de hardware para Spotify.

Esto me soluciona el problema al usar 2080ti y varias pantallas GSynced de 165 hz

Esto también me resuelve el problema con 1080ti y 165 hz GSync.

Esto me resuelve el problema en un RTX 2070 y 144 hz GSync

Lo mismo ocurre con una GeForce 2080 Ti con controlador 451.67. ¿Qué hace Windows Terminal de manera diferente a otras aplicaciones de terminal con su renderizado de pantalla? Powershell, Powershell ISE, la línea de comando predeterminada de Windows, Cmder no exhiben este comportamiento extraño y están bien con la ventana de Gsync o la configuración de ventana.

Me gustaría volver a mencionar mis comentarios anteriores, ya que explican la situación en detalle.
Este comentario en particular debería ser el más conciso: https://github.com/microsoft/terminal/issues/649#issuecomment -647777960

Me gustaría volver a mencionar mis comentarios anteriores, ya que explican la situación en detalle.
Este comentario en particular debería ser el más conciso: # 649 (comentario)

Entiendo el razonamiento en su comentario si estuviéramos hablando de la diferencia entre cómo los juegos capturan la entrada del mouse frente a otros tipos de aplicaciones, pero me pregunto por qué otras aplicaciones de terminal que menciono parecen manejar la entrada del mouse bajo una frecuencia de actualización de pantalla habilitada para Gsync sin problemas . Estas son aplicaciones estándar y estoy seguro de que no tienen un perfil de Panel de control de Nvidia personalizado para ellas. ¿Cuál es la diferencia en la forma en que Windows Terminal maneja la representación de la pantalla? ¿Pueden solucionarlo los desarrolladores? ¿Nvidia necesita manejar esto o ambos?

@Seefer Está malinterpretando ... G-Sync funciona reduciendo la frecuencia de actualización de su monitor y no la frecuencia de fotogramas del cursor.
Windows Terminal (WT) exhibe este comportamiento ya que procesa el shell usando su GPU y no CPU, a diferencia de los otros terminales que probó. Nvidia reconoce incorrectamente a WT como una aplicación que quiere G-Sync. Puede leer más sobre esto en mis otros comentarios sobre este tema y en el comentario que vinculé arriba.

Sé que esto suena muy grosero, pero como hablante no nativo de inglés y falta de mejores palabras: Muchos comentaristas aquí me parecen como si en realidad no supieran qué es G-Sync y cómo funciona. Yo sugiero encarecidamente a todos los aquí presentes que apaguen G-Sync para las aplicaciones con ventana. Debe tener en cuenta que Nvidia cuenta con un botón exclusivo para expertos de muy bajo nivel que es mejor dejarlo en el valor predeterminado (es decir, desactivado). La configuración del panel de control de Nvidia debería verse así:
image

Solo hay circunstancias muy raras en las que desearía que esté habilitado. Básicamente, el único caso en el que querría cambiar esta configuración es si tiene juegos con ventana (que no son de pantalla completa) u otras aplicaciones gráficas que no se ejecutan en la frecuencia de actualización nativa de su monitor (144Hz, 240Hz, etc.)

Ahora veo tu punto. Lamentablemente, la opción de configuración del modo de pantalla completa o ventana de Gsync no es realmente una opción para mí como jugador. Ejecuto juegos principalmente en pantalla completa sin bordes siempre que sea posible, ya que esto evita problemas de pérdida de gráficos en los dispositivos para juegos que no manejan muy bien ALT-TAB. También es más fácil volver al escritorio si un juego falla para iniciar el Administrador de tareas o el Explorador de procesos para finalizar la tarea del juego congelado. Creo que me quedaré con Cmder para las necesidades de mi terminal hasta que se resuelva el comportamiento del mouse de Windows Terminal :(

El beneficio de @Seefer G-Sync es la eliminación del desgarro de la pantalla si la velocidad de fotogramas de su aplicación / juego no puede seguir el ritmo de su monitor. Y las aplicaciones técnicamente con ventana (incluso con ventana de pantalla completa) no pueden tener desgarro de pantalla, ya que DWM las compone primero antes de mostrarse en su monitor. Así que personalmente me pregunto qué juego requiere G-Sync en modo ventana ... 🤔

@lhecker No sé exactamente por qué, pero G-Sync en modo de ventana (pantalla completa sin bordes) marca una diferencia visible para mí, así que lo mantengo encendido. Sin él, la frecuencia de actualización variable no funciona correctamente (he intentado varias cosas) y creo que los controladores de Windows o Nvidia restringen la velocidad de fotogramas. Este es el caso de todos los juegos que he jugado recientemente. Tengo dos monitores G-Sync, así que prefiero usar la pantalla completa sin bordes.

Recuerdo haber leído que anteriormente, los juegos solo obtendrían acceso exclusivo al controlador si estuvieran en modo de pantalla completa, pero hace unos años, la pantalla completa sin bordes también comenzó a brindar acceso exclusivo a los juegos con el beneficio de poder usar configuraciones de múltiples monitores con facilidad.

También debo mencionar que esto sucede incluso cuando el mouse no está sobre el terminal siempre que el foco esté en el terminal. Si tengo la terminal ocupando la pantalla y seleccionada, entonces el mouse se retrasará en cualquier lugar donde lo mueva. Quita el foco y todo es perfecto.

@jalada @SirJson y otros, solo tienes que anularlo "de la manera correcta". Para cosas de Store / UWP, debe usar el nombre interno <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> . No hay necesidad de meterse con los permisos de C:\Program Files\WindowsApps .

Guarde como archivo con final .nip, importe el archivo con 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>

O descomprime de esto:
Nvidia-Terminal.zip

Solo <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> es necesario para una instalación en la Tienda (en mi PC / Win / controlador; no puedo probar otras configuraciones, así que dejé cualquier otra cosa que pareciera _algo_ razonable).

No sabía cómo NV nombraría tal perfil (tienen un nombre Microsoft ... / Windows ... inconsistente) y no sé qué le sucede a este personalizado si un futuro controlador envía el suyo.

[en mi controlador anterior 445.78 el menú de inicio también se comportaba así la mitad del tiempo, ~ 32 Hz de frecuencia de actualización; arreglado en controladores más nuevos como 451.85]

@jalada @SirJson y otros, solo tienes que anularlo "de la manera correcta". Para cosas de Store / UWP, debe usar el nombre interno <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>

Guarde como archivo con final .nip, importe el archivo con 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>

O descomprime de esto:
Nvidia-Terminal.zip

Solo <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> es necesario para una instalación en la Tienda.

No sabía cómo NV nombraría tal perfil (tienen nombres inconsistentes Microsoft ... / Windows ... ) y no sé qué pasará con este personalizado si un futuro controlador envía el suyo.

[en mi controlador anterior 445.78, el menú Inicio también se comportaba así la mitad del tiempo, ~ 32 Hz de frecuencia de actualización]

Gracias por eso. Gran herramienta. No sabía que había tantas otras configuraciones de perfil de Nvidia ocultas. Ya había agregado el ejecutable de Windows Terminal a los perfiles de Nvidia, pero no jugar con la configuración de GSYNC expuesta allí me permitió ajustar el comportamiento de captura del mouse de Windows Terminal.

No parece cambiar dinámicamente mi modo GSYNC global de ventana o pantalla completa a pantalla completa por perfil. Usando el Panel de control de Nvidia para configurar el modo GSYNC en pantalla completa, los problemas del mouse de la Terminal de Windows desaparecen, pero si usa esta herramienta del inspector de perfiles para configurar el modo GSYNC en pantalla completa y luego ejecuta la Terminal de Windows, los problemas del mouse permanecen como si la configuración del perfil no fuera posible para anular la configuración global. Todo esto es muy frustrante sin una idea clara de qué parte necesita hacer la solución (desarrolladores de Nvidia o WT). Hasta que esto se resuelva, me quedo con Cmder, lo cual es una pena porque me encanta cómo WT hace que el uso de WSL2 sea un poco más agradable :(

@jalada @SirJson y otros, solo tienes que anularlo "de la manera correcta". Para cosas de Store / UWP, debe usar el nombre interno <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
Guarde como archivo con final .nip, importe el archivo con 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>

O descomprime de esto:
Nvidia-Terminal.zip
Solo <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string> es necesario para una instalación en la Tienda.
No sabía cómo NV nombraría tal perfil (tienen nombres inconsistentes Microsoft ... / Windows ... ) y no sé qué pasará con este personalizado si un futuro controlador envía el suyo.
[en mi controlador anterior 445.78, el menú Inicio también se comportaba así la mitad del tiempo, ~ 32 Hz de frecuencia de actualización]

Gracias por eso. Gran herramienta. No sabía que había tantas otras configuraciones de perfil de Nvidia ocultas. Ya había agregado el ejecutable de Windows Terminal a los perfiles de Nvidia, pero no jugar con la configuración de GSYNC expuesta allí me permitió ajustar el comportamiento de captura del mouse de Windows Terminal.

No parece cambiar dinámicamente mi modo GSYNC global de ventana o pantalla completa a pantalla completa por perfil. Usando el Panel de control de Nvidia para configurar el modo GSYNC en pantalla completa, los problemas del mouse de la Terminal de Windows desaparecen, pero si usa esta herramienta del inspector de perfiles para configurar el modo GSYNC en pantalla completa y luego ejecuta la Terminal de Windows, los problemas del mouse permanecen como si la configuración del perfil no fuera posible para anular la configuración global. Todo esto es muy frustrante sin una idea clara de qué parte necesita hacer la solución (desarrolladores de Nvidia o WT). Hasta que esto se resuelva, me quedo con Cmder, lo cual es una pena porque me encanta cómo WT hace que el uso de WSL2 sea un poco más agradable :(

Ok, parece estar funcionando. Tuve que eliminar mi perfil WT anterior en el Panel de control y solo usar su archivo .nip para importar usando Nvidia Profile Inspector. Supuse que porque ya tenía un perfil de WT, no era necesario importar el suyo para acceder a la configuración del perfil ejecutable de WT. Las cosas parecen funcionar bien ahora. Puedo dejar mi modo GSYNC global en ventana o pantalla completa y su perfil se encarga de ajustar el modo GSYNC a pantalla completa solo cuando inicio WT.

¡Muchas gracias!

El beneficio de @Seefer G-Sync es la eliminación del desgarro de la pantalla si la velocidad de fotogramas de su aplicación / juego no puede seguir el ritmo de su monitor. Y las aplicaciones técnicamente con ventana (incluso con ventana de pantalla completa) no pueden tener desgarro de pantalla, ya que DWM las compone primero antes de mostrarse en su monitor. Así que personalmente me pregunto qué juego requiere G-Sync en modo ventana ... 🤔

Cualquier juego que ejecutes en el modo de 'ventana sin bordes' es básicamente un juego de ventana, solo que sin ninguno de los Chrome OS de Windows. Este modo ha existido durante años. Recuerdo haberlo usado durante mi tiempo de programación en WIN32.

@Seefer Esa es exactamente la razón por la que personalmente no he entendido del todo por qué algunas personas requieren G-Sync para aplicaciones de pantalla completa no exclusivas. No puede haber un beneficio significativo, ya que todo lo que proporciona G-Sync es algo que también hace DWM. (Dado que no olvidó habilitar V-Sync).

De cualquier manera, lo que debe suceder es que Nvidia lo arregle de su lado. Solo deben habilitar G-Sync para aplicaciones con ventanas de pantalla completa que también ocultan el cursor y no todas las aplicaciones con ventanas normales.

@Seefer Esa es exactamente la razón por la que personalmente no he entendido del todo por qué algunas personas requieren G-Sync para aplicaciones de pantalla completa no exclusivas. No puede haber un beneficio significativo, ya que todo lo que proporciona G-Sync es algo que también hace DWM. (Dado que no olvidó habilitar V-Sync).

Esto se está volviendo tremendamente fuera de tema ahora, pero por ejemplo:
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. fuente

Solo deben habilitar G-Sync para aplicaciones con ventanas de pantalla completa que también ocultan el cursor y no todas las aplicaciones con ventanas normales.

Seguramente podría haber juegos que no oculten el cursor y juegos que no lo hagan. Disculpas si no te entiendo, pero cuando mi reproductor multimedia oculta el cursor, no se convierte en un juego, y supongo que un juego también puede seguir mostrando el cursor de Windows.

@Luckz Te das cuenta de que

Después de eso, toda mi discusión fue sobre buscar una solución que no fuera: "Esperamos hasta que Nvidia se dé cuenta de esto". Pero esa es la única opción para una solución real y el procesamiento de software es una solución alternativa hasta entonces.

Sé que no quisiste decir nada malo, pero solo porque ves un nombre a menudo, eso no significa que el usuario también tenga el mayor problema.

@Luckz Estoy de acuerdo en que nos estamos

Pero esperaba que se mencionara ese artículo, especialmente porque en los hechos es incorrecto, o al menos bastante engañoso. Quiero decir, no es que ese artículo haya sido revisado por pares, ¿verdad? Así que permítanme explicar por última vez cómo el autor de ese artículo está malinterpretando sus propios resultados.
La velocidad de fotogramas de la aplicación está prácticamente limitada a 142 FPS, a pesar de que se utiliza V-Sync, que limitaría la velocidad de fotogramas a 144 FPS de todos modos. tl; dr: No limite las velocidades de fotogramas si usa V-Sync.
El autor de su artículo cometió ese error, al cometer incorrectamente (y usted cree) que regularmente / siempre obtiene un retraso de 1 fotograma, lo que no podría estar más lejos de la verdad. De hecho, sólo 2 de cada 144 fotogramas se retrasan debido a esta "desalineación" de la frecuencia de fotogramas de la aplicación y la frecuencia de actualización del monitor.
Aquí se puede ver una comparación adecuada (debe cambiar la primera imagen a las versiones de 144+ Hz). Para comparar la diferencia de 0-2ms: un monitor moderno y costoso de 144Hz por lo general tiene un tiempo de respuesta de GtG medido de aproximadamente 4ms y dudo que muchos lo hayan notado. 😄

Gracias @Luckz por una solución / solución.

Yo agregaría a los síntomas que había experimentado antes de armarlo que fue el Terminal de Windows el que lo causó.
Ejecutando Windows 10 20H2 (compilación del SO 19042.450) He visto que el monitor GSYNC se pone negro y no se enciende nuevamente (es necesario reiniciar). También se ve una pantalla negra intermitente en los 3 monitores. Una vez que apliqué, los problemas de solución parecen desaparecer.

Hola a todos,
He tenido el mismo problema.
Al principio pensé que mi computadora portátil era la que tenía el problema, pero luego noté que el problema también estaba ocurriendo en ciertos tipos de aplicaciones, especialmente en las aplicaciones de la Tienda Windows. He notado que ocurre Splashable, WhatsApp, Windows Terminal, Speedtest entre muchos otros.
Mi computadora portátil es la ASUS ROG Zephyrus Duo 15 GX550LWS
Especificaciones aquí
Mi monitor externo es el monitor para juegos ASUS VG278QR (compatible con GSYNC) que funciona a 165Hz

Sin embargo, configurar GSYNC en modo de pantalla completa, que es ridículo, resuelve el problema.
Además, dado que mi GPU tiene un diseño Max-Q, tengo la opción de cambiar entre el modo optimus y el modo de gráficos discretos. En el modo de gráficos discretos que se enfoca en dichas aplicaciones, hace que la segunda pantalla de mi computadora portátil se vuelva negra a menos que el movimiento del mouse o algo en la aplicación esté cambiando. Supongo que esto tiene que ver con la representación de marcos.

Splashable, WhatsApp, Speedtest entre muchos otros.

Puede crear perfiles para todos ellos y enviarlos a Nvidia idealmente para incluirlos en una futura versión del controlador.

Odio acumular un problema antiguo, pero veo que la solución habitual (agregar un perfil personalizado con " Tecnología de monitor " configurada en " Actualización fija ") no funciona en realidad. Tengo un monitor ultraancho LG 38GL950G configurado en 100Hz. Tiene una pantalla de frecuencia de actualización de hardware que se puede encender. Incluso con un perfil configurado para deshabilitar GSync para la aplicación, aún se reduce a 12FPS cuando la Terminal es la aplicación en primer plano.

Desactivar G-Sync para aplicaciones con ventana no es una opción, ya que suelo jugar juegos con ventana. Esto solucionaría este comportamiento, pero tiene demasiados efectos secundarios negativos.

¿Están haciendo algo diferente con los perfiles para que funcione?

Splashable, WhatsApp, Speedtest entre muchos otros.

Puede crear perfiles para todos ellos y enviarlos a Nvidia idealmente para incluirlos en una futura versión del controlador.

Este problema debe transmitirse a Microsoft, ya que parece ser un problema fundamental con la forma en que la tecnología UWP maneja los dibujos de ventanas; con suerte, se puede solucionar en la próxima compilación de Windows. Ninguno de mis programas que no pertenecen a UWP experimenta este comportamiento extraño.

Incluso con un perfil configurado para deshabilitar GSync para la aplicación

¿Estás seguro de que tienes la aplicación correcta? Quizás pegue lo que está usando como aplicación. (después de revisar algunas publicaciones arriba para ver lo que generalmente funciona)

Incluso con un perfil configurado para deshabilitar GSync para la aplicación

¿Estás seguro de que tienes la aplicación correcta? Quizás pegue lo que está usando como aplicación. (después de revisar algunas publicaciones arriba para ver lo que generalmente funciona)

Estoy usando c: \ program files \ windowsapps \ microsoft.windowsterminal_1.3.2651.0_x64__8wekyb3d8bbwe \ windowsterminal.exe como el programa, que es la ruta a la imagen ejecutable según el Administrador de tareas. También probé WT.EXE en la misma carpeta.

Así que intenté configurar GSync en Pantalla completa solo como se sugirió anteriormente, pero eso no ayudó. Inhabilité por completo Gysnc en mi máquina, y si se solucionó el parpadeo del mouse (frecuencia de actualización baja), pero al mover la ventana, sigue siendo un desastre (sin GSync).

¿Qué otras opciones puedo intentar?

¿Estás seguro de que tienes la aplicación correcta? Quizás pegue lo que está usando como aplicación. (después de revisar algunas publicaciones arriba para ver lo que generalmente funciona)

Estoy usando c: \ program files \ windowsapps \ microsoft.windowsterminal_1.3.2651.0_x64__8wekyb3d8bbwe \ windowsterminal.exe como el programa, que es la ruta a la imagen ejecutable según el Administrador de tareas. También probé WT.EXE en la misma carpeta.

Eso es exactamente por lo que pregunté. Tienes que usarMicrosoft.WindowsTerminal_8wekyb3d8bbwe . Subí un perfil arriba (con muchas otras variantes que no son necesarias). Aquí está el mínimo:
Nvidia-Terminal.zip

Presenta tu solicitud con primicia : scoop install nvidia-profile-inspector ). Haga clic en el botón de importación en la barra de herramientas, alimente el .nip (s) y listo.

algunas aplicaciones más con problemas para los que creé algunos perfiles:
Una nota: Microsoft.Office.OneNote_8wekyb3d8bbwe
Pintar 3D Microsoft.MSPaint_8wekyb3d8bbwe
Recortar y dibujar Microsoft.ScreenSketch_8wekyb3d8bbwe
Accesorios Xbox Microsoft.XboxDevices_8wekyb3d8bbwe
Cámara (requiere anular el perfil de Nvidia existente)
Interfaz de usuario de Cortana / Search (requiere anular el perfil existente de Nvidia)
Centro de comentarios Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe
Microsoft para hacer Microsoft.Todos_8wekyb3d8bbwe

tercero:
Amazon: Amazon.com.Amazon_343d40qqvtj1t
Amazon Prime Video para Windows: AmazonVideo.PrimeVideo_pwbj9vvecjh7j
Liberty Global Horizon Go: LibertyGlobal.HorizonGODE_gmwgfebrpy77e
mi colección actual de 12 perfiles: Nvidia-UWP-NoGsync-Profiles.zip

Pero hay muchísimos más (Portal de Realidad Mixta, Visor 3D, ...)

También manteniendo vivo este problema / recapitulación. La mejor solución hasta ahora en Windows Terminal versión 1.3.2651.0 (instalada con choco) es "experimental.rendering.software": verdadero en settings.json.

Desventaja: No se puede tener un juego y una ventana de Terminal de Windows en el monitor Gsync, ya que el Terminal de Windows todavía se trata como un juego.

Ventaja: como Windows Terminal se instala a través de Microsoft Store, no puede aplicar fácilmente la corrección del Panel de control de Nvidia a menos que utilice nvidiaProfileInsepctor de terceros.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ghvanderweg picture ghvanderweg  ·  3Comentarios

miniksa picture miniksa  ·  3Comentarios

Wid-Mimosa picture Wid-Mimosa  ·  3Comentarios

NickITGuy picture NickITGuy  ·  3Comentarios

mrmlnc picture mrmlnc  ·  3Comentarios