Por qué no se necesitan procesadores con tantos núcleos o hilos para jugar

Escrito por Manuel Santos

Siempre que nos decidimos por montarnos un nuevo ordenador de altas prestaciones, invertimos mucho dinero en los procesadores y las tarjetas gráficas. Tendemos a pensar que el procesador que hay con más núcleos es el que necesitamos, sin embargo, esto no es siempre así y depende mucho del uso que vayamos a hacer de nuestro PC.

Los procesadores con un elevado número de núcleos o de hilos no tienen por qué ser la mejor opción de compra, menos si lo que vamos a hacer principalmente con nuestro ordenador es jugar.

¿Para qué sirven tener una CPU multinúcleo?

Cuando disponemos de varios núcleos en nuestros ordenadores, la CPU es capaz de paralelizar. Esta técnica sirve para que un programa pueda “dividirse en partes” y ser ejecutado por los distintos núcleos de nuestro procesador. Gracias a esto podremos conseguir resultados mucho antes que si se hace en un sólo núcleo. Hasta aquí todo bien, ¿entonces porque en los juegos no nos sirve tener más núcleos en el procesador? Que un procesador pueda paralelizar no implica que todos los programas sean paralelizables.

En rasgos generales, para que un programa se pueda paralelizar este ha de tener instrucciones que no dependan unas de otras. Por ejemplo, pueden beneficiarse de los sistemas multinúcleo con un número de núcleos importante sistemas dedicados a la edición de video, cálculos meteorológicos o de resolución de diferentes problemas.

Un juego no necesita muchos núcleos, necesita mucho rendimiento

Para ejecutar un juego necesitamos un dispositivo capaz de resolver grandes cálculos y ese es la GPU, sin embargo, esta no puede ejecutar las instrucciones cuando quiera. Cada parte del código del juego debe ejecutarse en el momento apropiado y para ello tenemos a la CPU. La GPU realiza grandes cálculos que resuelven lo que estamos haciendo actualmente en el juego, como por ejemplo, el movimiento de un brazo del personaje, no obstante, es el procesador el que le pide que realice ese cálculo en ese momento.

El procesador es fundamental para la correcta ejecución de un juego, ya que es el encargado de decirle a la GPU cuándo debe realizar cada cálculo. Es muy difícil para los programadores encontrar la fórmula para hacer que el código de los juegos que diseñan sea fácil de paralelizar y, por tanto, un procesador no tiene mucho que dividir a la hora de comunicarse con la CPU.

nucleos apu amd raven ridge

La industria está trabajando en la paralelización

Poder paralelizar un juego triple A es uno de los problemas que está intentando resolver la industria, mientras tanto, lo más aconsejable es coger el dinero del presupuesto dedicado a un carísimo procesador con un gran número de núcleos, y dedicarlo en uno que tenga un número de núcleos más reducido pero una mejor frecuencia de reloj y arquitectura. Ya que gracias a esto podrás conseguir mejores resultados en la ejecución de tus juegos.

La propia AMD lo ha demostrado con los Ryzen, ha conseguido un gran procesador para juegos con tan sólo cuatro núcleos, pero una arquitectura y frecuencias que hacen que tenga un muy buen rendimiento por núcleo.

Continúa leyendo
  • fulanodetal

    Hoy en dia, cuantos mas nucleos mejor, ya que no hay CPUs de 7 Ghz, creo que desde 2014 los juegos ya están optimizados para multinucleo gracias a PS4 y Xbox One.

  • El tema de los procesadores multi-núcleo respecto a los videojuegos es que hay que programar para cada uno de esos núcleos y no es fácil. Lo que no entiendo es que tanto lenguaje de programación y tal, y no haya alguno que automatice eso, es decir que exista una serie de instrucciones específicas, para que se asigne una tarea a cada núcleo de manera automática. De tal manera que sepa antes si hay algún núcleo sin una tarea asignada.

    Por otro lado no es solo la frecuencia de reloj, un procesador es más importante una caché alta L2 y L3 (Level o Nivel), que su frecuencia. Un procesador con una frecuencia de reloj baja (salvo que sea muy baja o exista mucha diferencia) con una caché de 16 MB, va a ser mejor que otro con una frecuencia de reloj más alta con 8 MB. Eso si, por lo general esta caché se distribuye por cada núcleo. Es decir si tenemos una caché de 8 MB y 8 núcleos a cada núcleo le corresponde 1 MB

    Luego influye la distribución de los núcleos y la distribución de la caché. Por ejemplo si dentro del procesador tienes la caché muy alejada de los núcleos, el rendimiento será muy pobre, respecto a si la tienes más cerca. Además si conectan los núcleos entre ellos de varias formas o por varios caminos, el rendimiento será mayor. Es como comparar una autovía si tiene solo dos carriles en cada sentido, los vehículos irán mucho más lento e incluso pueden existir retenciones. En cambio si tienes cuatro carriles en cada sentido, los vehículos irán más rápido y las posibilidades de saturación serán menores.

    Salu2

  • San Denis

    “un procesador no tiene mucho que dividir a la hora de comunicarse con la CPU?”

  • Creo que hay mucha confusion con multi-hilo, multiprocesador, paralelizar…
    Puedes programar en visual y usar sistemas que ya tiene pre-fabricados el lenguaje para correr diferentes hilos y eso funciona bien incluso en procesador de un solo nucleo.
    En los juegos el trabajo pesado lo hace la gpu, no hay muchos motivos para usar muchos nucleos, porque con un par de hilos o 3 basta para todo lo que se necesita la cpu y eso se hace simplemente con multitaqrea preemptiva.
    En un juego no ocurre todo al mismo tiempo y no vas a notar retardos de mili- segundos
    Se estan montdo maquinas gamming con procesadores i3 y similares con una gforce 1080ti, 8 gigas de ram, y tiran de cualquier juego sin problemas