1. #1
    Rear Admiral
    Dabei seit
    Apr 2004
    Beiträge
    6.018

    Nvidia GeForce 8800 GT (G92) - Cool & Quiet

    [Diskussion] Nvidia GeForce 8800 GT (G92) - Cool & Quiet

    Inhalt
    1. Vorwort
    2. RivaTuner: automatische 2D- / 3D-Takt-Profile
    3. NiBiTor: Undervolting & Fanspeed IC
    4. nvFlash: BIOS unter DOS-Umgebung flashen
    5. Messergebnisse: Die Aussichten

    1.) Vorwort
    Nvidia konnte mit dem Grafikchip G92 ein schweres Laster seines Vorgängers, dem G80, in Form seines hohen Leistungsbedarfs und einer damit einhergehend hohen Wärmeverlustleistung zu Grabe tragen. Hierfür zeigen sich vor allem ein feinerer Fertigungsprozess in nun 65 nm Strukturbreite (G92) gegenüber ehemals 90 nm (G80) sowie eine geringere Betriebsspannung des Grafikchips verantwortlich. Insbesondere im Falle der GeForce 8800 GT spiegeln sich die Fortschritte bezüglich der Energieeffizienz auch in Nvidias Referenzkühler wider, welcher nun als eine Single-Slot-Lösung deutlich filigraner ausfällt. Dieser weiß die GPU unter den als kritisch angesehenen 100 °C zu halten (offiziell halten die Chips noch ein gutes Stück mehr aus) und ist dabei als verhältnismäßig leise zu bezeichnen. Allerdings dreht der Lüfter ab 88°C schnell auf, um Schlimmeres zu verhindern. Im Idle-Modus ist die Karte relativ leise, aber mit Temperaturen von um die 60 °C nicht wirklich kühl.

    Insbesondere im Idle-Modus ginge es dabei recht einfach etwas kühler, leiser und stromsparender, wenn Nvidia etwas für einen Stromsparmodus übrig gehabt hätte, wie er inzwischen nicht nur bei einer CPU von AMD oder Intel Standard ist, sondern auch beim Konkurrenten ATi mittlerweile in Form der PowerPlay-Technologie in einer Radeon HD 3800 implementiert wurde. Das HowTo wird zeigen, wie man einer G92-basierten GeForce 8800 das automatische Reduzieren des 2D-Takts beibringt, wie man ihre integrierte Lüftersteuerung an die eigenen Bedürfnisse anpassen kann und wie sich der Gesamtverbrauch durch eine Reduzierung der Betriebssapnnung weiter optimieren lässt.

    Vorab geht an dieser Stelle mein besonderer Dank an y33H@, GeneralHanno und LAW-Mastermind mit deren Feedback das HowTo stetig verbessert werden konnte.

    Zielsetzung
    Der Zusammenhang zwischen Leistungsaufnahme bzw. Betriebstemperatur auf der einen Seite sowie Taktfrequenz und Betriebsspannung auf der anderen Seite lässt sich mit folgender Formel beschreiben.
    P = U² * C * f
    mit:
    P.. Leistungsaufnahme
    U.. Betriebsspannung
    C.. dynamische (schaltende) Transistor-Kapazität
    f.. Chip-Frequenz
    Während man auf die Transistor-Kapazität keinen Einfluss nehmen kann, erweisen sich die Taktfrequenz und vor allem die Betriebsspannung als geeignete Parameter, um die Leistungsaufnahme und somit ihre Wärmeverlustleistung sinnvoll zu beeinflussen. Mit RivaTuner kann man mit etwas Aufwand eine Umgebung schaffen, in der eine G92-Grafikkarte automatisch mit reduziertem Takt arbeitet, wenn keine 3D-Last anliegt. Für die Betriebsspannung bleibt nur der Griff zum BIOS-Editor NiBiTor. Dieser hat mit einem G92 jedoch das grundlegende Problem, dass keine native Unterscheidung zwischen 2D und 3D möglich ist. Daher muss man sich hier für eine globale Betriebsspannung entscheiden. Wer auf Overclocking vorerst verzichten kann, wird die Betriebsspannung aber sehr warhscheinlich ohne Probleme reduzieren können. Mehr dazu im Abschnitt NiBiTor: Undervolting & Fanspeed IC.

    Tools
    Geändert von Sebastian (21.03.2008 um 17:40 Uhr) Grund: Anker im Inhaltsverzeichnis, Bild zentriert, Danksagung

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Rear Admiral
    Ersteller dieses Themas

    Dabei seit
    Apr 2004
    Beiträge
    6.018

    AW: [HowTo] Nvidia GeForce 8800 GT (G92) - Cool & Quiet

    2.) RivaTuner: automatische 2D- / 3D-Takt-Profile


    Hardware Monitor & Statistics Server
    Nachdem RivaTuner installiert wurde, geht man in den Hardware Monitor und lässt den Plugin Wizard die sinnvollsten Module vorab aktivieren indem man mit Yes bestätigt.



    Nachdem der Hardware Monitor erschienen ist, geht es unten rechts ins Setup, um noch eine weitere so genannte Data Source zu aktivieren. Hier ist ein Häkchen bei Hardware acceleration zu setzen, denn der Takt soll später in Abhängigkeit von der Hardware-Beschleunigung gesteuert werden können. Anschließend mit OK alle Schritte bestätigen und den Hardware Monitor schließen, bis nur noch das Startfenster von RivaTuner geöffnet ist.



    Die Hardware acceleration kann jedoch im Hardware Monitor nur dann wirklich angezeigt werden, wenn der Statistics Server von RivaTuner läuft und das so genannte Hooking der Hardware-Beschleunigung ermöglicht. Zum Statistics Server gelangt man über Start-Menü => Programme => RivaTuner => RivaTuner Statistics Server. Wird dieser aktiviert, nistet sich im System-Tray (Taskleiste) ein neues Icon ein.
    Mit einem Rechtsklick auf das Icon gelangt man über Setup zu den Einstellungen des Statistics Servers. Das Hooking ist hier standardmäßig bereits aktiviert und es ist nur noch oben links sicher zu stellen, dass der Server künftig mit Windows starten wird.



    System Tweaks
    Nun geht man in die System Settings, um die Taktprofile für den 2D- und den 3D-Betrieb der Garfikkarte definieren zu können.



    Die kommende Abfrage mit Detect now beantworten. Nun driver-level hardware overclocking aktivieren (Checkbox) und anschließend auf Übernehmen klicken. Nun kann der 3D-Takt über die Diskette, die bevor man auf Übernehmen geklickt hat noch ausgegraut war, als Profil gespeichert werden. Es sollte hierbei ein eindeutiger und aussagekräftiger Name wie z.B. 3D gewählt werden.



    Wie man anhand der Schieberegler erkennen kann, ist der Taktbereich nach unten begrenzt. Das macht insofern Sinn, als dass das System einfrieren kann, sobald man kritische Werte beim Untertakten einer Grafikkarte erreicht. Um jedoch das absolute Minimum herausholen zu können, muss das so genannte MinClockLimit außer Kraft gesetzt werden. Hierzu verlässt man nun vorerst das aktuelle Fenster System Tweaks und begibt sich in den Reiter Power user. Dort knipst man unter RivaTuner \ Overclocking \ Global bei MinClockLimit das Licht aus (Set value to 0).



    Zurück in den System Tweaks kann nun der minimale Takt für das 2D-Profil ausgelotet werden. Für die GeForce 8800 GT haben sich 150/375/300 MHz als stabil erwiesen. Wer noch weniger erreichen möchte, kann dies manuell ausloten, muss dabei aber mit Systemhängern oder Abstürzen rechnen. Man sollte übrigens das DropDown-Menü oben rechts ignorieren - dem G92 hat Nvidia es nicht beigebracht, zwischen verschiedenen Lastfällen zu unterscheiden und das Menü ist daher in diesem Fall wertlos.



    Daher bleiben wir einfach in Performance 3D und legen das 2D-Takt-Profil an. Das Vorgehen ist identisch zum eben bereits angelegten 3D-Profil. Nach dem Speichern als 2D sollte jedoch unbedingt noch das Häkchen für den Windows startup gesetzt werden, sodass die Grafikkarte direkt, nachdem Windows hochgefahren ist, herunter takten kann.


    Launcher - Regular items

    Damit RivaTuner die Chance bekommt, dem gesetzten Häkchen folgen zu können und 2D-Takt nach Windows-Start einzustellen, muss RivaTuner konsequenter Weise auch mit Windows starten. Das kann man in RivaTuner unter dem Reiter Settings einstellen. Dabei sollte man auch gleich ein Häkchen bei Send to tray on close setzen, denn RivaTuner wird mit dem Vorhaben, Taktprofile für 2D und 3D automatisch steuern zu lassen, zum ständigen Begleiter und sollte nie geschlossen sondern höchstens im System-Tray abgelegt werden.



    Anschließend definiert man unter dem Reiter Launcher zwei so genannte Regular items und zwar aus den eben erstellten Takt-Profilen.


    Scheduler
    Die beiden items müssen nun noch an den Tastk-Scheduler übergeben und mit sinnvollen Start- und Endbedingungen verknüpft werden. Diese Verknüpfungen müssen RivaTuner dazu befähigen, erkennen zu können, wann sich die Grafikkarte im 2D-Modus oder im 3D-Modus befindet. Hierzu kann man sich die Hardware acceleration zu Nutze machen. Im Folgenden wird daher von der Videobeschleunigung abhängig gemacht, ob automatisch 3D- bzw. 2D-Takt anliegen soll.

    Man wechselt also auf den Reiter Scheduler und fügt einen Task hinzu. Als Art des Task wählt man on hardware monitoring threshold event aus. Im Zuge dessen ist der Aktivierung des so genannten background hardware monitoring mit "Yes" zuzustimmen, damit der Scheduler die Hardware acceleration überwachen kann.



    In diesem Task wählt man als Data source wie erläutert die Hardware acceleration und setzt als Threshold den Wert 0.5. Diesen Task muss man zwei mal anlegen und zwar einmal mit dem item 3D und der Direction upward und einmal mit dem item 2D und der Direction downward. Die Screenshots zeigen, wie der jeweilige Task vollständig definiert wird.


    Backup

    Die Arbeiten in RivaTuner sind nun abgeschossen und der Aufwand war ohne Zweifel relativ hoch, nur um die Grafikkarte den Unterschied zwischen 2D und 3D zu lehren bzw. ihr entsprechende Takt-Profile mit auf den Weg zu geben. Da RivaTuner die Einstellungen größten Teils in der Windows Registry ablegt, kann man ein entsprechendes Backup aus dem Registry-Eintrag von RivaTuner erstellen. Dieses Backup muss nach einer zukünftigen Installation von RivaTuner einfach nur anschließend mit einem Doppelklick wieder in die Registry eingetragen werden, sodass RivaTuner wieder auf dem gewünschten Stand ist. Checkboxen bleiben hiervon unberührt. Dies betrifft also den automatischen Start von RivaTuner und den Statistics Server bei Windows startup, send to tray on close sowie in der Abteilung Overclocking die Checkbox zur Ausführung des 2D-Takts nach Windows startup. Die Häkchen sollten, nachdem das Registry-Backup eingetragen wurde, manuell gesetzt werden.

    Geändert von Sebastian (21.03.2008 um 17:42 Uhr) Grund: Neuer Weg für den 2D-/3D-Threshold (Hardware acceleration)

  4. #3
    Rear Admiral
    Ersteller dieses Themas

    Dabei seit
    Apr 2004
    Beiträge
    6.018

    AW: [HowTo] Nvidia GeForce 8800 GT (G92) - Cool & Quiet

    3.) NiBiTor: Undervolting & Fanspeed IC
    Um das Grafik-BIOS bearbeiten zu können, lässt sich der Hex-Code mit NiBiTor direkt von der Grafikkarte auslesen und modifizieren. Leider muss das modifizierte BIOS aber in einer DOS-Umgebung manuell mit nvFlasch auf die Grafikkarten geflasht werden. NiBiTor kann diese Aufgabe nicht übernehmen.
    BIOS einlesen
    Zunächst zeigt man dem BIOS-Editor, welche Grafikkarte zu bearbeiten ist bzw. wo das BIOS auszulesen ist.



    Nachdem die Karte gewählt wurde, wird als erstes über Read into file ein Backup des unberührten BIOS angefertigt.



    Anschließend wird das BIOS direkt in NiBiTor eingelesen. NiBiTor verfügt ab der Version 3.7a neben den üblichen Modi 2D, Thrtl und 3D über den neuen Modus Extra. Dieser Modus wurde erstmals mit dem G92 notwendig und ist auch der einzig wirksame für eine G92-GPU. Die anderen Modi sind in diesem Fall leider als antiquiert beziehungsweise unbrauchbar anzusehen.



    Wer möchte, kann hier Overclocking-Werte eintragen, die sich als stabil erwiesen haben. Da im Folgenden jedoch die Betriebsspannung reduziert werden soll, dürfte Overclocking höchstens noch bedingt möglich sein.

    Voltages
    Man wechselt in den Reiter Voltages und sollte die Spannung auf 0,95 Volt herab setzen. Anschließend geht es in den Reiter Temperatures, um an der Lüftersteuerung ein wenig zu feilen, denn diese sollte nach den vorangeganenen Arbeiten zur allgemeinen Steigerung der Energieeffizienz der Grafikkarte nun ein wenig angepasst bzw. leiser gemacht werden.


    Fanspeed IC - Lüftersteuerung
    Unter dem Reiter Temperatures geht es über den Button Fanspeed IC in die Lüftersteuerung (DataSheet*: Analog Devices ADT7473). Hier kann gerne etwas experimentiert werden, wobei im zweiten Fenster inerhalb der roten Rahmen ein Vorschlag mit sinnvollen Werten zu finden ist. Anhand dieses Vorschlags dreht der Lüfter minimal mit 20% statt ehemals 30%. Der Lüfter dreht ab 63°C hoch wobei TRange slope als Steigung für die temperaturabhängige Beschleunigung des Lüfters anzusehen ist - je größer TRange slope, desto flacher die Drehzahlkurve über der Temperatur. Mit der Checkbox Acoustic Enhacement lässt sich die Drehzahlkurve glätten, indem man den Lüfter verzögert auf Temperaturschwankunen reagieren lässt, was letzten Endes angenehmer fürs Ohr ist.


    *) Man kann für jede Temperatur die zugehörige Drehzahl U(T) ausrechnen:
    U(T) = [(T - TMin) / (0,015 * TRange slope)] + min Duty cycle
    Beispiel zu den vorgeschlagenen Werten im Screenshot: welche Drehzahl wird bei 80°C erreicht?
    U(T) = [(80°C - 63 °C) / (0,015 * 53,33 °C)] + 20% = 41,25%
    Man kann also über TRange slope den Anstieg der Lüfterdrehzahl beeinflussen. Je größer TRange slope desto langsamer steigt die Lüfterdrehzahl über der Temperatur an.


    Hinweis: Die gezeigten Werte stammen von einer GeForce 8800 GT rev1 mit einem 65-mm-Lüfter. Spätere Revisionen haben einen 75-mm-Lüfter und weisen hier dementsprechend abweichende Werte auf. Die hier zu ändernden Einträge bleiben gleich, aber es ist mit anderen Werten zu arbeiten, da der größere Lüfter mehr leistet. Hier ist ein wenig Experimentieren gefragt, bis die persönlichen Wunschwerte gefunden sind.


    BIOS speichern
    Das BIOS ist nun fertig bearbeitet. Die Spannung wurde auf den minimalen Wert reduziert und die Lüftersteuerung an den sparsameren Betrieb angepasst und insbesondere für 2D etwas leiser gemacht, indem die minimale Drehzahl von 30% auf 20% reduziert wurde. Die modifizierte Version des BIOS wird abschließend gespeichert, um sie später mit nvFlash auf die Grafikkarten flashen zu können.

    Geändert von Sebastian (22.03.2008 um 00:46 Uhr) Grund: DataSheet "Analog Devices ADT7473" verlinkt

  5. #4
    Rear Admiral
    Ersteller dieses Themas

    Dabei seit
    Apr 2004
    Beiträge
    6.018

    AW: [HowTo] Nvidia GeForce 8800 GT (G92) - Cool & Quiet

    4.) nvFlash: BIOS unter DOS-Umgebung flashen
    nvFlash kommt nun zum Einsatz, um das BIOS auf die Grafikkarte zu flashen. Entgegen der weit verbreiteten Meinung, das Flashen eines Grafik-BIOS sei eine riskante Angelegenheit, die einen schwarzen Bildschirm zur Folge haben kann, muss man gegen halten, dass das Flashen eines Mainboard-BIOS' weitaus gefährlicher ist. Denn auch bei einem Mainboard kann ein schwarzer Bildschirm Endstation sein, mit dem Unterschied, dass dann meist nichts mehr zu retten ist. Läuft aber bei der Grafikkarte etwas schief, so ist im Endeffekt nur eine PCIe-Steckkarte im System ausgefallen - technisch betrachtet. Der Rest läuft also noch und die wenigen notwendigen Schritte, um ein erneutes Flashen zu versuchen, sind im Notfall auch "blind" zu meistern. Es bietet sich dann an, das Backup des original BIOS zu flashen oder erneut zu versuchen, das modifizierte BIOS aufzuspielen, sofern man davon ausgeht, dass der Vorgang des Flaschens und nicht die Modifikation des BIOS Ursache für den schwarzen Bildschirm waren.

    Um mit nvFlash arbeiten zu können, muss dieses in einer nativen DOS-Umgebung ausgeführt werden und das Backup sowie das modifizierte BIOS müssen zur Verfügung stehen. Als Bootmedien bieten sich hierzu eine Floppy Disk, ein bootfähiger USB-Stick oder eine Boot-CD an. Das aus dem Internet geladene und anschließen entpackte Archiv von nvFlash muss neben den beiden BIOS-Dateien komplett auf ein solches Medium gespielt werden. Das Booten von Diskette hat sich als einfach erwiesen, da eine DOS-Startdiskette schnell über den Windows Arbeitsplatz formatiert ist. Eine DOS-fähige Boot-CD kann z.B. mit dem Brennprogramm Nero erstellt werden und für den USB-Stick sei an dieser Stelle auf die zahlreichen Anleitungen verwiesen, die über Google zu finden sind.

    Ist die DOS-Umgebung gebootet, wird das Flashen der zuvor erstellten Datei bios.rom mit folgendem Befehl eingeleitet.
    nvflash.exe -5 -6 bios.rom
    Wenn nvFlash geladen ist folgt noch eine Sicherheitsabfrage, wird diese bestätigt, ist in wenigen Sekunden das neue BIOS aufgespielt. Nach dem Vorgang ist mit der Tastenkombination Alt + Strg + Entf neu zu booten und es kann wieder nach Windows gewechselt werden.
    Geändert von Sebastian (11.03.2008 um 23:47 Uhr)

  6. #5
    Rear Admiral
    Ersteller dieses Themas

    Dabei seit
    Apr 2004
    Beiträge
    6.018

    AW: [HowTo] Nvidia GeForce 8800 GT (G92) - Cool & Quiet

    5.) Messergebnisse: Die Aussichten
    Wie verhält sich die Grafikkarte nun konkret nach getaner Arbeit? Ein Blick in den Hardware Monitor nach sechs Loops im GPU-Benchmark von Crysis zeigt, wie die Karte automatisch hochtaktet, nachdem der Videospeicher mit mehr als 20 MB gefüllt wurde. Die Lüftersteuerung läuft im 2D-Betrieb mit leisen 20% Fan duty cycle und dreht erst mit entsprechender Temperatur auf, um die Grafikkarte bei gut 80°C mit etwa 40% Fan duty cycle zu halten.
    standard (1,05 Volt) vs. optimiert (0,95 Volt; 2D/3D)

    Die folgenden Balkendiagramme geben einen Überblick darüber, wie der Betrieb der Grafikkarte optimiert werden konnte. Dank eines niedrigeren 2D-Takts sowie der reduzierten Betriebsspannung verbraucht eine Nvidia GeForce 8800 GT im idle-Modus 12 Watt weniger als zuvor. Unter Last sind allein durch die niedrigere Betriebsspannung von 0,95 Volt gegenüber 1,05 Volt beachtliche 24 Watt Ersparnis zu verbuchen. Die Temperaturen liegen dabei trotz geringerer Lüfterdrehzahl auf angenehmen 57°C in 2D und 81°C unter Last gegenüber ehemals 64°C beziehungsweise 94°C.




    Testsystem
    • Grafikkarte: EVGA e-GeForce 8800 GT (600/1500/900 MHz)
    • Mainboard: abit AW9D-MAX (Intel Glenwood i975X)
    • Prozessor: Intel Core 2 Duo E4300 @ 3,15 GHz (EIST aktiv)
    • Arbeitsspeicher: 2 GB CellShock V² (DDR2-800 @ 350 MHz)
    • Festplatte: Western Digital Raptor 150 GB
    • Sound: Creative X-Fi Xtreme Music
    • Netzteil: Corsair VX450
    • Messgerät: Voltcraft Energy Monitor 3000
    Geändert von Sebastian (12.03.2008 um 01:33 Uhr) Grund: Testsystem aufgeführt

Mifcom PBA

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Forum-Layout: Feste Breite / Flexible Breite