La GPU no llega al 100%: cómo saber si es un cuello de botella de CPU

Un uso bajo de la GPU tiene al menos ocho explicaciones y solo una de ellas es un límite de CPU — este es el orden para ir descartándolas, empezando por un experimento gratis que lo resuelve en dos minutos.

Tu overlay dice que la tarjeta gráfica está al 60% y la tasa de fotogramas es más baja de lo que esperabas. Alguien te dice que es un cuello de botella de CPU, y te pones a leer sobre procesadores.

Puede ser. Pero «la GPU por debajo del 100%» tiene al menos ocho explicaciones, comprobar casi todas no cuesta nada, y un límite real de CPU es solo una de ellas. Esta página las descarta una por una.

Primero, qué es en realidad ese porcentaje

El uso de la GPU es la proporción de tiempo en que la GPU tuvo trabajo en marcha — no lo fuerte que trabajó. Una tarjeta que pasea por una carga trivial puede marcar 100% porque siempre había algo en cola, y una tarjeta que hace todo lo que le piden puede marcar 60% porque la cola se le quedaba vacía. Es una primera pista y nada más: por sí solo no te dice qué estaba esperando la GPU.

El experimento que lo resuelve en dos minutos

Haz esto antes que nada, porque es gratis y es decisivo.

  1. Apunta tu tasa de fotogramas en una escena repetible.
  2. Baja la resolución mucho — no un paso, un salto grande.
  3. Vuelve a medir la misma escena.

Si la tasa de fotogramas apenas se mueve, la GPU no era tu límite. Le quitaste la mayor parte de su trabajo y no recuperaste nada, así que el ritmo lo estaba marcando otra cosa.

Si la tasa de fotogramas sube más o menos en proporción, sí estabas limitado por la GPU y la cifra de uso te estaba engañando.

Ese es todo el diagnóstico, y no necesita ninguna herramienta. Todo lo de abajo sirve para identificar qué es esa otra cosa.

Las explicaciones baratas, en orden

1. Estás en un tope

Si el número en el que te quedas es exactamente tu frecuencia de actualización, tu límite de fotogramas dentro del juego, un límite del lado del driver o el tope automático de una función de latencia, no hay ningún cuello de botella — la GPU está ociosa porque le dijiste que parara. Es una falsa alarma, y descartarla cuesta diez segundos.

2. A la tarjeta la están frenando, no la están dejando ociosa

Una GPU que no sube de frecuencia no es lo mismo que una GPU que no tiene trabajo. Bajo carga, el propio driver dice por qué mantiene los relojes abajo: protección térmica, un límite de potencia puesto por debajo del de fábrica, una aplicación que le pidió ir más despacio, o un conector de alimentación PCIe que falta o no está bien encajado. Lo último es una tarjeta que se niega a subir de frecuencia hasta que esté bien conectada — un problema de cable, no un ajuste. El escaneo de tirones le hace esa pregunta al driver bajo una carga corta y reporta los motivos que dio.

3. El juego quedó restringido a una parte del procesador

Invisible salvo que vayas a buscarlo. Una máscara de afinidad recortada o un conjunto de CPU predeterminado sobre el proceso del juego significa que todo lo que hace el juego tiene que caber en esos procesadores mientras el resto de la máquina está parado. Entre las fuentes están un script de optimización antiguo, un acceso directo con start /affinity copiado de un foro, o una herramienta de procesos configurada una vez y olvidada.

Cómo lo sabes: Administrador de tareas → Detalles, clic derecho sobre el juego, Establecer afinidad. Si no están todos los procesadores, ahí tienes la respuesta — amplíala ahí mismo, o quita la regla en la herramienta que la escribió.

4. El juego se está ejecutando en la tarjeta gráfica equivocada

En un portátil, o en un sobremesa con la gráfica integrada activada, un juego puede acabar renderizando en el adaptador más débil. La tarjeta dedicada reporta entonces un uso bajo con toda honestidad: no está haciendo nada. En qué GPU se ejecuta un juego explica cómo quitar una preferencia por juego.

5. El enlace PCIe es más estrecho de lo que debería

Merece la pena comprobarlo una vez, y merece la pena no perder la perspectiva. La mitad de líneas dentro de la misma generación puede ser el propio diseño de la placa — una unidad M.2 alimentada por las líneas del procesador parte en dos la ranura gráfica — y reducir el enlace a la mitad no reduce a la mitad la tasa de fotogramas; cuánto cuesta en tu tarjeta no se ha medido aquí. El caso en el que sí hay que actuar es un enlace que negoció por debajo de lo que admiten los dos extremos: una alargadera, un contacto justo, una línea que no llegó a levantar. Vuelve a encajar la tarjeta.

6. La GPU está esperando datos, no a la CPU

Un fotograma que todavía no está montado deja a la GPU parada, y el motivo puede ser una lectura lenta de assets, un shader compilándose, o páginas volviendo desde el disco. En una gráfica de uso esto se ve idéntico a un límite de CPU y es un problema distinto — mira caídas repentinas de FPS en juegos.

7. Otra cosa tiene el núcleo que necesita el hilo de renderizado

El uso total de CPU es el número equivocado aquí. Un solo núcleo completamente saturado en una máquina de ocho núcleos se lee como un total modesto, y un trabajo en segundo plano que ocupe ese núcleo se pone en cola por delante del hilo de renderizado.

Qué pinta tiene un límite de CPU de verdad

Cuando la lista de arriba se agota, el caso que queda es real y tiene una forma reconocible:

Una captura también registra cuánto de la ejecución se pasó bloqueada dentro de la llamada de presentación — eso es presión de la GPU y de la cola, y cuanto más alto sea ese número, menos dice cualquier cambio en los FPS medios sobre nada del lado de la CPU. Leer el resultado del benchmark cubre el resto.

Qué hacer con un límite de CPU real

La respuesta honesta es que esto, en su mayor parte, no es un problema de software, y las páginas que fingen lo contrario son la razón de que la gente acabe con listas de valores del Registro.

Qué no va a ayudar

Desactivar el multihilo simultáneo o los núcleos de eficiencia: los números que hay detrás de ese consejo vienen de fuentes que no publicaron ningún método, así que estarías cambiando capacidad multinúcleo conocida por una ganancia sin verificar. Los valores de gestión de memoria del kernel y las anulaciones de la resolución del temporizador: aquí se rechazan de plano, y en todas partes están sin medir. Los limpiadores de memoria: en una máquina a la que no le falta memoria, liberar más no cambia nada medible.

Relacionado

¿Juegas a CS2? Qué opciones de lanzamiento siguen haciendo algo y dónde están de verdad los fotogramas en el menú de vídeo: Pocos FPS y tirones en CS2: una lista basada en mediciones

w0a no cambia ningún ajuste de Windows hasta que se lo pides, y un tweak guarda el valor anterior antes de escribir uno nuevo. Avísame

¿Te sirvió esta página?

¿Qué faltaba, o qué no funcionó? Leemos todos estos mensajes.

Si esta página no resolvió tu problema, escríbenos — dinos qué artículo leíste y lo corregimos.