Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 al 10 de 26

Tema: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

  1. #1
    Con domicilio en Noticias3d.com
    Ubicación
    ESPAÑA
    Mensajes
    5,803

    Predeterminado Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Pues he estado haciendo un montón de benches de juegos con varios SOs (más específicamente, con diversas versiones de Windows 11), y no sé si esto que voy a exponer es ya público y conocido a nivel general (yo creo que no) pero desde luego es nuevo para mi, y como tal lo comparto por si a alguien le interesa.

    La cuestión es: por fin ya sé como gestiona Windows 11 la utilización de los núcleos al ejecutar juegos en CPUs de 2 CCD. Esto es válido para cualquier gen, ya que lo he comprobado tanto con Zen 3 como con Zen 5 (entiendo que con Zen 2 y Zen 4 será igual).

    Y me refiero más en concreto a cuando usa y cuando no los dos CCD, es decir, cuando vuelca el juego en el primer CCD y cuando no lo hace, sino que lo distribuye entre todos los núcleos de ambos CCD.

    Lo primero, hay dos requisitos previos que han de cumplirse: que el modo de energía sea el equilibrado (lo es por defecto); y que el modo juego esté activado (lo está por defecto). Aquí no interviene para nada la app Game Bar. De hecho, en las pruebas que vais a ver, no la tengo instalada

    Así que con estos dos requisitos previos cumplidos, la pregunta es: ¿qué es lo que determina que en Windows 11 un juego se ejecute en un CCD o se distribuya entre los dos CCD? ¿Es por algún driver de la CPU? ¿de la GPU? Pues no, lo determina la versión de un archivo llamado KnownGameList.bin el cual se encuentra en la siguiente ruta: <cuenta de usuario>\AppData\Local\Microsoft\GameDVR

    Ahí está este archivo (conocido como KGL). Y el contenido de ese archivo son nombres de juegos y ejecutables de juegos. Y los juegos que estén incluidos en ese archivo va a depender de la versión de Windows 11 que tengamos: la 21H2, la 22H2, la 23H2, la 24H2 o la LTSC. En cada una de estas versiones de Windows 11 la versión del archivo KnownGameList.bin (KGL) es diferente (bueno en las 22H2 y 23H2 es el mismo). Estas son capturas del archivo KGL que contiene cada versión de Windows 11:

    21H2


    22H2 y 23H2


    24H2


    Y otro ejemplo, la nueva LTSC 2024



    Como veis, el tamaño del archivo varía según la versión de Windows 11: cuanto más pesa, más nombre de juegos/ejecutables de juegos incorpora.

    Bien, y ¿Qué supone que un juego esté incluido en el archivo KGL? pues supone que ese juego se va a ejecutar en exclusiva (o casi, según el caso) en los núcleos del 1º CCD. Y si un juego no está incluido en el archivo KGL de turno, significa que se va a ejecutar en los núcleos de ambos CCD.

    Pongo dos ejemplos, uno con el 5950X y otro con el 9950X. En ambos casos, voy a poner capturas mientras se ejecuta el benche "Battle" del Total War: Warhammer 3. Este juego NO se encuentra en los archivos KGL ni de 21H2, ni 22H2, ni 23H2 ni por descontado del LTSC 2024. Solo está incluido en el KGL del 24H2. Así que, en la práctica, esto supone lo siguiente:

    5950X (corriendo en Windows 11 23H2, con su propio archivo KGL cargado, el cual no incluye el warhammer3). Como veis, el juego se está ejecutando en todos los núcleos:



    5950X (corriendo en Windows 11 23H2, pero con el archivo KGL cargado del 24H2, el cual sí incluye el warhammer3). Como se puede ver, ahora se ejecuta en los núcleos del 1º CCD:



    Ahora el 9950X (corriendo Windows 11 21H2, con su propio archivo KGL cargado, el cual no incluye el warhammer3). Como era de esperar, la ejecución del juego es distribuida entre todos los núcleos:



    Y ahora el 9950X (corriendo en Windows 11 21H2, pero con el archivo KGL cargado del 24H2, el cual sí incluye el warhammer3). Y ahora, se vuelca casi en exclusiva en los núcleos del 1º CCD, si bien hace uso tambien de un par del CCD2, quizá porque casi llena los del 1º CCD:


    He visto que aquellos juegos a los que les basta y sobra los núcleos de un CCD, no usan nada de nada el 2º CCD


    Y algunos os preguntaréis, vale, y que diferencias hay en que un juego se ejecute en un CCD o se distribuya entre los dos CCDs? pues que normalmente va a rendir más de una forma que de la otra, se van a sacar más o menos fps según se ejecute de una forma o de otra.

    Este ejemplo concreto, el Warhammer 3, rinde más cuando se ejecuta en un CCD (en torno a un 6%). Normalmente esto es lo que suele ocurrir con la mayoría de juegos, se sacan más fps cuando se ejecuta en los núcleos del 1º CCD (ya que son los que más frecuencia alcanzan). Sin embargo, hay excepciones. Hay juegos que rinden más cuando se su ejecución es distribuida entre los núcleos de ambos CCDs: he probado más de 50 juegos, y puedo citar Ashes of Singularity, Dying Light 2, Call of Duty Modern Warfare II y algunos más.

    PS: para cambiar el archivo KGL, no se puede hacer desde e SO en modo normal (lo denegará al estar en uso), hay que cargar el SO en modo seguro y entonces sí copiar el archivo KGL que queramos.

    PS2: la app Game Bar (que como digo de inicio no interviene para nada en que el juego corra en un CCD o en los dos) sí puede venir bien para saber si el juego que vayamos a correr va a hacer uso de un CCD o de los dos: una vez abierto el juego, abrimos game bar (con la combinación de teclas ALT izq + G), vamos a configuración y si no aparece la opción "Recordar que es un juego" es que ese juego ya estás incluido en el archivo KGL, lo que significa que se va a ejecutar en el 1º CCD. Si por el contrario, aparece esa opción "Recordar que es un juego" es que el juego no está incluido en la lista y por tanto se va a ejecutar en ambos CCDs. En este caso, tambien sirve para que caso de que sepamos que ese juego saca más fps corriendo solo en el 1º CCD, podemos marcar la casilla "Recordar que es un juego" y así la próxima vez que ejecutemos ese juego, ya sí correrá solo en el 1º CCD ya que esta app va a crear un archivo adicional con los juegos que se marquen de esa manera.

    PS3: Lo dicho aquí es válido para Windows 11, desconozco si en Windows 10 funciona igual este tema.
    Última edición por poseste; 08/10/2024 a las 22:37

  2. #2
    El señor de los forillos Avatar de cabfl
    Ubicación
    Canarias
    Mensajes
    2,921

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    A mi lo que me llama la atención de este tema, es que los hilos virtuales del primer CCD sean más efectivos que los cores reales del segundo CCD.
    ¿Tanta es la penalización por saltar de CCD, que prefiere hilos de menos rendimiento mientras no tenga que saltar al otro CCD?
    Imagino, que con los X3D se notará más aún el beneficio de mantener todo el rendimiento en el primer CCD.
    Gracias Poseste por la investigación, también desconocía lo de la lista de windows.
    - Ryzen 9 7950X 5,7ghz 16/32cores Corsair iCUE H170i Elite Capellix - iCUE 7000X + RM1000 Asus Rog Strix B650E-E Gaming Wifi 64GB DDR5 6000cl32 RTX 4090 24GB M.2 2x SN850X 1TB + EVO970Plus 2TB + HD 4x 10TB BarracudaPro W10-64pro LG32UD99-W4k
    - 3x XeonE5v4 3ghz 18/36cores Asrock X99Extreme4 64GB DDR4 2400 GTX 1030 2GB SSD EVO860 512GB W10-64pro
    - i7 4790k 4,4ghz 4/8cores Asus Z87-A 32GB DDR3 2400 GTX 1070 8GB SSD EVO860 512GB W10-64pro Dell UltraSharp U2410
    - i7 2600k 4,8ghz 4/8cores Asus P8Z68V-Pro 32GB DDR3 2133 GTX 1650 4GB SSD EVO860 512GB W10-64pro
    - Surface 4pro i7 6650U 3,4ghz 2/4cores 16GB DDR4 SSD 512GB W10-64pro
    - MINISFORUM UM690 Ryzen 6900HX 8/16cores 4,9ghz 32GB DDR5 5200 Radeon 680M M.2 SN850X 1TB W10-64pro
    - Meta Quest 2

  3. #3
    El señor de los forillos
    Ubicación
    Murcia
    Mensajes
    4,863

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Imagino que todo sumará: Las latencias entre CCD, diferentes velocidades, etc.

    Habría que probar con una frecuencia fija en ambos CCD a ver, pero no creo que haya mucha diferencia.

    Enviado desde mi M2012K11AG mediante Tapatalk

  4. #4
    Con domicilio en Noticias3d.com
    Ubicación
    ESPAÑA
    Mensajes
    5,803

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Cita Iniciado por cabfl Ver mensaje
    A mi lo que me llama la atención de este tema, es que los hilos virtuales del primer CCD sean más efectivos que los cores reales del segundo CCD.
    ¿Tanta es la penalización por saltar de CCD, que prefiere hilos de menos rendimiento mientras no tenga que saltar al otro CCD?
    Imagino, que con los X3D se notará más aún el beneficio de mantener todo el rendimiento en el primer CCD.
    Gracias Poseste por la investigación, también desconocía lo de la lista de windows.
    La lógica hace pensar lo que indicas, que debería rendir más si se distribuyera entre los cores físicos de ambos CCDs y dejara los virtuales solo para el caso de que se llenen los físicos. Sin embargo, lo curioso es que no sucede así, probablemente por lo que indica @Alkermes: yo creo que sobre todo es por las latencias entre los núcleos de distintos CCDs. Sabemos que los juegos en general son muy sensibles a la latencias, así que eso debe penalizarles más de lo que les pueda beneficiar el uso de los físicos de ambos CCD. Aunque hay excepciones, como las que he comentado antes: hay algunos juegos que rinden más cuando se les deja campar por ambos CCDs que cuando se les limita a un solo CCD.

    Desde luego en los 3D es muy claro aunque solo sea por la cache 3D: en el 1º CCD es donde está la cache 3D con lo que de forma general siempre van a rendir más si solo usan ese CCD.

  5. #5
    Con domicilio en Noticias3d.com
    Ubicación
    ESPAÑA
    Mensajes
    5,803

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Pues tenía guardada una imagen de Windows 10 (en concreto la 20H2) hecha con True Image, así que la he restaurado en otra partición en este caso en el equipo con el 7950X3D para ver si la mecánica de gestión de uso de los CCDs en juegos es igual a como se gestiona en Windows 11. Pues sí, es igual. Windows 10 también tiene y usa el archivito KnownGameList.bin (está en la misma ruta que en win11). Su archivo KGL es el mismo que se encuentra en Win11 21H2. También he obtenido el archivo KGL de otro equipo donde tengo instalada la versión de Win10 22H2 (la última disponible) y su archivo KGL coincide con el que está presente en las versiones 22H2 y 23H2 de Windows 11.

    Antes de pasar a las pruebas, como en este caso el micro es un 3D, es necesario que se cumpla un tercer requisito previo (a sumar al plan de energía equilibrado y al modo juego activado), con lo que en este caso el proceso no es "plug and play" como en el caso de los NO 3D, ya que a diferencia de los otros dos requisitos (que ya vienen así por defecto al instalar el SO), este tercer requisito requiere de la intervención activa del usuario. Consiste en ejecutar en línea de comandos (como administrador) esta orden:

    Código:
     cmd /c start /wait Rundll32.exe advapi32.dll,ProcessIdleTasks
    Si no se hace este tercer paso, no funciona el sistema de gestión de los núcleos de los CCDs en los 3D.


    Bueno, pues estas son las pruebas que he hecho en Windows 10 (lo he testeado con dos juegos, Grid 2019 y Guardians of the Galaxy):

    7950X3D (corriendo en Windows 10 20H2, con su propio archivo KGL cargado, el cual NO incluye Grid 2019). En consecuencia, el juego se reparte entre ambos CCDs (especialmente el 2º, pero tambien una pequeña parte del juego en el 1º):



    7950X3D (corriendo en Windows 10 20H2, con el archivo KGL de Win10 22H2 cargado, el cual SI incluye Grid 2019). Por ello, ahora el juego se ejecuta exclusivamente en el 1º CCD (donde está la caché 3D):



    Y he hecho otra prueba, ya que me preguntaba si se podría usar en Windows 10 el archivo KGL de un Windows 11 (en este caso el que viene con la 24H2), ya que ese archivo KGL incluye más juegos y más modernos. Para esta prueba el juego usado es Guardians of the Galaxy, ya que el mismo no está incluido en los archivos KGL ni del Windows 10 20H2 ni de Windows 10 22H2, pero sí lo está en el KGL de Windows 11 24H2. Pues este es el resultado:

    7950X3D (corriendo en Windows 10 20H2, con su propio archivo KGL cargado, el cual NO incluye Guardians of the Galaxy). Así que, efectivamente, como no podía ser de otra manera, el juego es repartido entre ambos CCDs (más en el 2º, pero tambien algo en el 1º):



    7950X3D (corriendo en Windows 10 20H2, con el archivo KGL de Win11 24H2 cargado, el cual SI incluye Guardians of the Galaxy). ¿Qué pasará? pues sí, ahora el juego se ejecuta en exclusiva en el CCD con la caché 3D, es decir, el 1º CCD:

  6. #6
    El señor de los forillos
    Ubicación
    Murcia
    Mensajes
    4,863

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Muy esclarecedor. Gracias por el curro.

    Enviado desde mi M2012K11AG mediante Tapatalk

  7. #7

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Grande Poseste, menuda currada.

    s2
    Intel i5 10400F+Cryorig H5 Ultimate
    Asus Prime b560m-A+2x16Gb DDR4 Crucial Ballistix 3600Mhz cl14
    Zotac RTX 3070 Twin Edge Naked&Deshrouded
    SSD Crucial Mx500 250Gb+2HDD+Samsung 970 EVO Plus 1Tb
    Corsair RM 850w+LG 1080p TN
    Lian Li o11 Dynamic eXhaLe Mod


  8. #8
    Con domicilio en Noticias3d.com
    Ubicación
    ESPAÑA
    Mensajes
    5,803

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    gracias chicos, este tema era algo a lo que le tenía ganas porque no estaba nada claro como se gestionaba este asunto, así que ya puedo descansar tranquilo

    Y bueno, los que tengan Ryzen con dos CCDs y no usen Win11 24H2, ya saben que les conviene obtener el KGL de dicha build ya que es el que incluye, con diferencia, el mayor número de juegos, por lo que la optimización de su equipo en gaming será la mejor posible (sin usar herramientas de terceros)

  9. #9
    El señor de los forillos Avatar de STRELOK
    Ubicación
    Colombia
    Mensajes
    3,145

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Pero de qué forma alimentan ese archivo? Con cada actualización? Porque tengo Win11 24H2 y el KGL está en exactamente 1.040KB
    CPU = Ryzen 9 7900X + Artic Liquid freezer II 420, Vcard = XFX MERC310 RX 7900XTX Black, RAM = Corsair Vengeance 2x16GB CL30 @ 6000Mhz, MOBO = Gigabyte Aorus B650 Elite AX, PSU = Corsair HX 750

  10. #10
    Con domicilio en Noticias3d.com
    Ubicación
    ESPAÑA
    Mensajes
    5,803

    Predeterminado Re: Gaming: Así gestiona Windows 11 el uso de la CPU en los Ryzen de 2 CCD

    Cita Iniciado por STRELOK Ver mensaje
    Pero de qué forma alimentan ese archivo? Con cada actualización? Porque tengo Win11 24H2 y el KGL está en exactamente 1.040KB
    En principio el KGL lo actualizan con las versiones principales, es decir, no veo que se vaya actualizando, por ejemplo, con las actualizaciones mensuales acumulativas. Esto es una clara contra. Así que para mantener una lista "al día" es cuando gana protagonismo la app Game Bar, que permite que, si un juego no aparece en la lista porque por ejemplo sea nuevo (en el primer post indico como se sabe con Game Bar si un juego está o no en el archivo KGL) pues si no está, está la opción de marcar la casilla de "recordar que es un juego". Esto crea una lista adicional (que se guarda en otro archivo, creo que es el LocalMruGameList.json que se crea en la subcarpeta GameMRU) donde se añaden esos juegos "nuevos", ya digo, cuando se marca esa casilla en Game Bar.

    Por cierto, no se me ocurre por qué el KGL que tienes pesa algo más. Pensé que podía ser por la variante del idioma es-mx que supongo es la que tienes instalada? pero me he bajado la iso es-mx, instalado en una máquina virtual y el tamaño del archivo KGL es igual al que se instala con la ISO es-es, 959 Kb:



    Así que ni idea del motivo de ese distinto tamaño...

Página 1 de 3 123 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •