Undervolt y OC a través de PBO y limitar frecuencia máxima.
La teoría no es muy complicada.
Estamos apuntando a reducir/eliminar los picos de temperatura provenientes de alta densidad térmica, reducir temperaturas generales y alentar más boost.
Por lógica, el CO negativo alcanzable más bajo, debería de solventar el tema de la temperatura. Generalmente la media de CO que se alcanza con frecuencia de stock suele ser sobre -15/-20. Es bueno, pero ni se acerca a producir resultados suficientes. Eso pasa porque el voltaje solo es una cara de la moneda en el funcionamiento del boost. Simplemente he desplazado la curva de voltaje hacía abajo, pero no he afeitado los picos, no he modificado la curva. Verse MAX BOOST CLOCK override.
La frecuencia es la otra cara de la moneda, y como en un 5900x, 4.95ghz es 200mhz pasado del muro de voltaje, incluso con CO tuneado, el CPU seguirá empujando bien arriba de 1.4v.
Personalmente he aplicado un offset negativo de 250mhz.
Simplemente por haber modificado la frecuencia máxima, ambas curvas de frecuencia y voltaje se ven modificadas, es decir, como consecuencia de haber afeitado los picos de frecuencia, también los de voltaje, en otras palabras, los picos de temperatura provenientes de alta densidad térmica.
Por otro lado, al haber bajado la frecuencia máxima, ahora tengo un margen de CO enorme (verse conceptos y definiciones “relación de frecuencia y voltaje en un CPU” para comprender mejor el porqué)
En este grafico los valores, son temperaturas medias. No picos. Los picos son mayores, por lo tanto, las diferencias son algo más acentuadas. La diferencia máxima entre picos llega hasta 25ºC+.
Algunos de los valores son añadidos a mano ya que no tengo ni idea con que producir, porcentajes de carga media concretos. Valores reales: idle, navegacion, 10%, 20%, 35%, 55%, 100%.
Las expectativas de rendimiento es que incremente en cualquier tipo de carga (salvo test sintéticos de single core……es un poco obvio). Esperaba que con cargas que no se vieran bloqueados por la temperatura de boost, o power limits, todos los cores estuvieran pegados a 4.7ghz durante al menos el doble de tiempo comparado con stock………. Básicamente convertirlo en un turbo boost de Intel con la excepción de que guardaría un comportamiento residual del precision boost, según va subiendo la temperatura. En pocas palabras
una diferencia en la
frecuencia media (rendimiento) considerablemente más alta que de stock, que fuese reduciéndose según el CPU se acerca a 100% y a los power limits, pero sin tocar 0% (la diferencia de rendimiento)
Esto es una representación gráfica de lo que estoy tratando de describir contrastada con los resultados obtenidos.
Bueno pues……. mi teoría se cumplió……. al menos para 30% de las situaciones……… Como se puede apreciar más arriba, hay perdida de rendimiento y ganancia también……. muy lejos de lo que yo esperaba.
La pérdida de rendimiento ocurre por lo siguiente (fijarse en los niveles de la frecuencia, son gráficos con datos exportados del hwinfo64……los valores del eje horizontal debajo del grafico son segundos):
Stock
Todos los núcleos boostean hasta 4.7ghz sin el menor problema, pero la gran mayoría de ellos (no todos), se quedan boosteando durante menos tiempo que de stock. De hecho, hay 3 de ellos muy vagos, que se quedan como 70% del tiempo abajo, y un 4to core que está practicamente abajo. De ahí la perdida de rendimiento. Por otro lado, los 2 buenos, (los que de stock que habitualmente tratarían de estirar hasta 4.95ghz), se quedan casi pegados a 4.7ghz resultando en una frecuencia media en esos 2 núcleos, más alta que de stock. Se puede observar más abajo en las capturas de HWINFO64
……y ahí se fue la teoría de la razón de existir del XFR a la basura, porque se suponía que los juegos que usan pocos nucleos/hilos y tener unos cuantos arriba traería más rendimiento… esto pasa incluso en CS GO que es una carga que se mueve habitualmente en un nivel inferior a 10%.
Esta tendencia la provoca el undervolt vía CO. La he visto al hacer undervolt con frecuencias stock también.
Dicho lo anterior, según va subiendo la carga, los núcleos se van quedando cada vez
más tiempo arriba, aunque la frecuencia
máxima va empezando a bajar, resultando en una frecuencia
media que va acercándose y sobrepasando eventualmente la de stock.
Esto es porque hay un factor que he obviado en la curva V/F. El tiempo. No tengo ni idea, de cómo medirlo, anticiparlo o en base a que valores o criterios funciona.
Subiendo el TDC de los valores de stock (95A) a 110A se gana un buen 1.5%+ de rendimiento extra, aunque se me hace difícil medirlo de forma exacta, pero definitivamente está ahí. Si hay impacto en temperaturas, es imposible de medir. No es un ajuste, que más allá de ser un límite, tenga mucho juego. Aunque tampoco he jugado demasiado con él. En cualquier caso, si tuviese mucho juego sería poco práctico. Ganarías rendimiento a expensas de perder las ganancias en temperaturas, porque tiene un efecto global. Tambien el porcentaje de ganancia parece variar según la carga, pues con CSGO parece ser más bien un 2%+ mientras que cinebench apenas roza el 1%.
Aqui hay unos pocos resultados despues de limitar a 4.7ghz, -29,6 CO y 110TDC. El orden es stock y luego tuneado. No hay caja, y la velocidad del cooler es de 1000rpm fija. Temperatura ambiente 21.2ºC-21.5ºC
battlefield V.
Aqui hubo un error, pues tendría que haber subido la velocidad de los ventiladores para que en ambas pruebas la temperatura media, se quedara debajo de 72ºC, para que haya boost maximo. En cualquier caso un 0.7ºC, no es algo que suponga grandes diferencias en el boost.
CS GO
Cinebench
En resumen las ganancias son las siguientes. Desde 0 a 100% de carga.
Rendimiento: -1% a 6%.
Rango de ganancias en temperaturas: 16ºC a 0ºC. (25+ pico)
Esto esta todavia por la mitad...... ahora hay que empezar a revertir CO en los cores vagos para ver su efecto.
Me es dificil hacer recomendaciones generales, debido a que esto depende mucho de la situacion personal de cada uno y del modelo que tiene cada uno. En los CPUs como 5600 primero probablemente probaria a ver que nivel de CO puedo alcanzar y como se comporta de serie, en un 5950x probaria directamente con un offset negativo de 300 y si veo que tira con -30 iria subiendo frencuencia hasta verme forzado a bajar undervolt. El 5800x lo trataria más como un doble die que un single die, porque si bien de serie su maximo son 4.75ghz, la gran mayoria de placas tiene puesto 4.85 si no me equivoco y suele ser muy caliente por los power limits que lleva.
Desde luego esta no es la unica manera de entrarle a estos CPUs, ni tampoco estoy seguro de que sea la más rapida de llegar al estado optimo.
Lo que si puedo anticipar es que los single die, debido a que experimentarán mayores cargas de uso con cualquier tipo de programa, es menos probable que haya perdida de rendimiento, y el rango de ganancias en temperaturas deberia ser menor.
Las resultados variaran mucho para cada persona.