1 votos

¿La GPU no se utiliza del todo?

He estado jugando a The Witness, y me he dado cuenta de que el juego se retrasa sin aprovechar del todo mi tarjeta gráfica.

Mi configuración es bastante antigua a estas alturas (HD 5850 e i7-930). El juego se mantuvo a unos 60fps semi estables en la configuración Normal, pero hubo algunos contratiempos mientras se ejecutaba o cuando se desplazaba rápidamente la cámara.

Sin embargo, la carga de mi GPU apenas superaba el 60-70% mientras jugaba, y la carga de mi CPU rondaba el 30%. No vi ningún pico en el gráfico de carga (MSI Afterburner).

Para comparar, probé a cargar el juego en configuración alta y mi uso de la GPU estaba en un 80+%. También probé a jugar a Minecraft el otro día con un paquete de sombreado, y el uso de la GPU se mantuvo al 90% todo el tiempo con unos fps constantes (aunque <60).

Mi pregunta: ¿es normal que un juego tenga lag si la GPU y la CPU no están a plena carga?

2voto

nic ferrier Puntos 663

Escenario común cuando se tiene un motor de juego/diseño técnico que es malo. Esto es muy sifnificativo de tal problema, ya que el rendimiento de la GPU no se mantiene al máximo.

Si se tiene en cuenta lo que ocurre, la GPU necesita recibir fotogramas preparados de la CPU, pero si no lo hace no se aprovechará del todo.

La CPU, a su vez, necesita generar dichos framebuffers y empujarlos para el renderizado, pero si un motor de juego se detiene por alguna razón (lo más común es que sea de un solo núcleo y el énfasis de hoy en día en menos velocidad por núcleo lo está deteniendo) o se atasca esperando algunos datos o se bloquea, entonces el framebuffer no se va a llenar a tiempo.

El escenario ideal para el rendimiento, es un escenario 1:1, donde el framebuffer a renderizar está listo desde la CPU tan pronto como la GPU termina de renderizar el slice anterior.

Mi suposición en este caso es que el juego es en gran parte de un solo hilo (como la mayoría de las aplicaciones son) y en realidad utiliza muy CPU en un solo núcleo, pero todavía se las arregla para no mantener el ritmo debido a que el procesamiento es para instensos entre el código de representación (muy probablemente debido a la codificación descuidada).

Mide la carga por núcleo y deberías ver si ese puede ser el caso. También podría ser estados de espera en el bucle del juego, por lo que por alguna razón, ciertas operaciones toman mucho tiempo para hacer, por lo tanto la utilización de la CPU no sube (ya que no se hace ninguna carga de trabajo real), pero todavía se estanca, debido a la espera de algo ineficaz (como un recurso no almacenado en caché de streaming desde el disco).

JugonesTop.com

Jugonestop es una comunidad para amantes del gaming. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X