22 feb 2012

Overclocking/downclocking de tarjetas gráficas Nvidia: Alarga la vida de tu portátil


Debido a la normativa RoHS, las soldaduras de los componentes se rompen con más facilidad con los cambios bruscos de temperatura, por lo que si queremos que nuestro aparato electrónico dure todo lo posible, tenemos que evitar estos sobrecalentamientos. 

 Aparte de cuidar la limpieza de los ventiladores (cada año al menos), también podemos reducir el voltaje/frecuencia de funcionamiento de los componentes del equipo; incluso hay formas de hacerlo por software sin poner en peligro su funcionamiento, aquí tenéis una guía estupenda sobre ello. En esta entrada vamos a ver cómo cambiar la velocidad de trabajo de una Nvidia modificándole la BIOS. 


Si tienes un portátil con una tarjeta gráfica Nvidia potente, puedes alargar la duración de tu batería mucho si bajas la frecuencia de trabajo de tu tarjeta gráfica, además de alargar la vida de la propia gráfica, y del portátil, todo ello sin afectar al rendimiento de juegos, y manteniendo el funcionamiento tan estable como antes o más (estamos exigiendo menos a la tarjeta).
Además, Windows Vista y 7, utilizan el 3D para el escritorio "Aero", por lo que cada vez que abrimos una ventana, el efecto 3D utiliza la gráfica, con lo que demanda toda la potencia de la misma, cuando en realidad le basta con una parte, por lo que si no usamos el portátil para juegos o 3D, podemos ajustar un poco la velocidad de la tarjeta, sin llegar a tener que desactivar el escritorio 3D, ahorrando batería, que en un portátil puede ser indispensable.
Además, si nuestra tarjeta lo permite, también podemos reducir el voltaje de funcionamiento de alguna de las frecuencias de trabajo, ahorrando todavía más energía. Pero esto requiere un testeo previo.

Las modernas tarjetas Nvidia tienen, de forma similar a los procesadores, varios "escalones" de rendimiento o frecuencias de reloj de trabajo, a los que se ajusta automáticamente según demandemos más potencia gráfica o menos. Por ejemplo, si vemos una película, es posible que suba su potencia al 50 o 75% de capacidad, mientras que si jugamos a un juego 3D, subirá al 100%.


Downclocking de una tarjeta
En este caso la tarjeta 
GeForce 9600M GT  tiene 4 frecuencias de trabajo:
  • 2D: La más baja, que es la básica, la utilizada por ejemplo mientras usamos programas de edición de textos, navegadores web, etc, que no tengan aceleración 3D.
  • Throttel: Este estado es el que selecciona la tarjeta cuando la temperatura supera un determinado nivel, para poder seguir dando algo de rendimiento a la vez que controlar la temperatura.
  • 3D: Cuando el controlador detecta que se está usando un programa 3D.
  • Extra: Este modo es en el que corren los videojuegos sobre todo, los que más demandan 3D.
Utilizando GPU-Z para monitorizar frecuencias y temperaturas, a menudo me encuentro en mi portátil, sólo por mover una ventana o ver una película, está usando una potencia gráfica que no necesita, y demasiado tiempo, malgastando batería.

Para cambiar la frecuencia de trabajo de la tarjeta de forma temporal y segura podemos usar Ntune (descarga alternativa) o Riva Tuner (mirror), dos programas que te permiten ajustar la velocidad "al vuelo" de la gráfica, con lo que podremos comprobar qué tal se desenvuelve el ordenador en otras frecuencias.

Sin embargo determinadas frecuencias suelen estar "bloqueadas" de fábrica, para impedir daños a la tarjeta por parte de los usuarios. 

Una vez sabemos qué velocidades mínimas soporta el modo 2D por ejemplo, podemos "grabar" estos parámetros en la Bios, de forma que la tarjeta consuma menos siempre, incluso cuando el ordenador arranca, cambiándolos a bajo nivel en la BIOS Nvidia de la tarjeta utilizando NiBiTor (alternativa).
Atención: Lo siguiente es sólo para geeks o para experimentados en informática. Nivel de riesgo: Medio.
Modificando la BIOS de la tarjeta gráfica
Esta es una guía para modificar la GPU a "bajo nivel", permitiéndonos obtener más de nuestra tarjeta al adaptarla a nuestras necesidades y gustos. ESTO NO LO CUBRE LA GARANTÍA.
En vez de usar programas que cambian de forma limitada la velocidad del procesador de la CPU/memoria, podemos hackear la BIOS de la tarjeta de vídeo y volver a flashearla para hacerla funcionar con otras velocidades de reloj.

También puedes usar esta guía para actualizar la BIOS de tu tarjeta de vídeo a las últimas versiones del fabricante.

Ventajas
  • Funcionará siempre, aunque no puedas cambiar la velocidad con Ntune o similares.
  • Aunque actualices los controladores, la velocidad programada se mantendrá siempre.
  • Se puede utilizar tanto para subir la velocidad como para bajarla.
Desventajas
  • Riesgos mucho más altos de dejar la tarjeta inutilizable; para reducirlos al mínimo sólo recomiendo subir el parámetro "Extra" (de esta forma sólo se bloqueará en los juegos y podrás volver a bajar el tope). En caso de hacer "Downclocking" o bajar la velocidad, hay que comprobar antes si esas frecuencias las tolera la tarjeta con programas como NTune, o cambiando los valores sólo en el apartado "Extra".
  • Encontrar los límites de la tarjeta utilizando sólo este sistema puede llevar mucho tiempo de ensayo y error.
  • Un error y la tarjeta no volverá a funcionar (los chicos de MXM-Upgrade.com te pueden ayudar en este peliagudo caso, pero tendrás que pagar y esperar).
  • La garantía queda anulada.
  • Frecuencias de reloj con un controlador pueden no ser estables con otro.
Qué necesitas para ponerte a ello
Crear disco de arranque
Hay tutoriales por toooodo internet, pero os lo repetiré aquí:
  • Extraer los archivos DOS del zip, e instalar el programa de HP
  • Inserta tu pincho en un USB, y comprueba que no tienes nada útil en él, pues se formateará XD
  • Configura el programa como sigue:

    Y donde dice "using DOS file located at", pincha en el botón y selecciona el directorio donde extrajiste los archivos de arranque DOS.
  • Pincha en "Start" y tras un rato estará listo.
Cambiando las velocidades de reloj de la tarjeta
Primero utiliza Ntune o Riva Tuner para comprobar qué frecuencias admite la tarjeta (la velocidad de GPU y Shaders están correlacionadas), si no lo haces es fácil que te cargues la tarjeta con parámetros erróneos.
  • Abrir GPU-Z y guardar la BIOS como se indica en la siguiente imagen, dándole a "Save to file":

    Así guardaremos la BIOS original de la tarjeta, para poder editarla en Nibitor. Cámbiale la extensión a .rom
  • Abrir Nibitor y cargar la BIOS con "File" -> "Open BIOS"; si no le has cambiado la extensión, no lo verás, porque NiBiTor busca por defecto por los archivos acabados en .rom y GPU-Z los guarda con .bin.
  • En la siguiente página puedes cambiar las frecuencias de trabajo:

    Estos son mis ajustes, y son los que recomiendo para la 9600M GT (versión portátil). Todos han sido reducidos, excepto los "Extra", por si alguna vez requerimos toda la potencia de la gráfica, para algún juego casual.
    Aconsejo encarecidamente no cambiar nada que no se comente aquí sin saber para que puede servir, pues podéis hacer que vuestra tarjeta no vuelva a mostrar imagen nunca más.
    En el caso de que queramos probar a aumentar también la potencia para juegos, mientras que la reducimos para todo lo demás, podemos probar a subir un 5% los valores de apartado "Extra", de forma que le subimos la frecuencia para juegos.No es recomendable subirlos más de un 8-10%.
  • También podemos cambiar el voltaje al que funciona la tarjeta para cada frecuencia de trabajo. En el caso de esta tarjeta, está programada para aumentar su voltaje a la hora de jugar, lo que provoca que se sobrecaliente y gaste más energía. El fabricante lo hace así para que sea más estable a altas frecuencias de trabajo, calculando que la vida de un portátil no suele ser superior a 6 años. En esta tarjeta yo los he dejado así, todos al mínimo, y sigue funcionado igual:
  • Una vez que tenemos los dos cambios listos (no cambiéis nada más si no queréis arruinar vuestra tarjeta), procederemos a guardar la BIOS con estos cambios: File -> Save Bios -> (guardar como OC para diferenciar) asegurándote de que se guarda con la extensión .rom.
Flaseando la BIOS de tu tarjeta gráfica
  • Antes de nada hay que copiar al pendrive o pincho de memoria que hemos preparado, los archivos de NVflash, el archivo hackeado de la BIOS (que hemos guardado con el nombre "OC", y el archivo original por si hiciera falta :
     
  • Reinicia el sistema y cambia la opción de arranque en la BIOS para que inicie con el USB (en algunos equipos puedes cambiar la unidad de arranque temporalmente presionando F10 o F12).
  • Una vez has arrancado con el pincho en modo Dos escribe: nvflash -4 -5 -6 OC.rom y pulsa [Enter]: 
  • Si todo ha ido bien, ya puedes quitar el pincho y reiniciar el equipo.
  • Si no pudieras entrar en windows, arranca en msdos y flashea la BIOS original: nvflash [nombre del archivo original].rom y pulsa [Enter].
  • En Windows puedes comprobar las frecuencias con GPU-Z. Deberían ser las que pusiste, si dejaste flasheada la OC.rom.
Comprobando la estabilidad
Yo utilizo OCCTP  (alternativo), un buen programa para comprobar tanto la CPU, como la memoria y la tarjeta gráfica, con informes detallados y detección de errores. Otra forma es usar 3D marks y dejarlo correr durante una hora al menos.
También puedes usar Futuremark para comprobar el desempeño con OpenGL.
O juega a algunos juegos durante unas horas, uses el método que uses, si no ves fallos en pantalla durante el juego (corrupción de la imagen; colores fuera de lugar), todo estará correcto.

Fuente: Manual basado en la guía de Dox (inglés)

Más info:
Guía en Noticias3D sobre Overclocking/Underclocking por software
Undervolting guide on NotebookReview.com
Guía para reducir el voltaje de un procesador o tarjeta gráfica
Modificando la BIOS con NiBitor (Tom's Hardware)

1 comentario:

  1. ¿Por donnde seria posible buscar unn poco mas de asesoria
    acerca de el asunto?Me ha agradado infinitamente.

    ResponderEliminar

Puede dejar su comentario, que tratará de ser moderado en los días siguientes. En caso de ser algo importante/urgente, por favor utilicen el formulario de arriba a la derecha para contactar.