Kurzer Hinweis: Ich weiß, dass dies eine Frage-und-Antwort-Seite für Spieleentwickler ist, aber ich vermute, dass ihr am allermeisten Bescheid wisst und Erfahrung mit Grafikkarten habt, also adressiere ich diese Frage an euch. Wenn Sie der Meinung sind, dass dies nicht zum Thema gehört, verweisen Sie mich bitte auf eine geeignete Site / ein Forum. Bearbeiten: Eigentlich hat es mit Gamedev zu tun: Wenn ein fehlerhafter Code zur Überhitzung oder Zerstörung der Karte führen kann, sollten Spieleentwickler dies berücksichtigen und sicherstellen, dass ihre Anwendungen dies nicht tun.
Dies mag wie eine seltsame oder dumme Frage erscheinen, aber ist es tatsächlich möglich, eine solche Grafik-Rendering-Anwendung zu schreiben, die die Grafikkarte (auf irgendeine Weise) beschädigen kann?
Der unmittelbare Grund, warum ich diese Frage gestellt habe, war (keine Überraschung) meine kaputte Grafikkarte. Nachdem es repariert wurde, sagte der Servicemann, dass verschiedene Apps (Spiele) darauf getestet wurden und es gut funktionierte. Als ich jedoch meine eigene App (Deferred Shading Demo) startete, wurde sie auf über 100 Grad Celsius erhitzt. Es stellte sich heraus, dass meine Karte immerhin nicht repariert war. Wichtig hierbei war jedoch, dass das Problem nur beim Ausführen meiner eigenen App auftrat.
Ich habe verschiedene GPU-anspruchsvolle Spiele darauf gespielt (wie Crysis) und oft bis an die Grenze und mehr geschoben (Einstellungen waren so hoch, dass die Spiele mit 5 FPS liefen), auch einige Benchmarks ... Also habe ich gegeben Meine Karte war oft so belastet, dass sie nicht aufholen konnte (daher niedrige FPS), aber nie gefährliche Temperaturen erreichte. Aber meine eigene Anwendung hat das geschafft (zumindest wenn die V-Synchronisation ausgeschaltet war). : P Da es nur meine eigene App war, glaube ich nicht, dass ein schlechtes Kühlsystem der Schuldige war.
Also frage ich mich: Denken Sie (oder wissen Sie vielleicht), ob es möglich ist, die Grafikkarte (auf irgendeine Weise, nicht nur durch Überhitzung) durch einen bösartigen Code zu beschädigen?
Aktualisieren:
Joe Swindell sagte, dass Überhitzung das Problem sein kann (nun, es kann definitiv die Karte brechen). Aber sollte ein richtiges Kühlsystem das nicht verhindern (unter keinen Umständen)?
Boreal wies auf ein anderes Problem hin. Wenn ich das richtig verstehe, ist FPS sowohl an die CPU als auch an die GPU gebunden (stimmt das?). Niedrige FPS können entweder eine hohe CPU- Auslastung oder eine hohe GPU- Auslastung anzeigen . Aber auch hier gilt: Sollte ein ordnungsgemäßes Kühlsystem die Überhitzung der GPU nicht verhindern, selbst wenn die Karte "ständig zu 100% ausgelastet" ist?
Antworten:
Es liegt nicht in der Verantwortung der App, sicherzustellen, dass die GPU nicht überhitzt, und es ist nicht die Schuld der App, wenn sie überhitzt.
Wenn die GPU nicht richtig gekühlt ist, kann sie durch Ausführen einer 3D-App auf gefährliche Werte gebracht werden. Ich weiß nicht, warum Ihre App dies tut und Crysis dies nicht, aber es bedeutet, dass die Karte nicht ausreichend gekühlt ist und / oder dass Fehler aufgetreten sind (Übertaktung oder andere Werkseinstellungen / Treiberänderungen).
Abgesehen von Überhitzung kenne ich keine andere Möglichkeit, mit der Software den Chip, auf dem sie ausgeführt wird, physisch beschädigen könnte. Das sollte eigentlich nicht möglich sein; Es wäre ein sehr schwerwiegender Designfehler.
quelle
Es ist in freier Wildbahn passiert.
Starcraft II im Jahr 2010 hatte ein Problem, bei dem auf den Menübildschirmen eine unbeschränkte Framerate auftrat, die die Grafikkarten merkwürdig belastete und die Karten einiger Hersteller mit unzureichendem Wärmeschutz zerstörte.
Konstruktions- und Herstellungsfehler in der GPU selbst können auch dazu führen, dass sich die Karte unter Last selbst zerlegt. Die mobilen G84 / G86-GPUs hatten Lötstellen, die bei akzeptablen Temperaturbelastungen brachen und schließlich brachen. Wir haben auch den berüchtigten Roten Ring des Todes der XBox 360, der ähnliche thermische Probleme mit Lot und Ausdehnung hat.
All dies ist eine Mischung aus Hardwaredefekten und unzureichenden thermischen Designs, die durch die Softwarelast verstärkt werden.
quelle
Ihre Frage ist viel komplexer als das, was Sie geschrieben haben. Ich würde sagen, die allgemeine Frage lautet "Kann Software Hardware beschädigen?", Und die Antwort darauf lautet definitiv "Ja".
Allerdings kann theoretisch nicht die gesamte Hardware über Softwarebefehle zerstört werden, aber schließlich sendet die Software elektrische Signale an sehr empfindliche Hardwarekomponenten. Je empfindlicher eine Hardwarekomponente ist, desto wahrscheinlicher ist es normalerweise, dass sie beschädigt wird, wenn sie nicht wie vorgesehen behandelt wird.
Es gibt eine Menge lustiger Möglichkeiten, wie Hardware kaputt gehen kann, aber betrachten wir nur die Überhitzung: Bei der Verarbeitung entsteht Wärme, und diese Wärme muss irgendwohin gehen. Abhängig von den Dissipationseigenschaften Ihrer Karte, dem Luftstrom im Gehäuse und der Gesamttemperatur im Raum kann die Wärmemenge, die dem System entzogen wird, mehr oder weniger als die von ihm erzeugte Wärmemenge betragen.
Wenn Sie die Grafikkarte auffordern, Arbeiten auszuführen, bei denen mehr Wärme erzeugt wird, als effizient abgeführt werden kann, steigt die Chiptemperatur. Wenn Sie es am Laufen halten, steigt die Temperatur über das sichere Betriebsniveau und der Chip bricht, verliert seinen magischen Rauch und verursacht möglicherweise sogar eine Brandgefahr. Du hast gerade deine Grafikkarte kaputt gemacht, ich hoffe du bist glücklich.
Können Sie eine Software schreiben, die dies tut? Ich würde höchstwahrscheinlich nicht sagen. Jedes Programm (auf Benutzerebene), das Sie schreiben, kommuniziert nicht direkt mit der Grafikkarte. Es gibt viele Schutzmaßnahmen, die diese Situation verhindern sollen, und alle müssen fehlschlagen, damit Ihr Rendering-Programm Ihr Haus verbrennt.
Im Allgemeinen sind Wärmeableiter und Lüfter so konzipiert, dass sie die maximale Wärmemenge, die die Karte erzeugt, selbst in schlecht belüfteten Fällen in heißen Klimazonen (innerhalb der vom Hersteller angegebenen Betriebsbereiche) bequem abführen können.
Wenn die Wärmeerzeugung größer als die Wärmeabgabe ist, ist die erste Verteidigungslinie der Fahrer. Die meisten Treiber überprüfen die Kerntemperatur der GPU, und wenn sie steigt, kann der Treiber die Anzahl der Anweisungen, die er an die GPU sendet, begrenzen, um zu verhindern, dass mehr Wärme erzeugt wird.
Sollte dies fehlschlagen, sollte die Firmware in der Grafikkarte erkennen, dass sich gefährlich viel Wärme ansammelt, und daher die Taktrate verringern, um die Wärmeerzeugung zu verringern.
Wenn sich danach immer noch Wärme aufbaut, schaltet eine in den meisten modernen CPUs und GPUs verfügbare Thermodiode die Grafikkarte vollständig aus und die Wärmeerzeugung wird gestoppt.
Wenn Sie also Ihre teure Grafikkarte durch Überhitzung von einer Anwendung auf Benutzerebene trennen möchten, benötigen Sie zusätzlich zum Erstellen einer Software, die das System maximal beansprucht, Folgendes:
Ein defektes oder defektes Wärmeableitungssystem. Stecken Sie einfach Ihren Finger in den Lüfter (immer in der Mitte, nicht in den Flügeln), um den Trick zu machen. Schwierigkeit: Einfach
Ein benutzerdefinierter (oder fehlerhafter) Treiber mit deaktivierten oder fehlerhaften Drosselfunktionen. Schwierigkeit: Normal
Eine benutzerdefinierte Firmware mit deaktivierten oder defekten Funktionen zur Taktreduzierung. Schwierigkeit: Schwer
Eine kaputte Thermodiode. Wenn Sie die Thermodiode ständig auslösen, kann sie beschädigt werden. Schwierigkeit: Sehr schwer
... aber nicht unmöglich! Probieren Sie es einfach aus *, aber stellen Sie sicher, dass Sie das Telefon Ihrer Feuerwehr zur Hand haben, wenn Sie es tun.
*: Das ist Sarkasmus. Ich dulde in keiner Weise die Entstehung einer Brandgefahr oder Aktivitäten, die Ihnen, Ihrer Familie, Ihrem Hund oder Ihrer Gemeinschaft in irgendeiner Weise schaden könnten. Durch das Lesen dieses Beitrags entbinden Sie mich vollständig von jeglicher Verantwortung, die Ihre Handlungen mit sich bringen könnten.
quelle
Selbst wenn VSYNC deaktiviert ist, können viele Spiele nicht einmal 98% der GPU-Auslastung erreichen. Je realistischer das Gameplay, desto weniger Frames können inszeniert werden und desto wahrscheinlicher wird die GPU nicht ausgelastet. Gute, für mehrere Kerne optimierte Spiele können einer GPU-Auslastung von 100% erheblich näher kommen, aber die Gameplay-Logik hält die CPU im Allgemeinen mit anderen Aufgaben so beschäftigt, dass sie die GPU bei voller Auslastung nicht auslasten kann. Reine Rendering-Anwendungen erreichen problemlos eine GPU-Auslastung von 100%, Spiele können jedoch viel mehr als nur rendern.
Nebenbei bemerkt, auf meinem Heimcomputer erzeugt meine GPU unter hoher Last erhebliche EMI und stört das billige integrierte Audio auf meinem Motherboard. Ich kann über das analoge Audio, dessen Frequenz sich mit der Last ändert, ein hohes Jammern hören. Ich habe Spaß daran und betrachte es eher als eine Funktion als als einen Designfehler. Es macht die Profilerstellung interessant, da ich den Lastpegel tatsächlich hören kann , ohne einen GPU-Leistungsindikator abtasten zu müssen. Ich nehme jedoch an, wenn Sie ein Gerät haben, das hochgradig EMI-empfindlich und unzureichend abgeschirmt ist, kann dies ein Problem sein. Eine hohe GPU-Last kann zu einem Ausfall eines anderen Geräts führen.
quelle
Überhitzung bricht Ihre Grafikkarte. Wenn Sie eine massive Datenschleife werfen, die nicht verarbeitet werden kann, kann Ihre Karte, wie Sie gesehen haben, abstürzen und möglicherweise dauerhaft beschädigt werden.
quelle
Ja, kann es.
Kann mit guten Kühlsystemen vermieden werden. Das Aktivieren von V-Sync ist auch eine gute Möglichkeit, dies zu vermeiden. V-Sync verhindert, dass die GPU Bilder mit einer höheren Geschwindigkeit ausgibt, als der Monitor verarbeiten kann. Dies sind Bilder, die normalerweise verworfen werden und nie gesehen werden.
Weniger Frames = weniger Verarbeitung = weniger extremer Arbeitsaufwand.
Es ist auch wichtig, die Fähigkeiten der GPU im Auge zu behalten. Ich stelle mir vor, dass die Programmierer von Crytek den Code geschrieben haben, damit jemand seine Grafikkartenfähigkeiten überschätzen kann. Ich bin mir sicher, dass dies eine Funktion ist, die viele GPU-Besitzer und viele unwissende GPU-Besitzer vor Frustration bewahrt hat.
Kann durch sorgfältige Codierung und doppelte Überprüfung zur Laufzeit vermieden werden. (Aber es gibt immer Bugs. Wenn nicht, dann weil sie mit dir spielen.)
Dies kann durch sorgfältige Codierung und doppelte Überprüfung zur Laufzeit vermieden werden.
quelle
Ein Wort Antwort: JA.
Ausführliche Antwort: Ja. Es kann (in bestimmten Situationen). Stellen Sie sich vor, Sie schreiben ein Programm, das Daten drastisch in eine Endlosschleife auf Ihre GPU überträgt. Es ist sicher, dass es überhitzt wird. Ist es nicht wieder die Verantwortung des Kühlsystems, sich darum zu kümmern? Natürlich ist es das. Sie sollten sich aber auch daran erinnern, dass das Kühlsystem auch einige Schwellenwerte aufweist. Wenn die erzeugte Wärme außerhalb des Betriebsbereichs Ihres Kühlsystems liegt, ist Ihr Kühlsystem kaum von Nutzen. Ich weiß nicht, was Ihre App tut, aber wenn Sie mit der Perspektive eines Programmierers sprechen, können Sie solche Programme schreiben, die zu einer solchen Situation führen.
quelle
Das Installieren eines nicht übereinstimmenden Treibers mit der tatsächlich verwendeten Karte kann leicht zu dauerhaften Schäden führen. Mein Freund hat es irgendwie geschafft, durch wiederholte Neuinstallation des Betriebssystems und physische Änderung der Festplatte.
Schalten Sie Ihren PC häufig ein und aus. Ich bin mir nicht sicher, ob dies zu Fehlern führen kann, aber es ist sehr gut möglich. Wie auch immer, hört sich nicht nach einer
software
Möglichkeit an, dies zu tun.Ändern Sie die Stromstärke im System, indem Sie die stromverbrauchenden USB-Geräte ein- und ausschalten (Beispiel: Externe Festplatte, die keinen eigenen Strom verbraucht). Dadurch werden meine Tastatur und meine Maus bis zum nächsten Neustart immer unbrauchbar und es wurden (über 2 Jahre lang täglich 3 Festplatten ein- und ausgebrannt) mehrere Zellen in einem meiner RAM-Chips gebrannt, was alle 10 bis 20 Minuten zu einem BSOD führte.
quelle
Meine persönliche Erfahrung:
Früher hatte ich ein Lenovo Thinkpad T61p mit einer Quadro FX570M, die um August 2008 gebaut wurde. Es war bekannt, dass diese Charge fehlerhafte GPUs hatte, die eines Tages oder des anderen ausfielen (das Löten war an einigen GPU-Pins nicht optimal).
Alles war für ungefähr 5 Jahre in Ordnung, bis ich XCOM The Bureau darauf laufen ließ (ein Spiel, das dafür bekannt ist, dass es nicht wirklich optimiert wurde), der Laptop war heiß, die Fans waren auf Hochtouren und für ungefähr 1 Stunde des Spielens fror es ein, aber kein gewöhnliches Einfrieren .
Erraten Sie, was ? Ich habe den Laptop aus- und wieder eingeschaltet. Er war nicht mehr mit den entsprechenden BIOS-Signaltönen ausgestattet, die auf einen Videofehler hinweisen.
Zur Beantwortung Ihrer Frage : Ja (wie bereits erwähnt), eine Software kann Hardware definitiv beschädigen, wenn diese nicht in irgendeiner Weise geschützt ist . Wenn zum Beispiel der GPU-Lüfter ausgeschaltet ist, wird er definitiv mit einer 100% igen Erfolgschance explodieren: D
quelle
Ich hatte einmal eine GeForce 4 MX 440-Grafikkarte und wollte Prince of Persia spielen: Sand der Zeit. Das Spiel wurde jedoch nicht gestartet, da die erwartete Pixel Shader-Unterstützung nicht gefunden wurde. Das war ein bisschen unerwartet für mich, weil der spätere Prinz von Persien: Warrior Within gut funktioniert hat.
Also, am Ende fand ich von 3D-Analyzer ( http://www.tommti-systems.com/main-Dateien/files.html ) und zwang das Spiel zu laufen und spielte das Spiel für mehrere Tage. Nach ein paar Tagen war meine Grafikkarte kaputt - sie zeigte nichts mehr an. Ich hatte den neuen Computer für ungefähr 5-6 Monate, also denke ich, dass das Erzwingen des Spiels, auf diese Weise zu laufen, meine Grafikkarte tatsächlich kaputt machte :(
quelle
Ja, ich habe ein paar kaputt gemacht. Ich führe keine Grid-GPU-Berechnungs-Apps mehr aus. Einige Apps neigen dazu, diese zu unterbrechen, insbesondere wenn die Maschine in den Ruhemodus wechselt. In normalen Situationen, in denen Gebläse arbeiten oder Kühlflüssigkeit zirkuliert, sollten Probleme nur dann auftreten, wenn die Kühlung zu niedrig ist.
quelle
Dies kann passieren, wenn der Stromkreis der Karte kurzgeschlossen ist. Dies ist jedoch sehr unwahrscheinlich, da das System bis zu einer bestimmten hohen Temperatur isoliert ist. In einigen Fällen kann das thermodynamische System der Karte gestört werden, wenn es sich wirklich in der Nähe eines anderen Systems befindet oder wenn es sogar ein anderes Material berührt, das kein System ist.
quelle
sendShortCircuit
, da ein solcher Kurzschluss einen Defekt an der Grafikkarte darstellen würde. Die Software wäre dafür nicht verantwortlich. Bei dieser Frage geht es zum Beispiel darum, ob Grafikkarten mit "100% Auslastung für bis zu 1 Sekunde, 90% Auslastung im Langzeitdurchschnitt" bewertet werden und die Software verpflichtet war, diese Bewertung nicht zu überschreiten