Szybka uwaga: wiem, że jest to strona z pytaniami i odpowiedziami na temat tworzenia gier, ale myślę, że przede wszystkim wiecie i macie doświadczenie z kartami graficznymi, więc kieruję do was to pytanie. Jeśli uważasz, że to całkowicie nie na temat, odeślij mnie na odpowiednią stronę / forum. Edycja: W rzeczywistości jest to związane z gamedev: jeśli zły kod może spowodować przegrzanie lub uszkodzenie karty, twórcy gier powinni być tego świadomi i upewnić się, że ich aplikacje tego nie robią.
To może wydawać się dziwnym lub głupim pytaniem, ale czy rzeczywiście można napisać taką aplikację do renderowania grafiki, która może uszkodzić kartę graficzną (w jakikolwiek sposób)?
Bezpośrednim powodem, dla którego zadałem to pytanie, była (bez zaskoczenia) moja zepsuta karta graficzna. Po naprawie serwisant powiedział, że przetestował na nim różne aplikacje (gry) i działał dobrze. Ale kiedy uruchomiłem własną aplikację (demo odroczonego cieniowania), nagrzała ją do ponad 100 stopni Celsjusza. Więc moja karta nie okazała się w końcu naprawiona, ale ważne jest to, że problem zdawał się występować tylko podczas uruchamiania własnej aplikacji.
Grałem w różne gry wymagające GPU (takie jak Crysis) i często przesuwałem to do granic możliwości i więcej (miałem tak wysokie ustawienia, że gry działały przy 5 FPS), a także niektóre testy porównawcze ... Więc dałem moja karta, wiele razy, tyle pracy, że nie mogła nadrobić zaległości (stąd niski FPS), ale nigdy nie osiągnęła niebezpiecznej temperatury. Ale moja własna aplikacja zdołała to osiągnąć (przynajmniej gdy synchronizacja v była wyłączona). : P Ponieważ była to tylko moja aplikacja, nie sądzę, żeby winowajcą był zły system chłodzenia.
Pytam więc - czy myślisz (a może wiesz), czy możliwe jest złamanie karty graficznej (w jakikolwiek sposób, nie tylko przez przegrzanie) jakimś błędnym kodem?
Aktualizacja:
Joe Swindell powiedział, że problemem może być przegrzanie (no cóż, zdecydowanie może złamać kartę). Ale czy odpowiedni system chłodzenia nie powinien temu zapobiec (pod żadnym pozorem)?
Boreal wskazał inny problem. Jeśli dobrze rozumiem, FPS jest związany zarówno przez procesor, jak i GPU (czy to prawda?). Tak niski FPS może sygnalizować albo duże obciążenie procesora, albo wysokie obciążenie GPU . Ale znowu - czy odpowiedni system chłodzenia nie powinien zapobiegać przegrzaniu GPU, nawet jeśli karta jest „używana przez cały czas w 100%”?
Odpowiedzi:
Zadaniem aplikacji nie jest zagwarantowanie, że procesor graficzny się nie przegrzeje, i to nie wina aplikacji, jeśli się przegrzeje.
Jeśli GPU nie ma odpowiedniego chłodzenia, to tak, uruchomienie aplikacji 3D może podgrzać ją do niebezpiecznego poziomu. Nie wiem, dlaczego robi to Twoja aplikacja, a Crysis nie, ale oznacza to, że karta ma niewystarczające chłodzenie i / lub została zepsuta (podkręcone lub zmienione inne ustawienia fabryczne / sterowniki).
Poza przegrzaniem nie znam żadnego innego sposobu, w jaki oprogramowanie mogłoby fizycznie uszkodzić układ, na którym działa. To naprawdę nie powinno być możliwe; byłaby to bardzo poważna awaria projektu.
źródło
Stało się to na wolności.
Starcraft II w 2010 r. Miał problem polegający na tym, że miał nielimitowaną szybkość klatek na ekranach menu, powodując dziwne obciążenie kart graficznych, niszcząc karty niektórych dostawców o niewystarczającej ochronie termicznej.
Błędy projektowe i produkcyjne w samym GPU mogą również prowadzić do demontażu karty pod obciążeniem. Mobilne procesory graficzne G84 / G86 miały złącza lutowane, które pękały przy dopuszczalnych obciążeniach temperaturowych i ostatecznie pękały. Mamy również niesławny Czerwony Pierścień Śmierci XBox 360, który ma podobne problemy termiczne z lutem i ekspansją.
Wszystkie powyższe są mieszaniną wad sprzętowych i niewystarczających projektów termicznych, wzmocnionych obciążeniem oprogramowania.
źródło
Twoje pytanie jest znacznie bardziej złożone niż to, co napisałeś. Powiedziałbym, że ogólne pytanie brzmi: „czy oprogramowanie może zepsuć sprzęt?”, A odpowiedź brzmi zdecydowanie tak.
Pamiętaj, że nie cały sprzęt można teoretycznie złamać za pomocą poleceń programowych, ale ostatecznie to, co robi oprogramowanie, wysyła sygnały elektryczne do bardzo delikatnych elementów sprzętowych. Zwykle im bardziej delikatny jest element sprzętowy, tym bardziej prawdopodobne jest, że ulegnie on uszkodzeniu, gdy zostanie potraktowany w sposób, w jaki nie został zaprojektowany.
Sprzęt może się zepsuć na wiele fajnych sposobów, ale zastanówmy się nad przegrzaniem: praca z przetwarzaniem generuje ciepło, a ono musi gdzieś iść. W zależności od charakterystyki rozpraszania karty, przepływu powietrza w obudowie i ogólnej temperatury w pomieszczeniu ilość ciepła usuwanego z systemu może być większa lub mniejsza niż ilość wytwarzana przez system.
Jeśli poprosisz kartę graficzną o wykonanie pracy, która generuje więcej ciepła, niż można ją skutecznie rozproszyć, temperatura układu wzrośnie. Jeśli będziesz go kontynuować, temperatura wzrośnie powyżej bezpiecznego poziomu operacyjnego, a chip pęknie, straci magiczny dym, a prawdopodobnie nawet spowoduje zagrożenie pożarem. Właśnie zepsułeś kartę wideo, mam nadzieję, że jesteś szczęśliwy.
Czy możesz teraz napisać oprogramowanie, które to robi? Powiedziałbym, że najprawdopodobniej nie. Żaden program (na poziomie użytkownika), który piszesz, nie będzie rozmawiać bezpośrednio z kartą wideo. Istnieje wiele zabezpieczeń zaprojektowanych, aby zapobiec tej sytuacji, i wszystkie one muszą zawieść, aby Twój program renderujący ostatecznie spalił dom.
Ogólnie rzecz biorąc, rozpraszacze ciepła i wentylatory są zaprojektowane w taki sposób, aby mogły wygodnie usuwać maksymalną ilość ciepła generowaną przez kartę, nawet w słabo wentylowanych obudowach w gorącym klimacie (w zakresie roboczym określonym przez producenta)
Jeśli wytwarzanie ciepła jest większe niż rozpraszanie ciepła, pierwszą linią obrony byłby kierowca. Większość sterowników będzie sprawdzać temperaturę rdzenia GPU, a jeśli idzie w górę, sterownik może ograniczyć liczbę instrukcji wysyłanych do GPU, aby zapobiec generowaniu większej ilości ciepła.
Jeśli to się nie powiedzie, oprogramowanie układowe na karcie graficznej powinno wykryć, że ciepło niebezpiecznie się gromadzi, i dlatego zmniejszy prędkość zegara, próbując zmniejszyć wytwarzanie ciepła.
Jeśli po tym wszystkim ciepło nadal się gromadzi, dioda termiczna dostępna w większości nowoczesnych procesorów i procesorów graficznych całkowicie wyłączy kartę graficzną, a wytwarzanie ciepła zatrzyma się.
Tak więc, jeśli chcesz zerwać kosztowną kartę graficzną z aplikacji na poziomie użytkownika poprzez przegrzanie, oprócz zbudowania oprogramowania, które maksymalnie obciąża system, potrzebujesz:
Wadliwy lub uszkodzony system rozpraszający ciepło. Wystarczy wsunąć palec w wentylator (zawsze w środku, a nie w łopatki). Trudność: łatwa
Niestandardowy (lub błędny) sterownik z wyłączonymi lub uszkodzonymi funkcjami dławienia. Trudność: normalna
Niestandardowe oprogramowanie wewnętrzne z wyłączonymi lub uszkodzonymi funkcjami zmniejszania zegara. Trudność: trudna
Złamana dioda termiczna. Jeśli stale uruchamiasz diodę termiczną, może ulec uszkodzeniu. Trudność: bardzo trudna
... ale nie niemożliwe! Wypróbuj *, ale pamiętaj, aby mieć pod ręką telefon straży pożarnej.
*: To jest sarkazm. W żaden sposób nie popieram stworzenia zagrożenia pożarowego ani żadnych działań, które mogą w jakikolwiek sposób zaszkodzić Tobie, Twojej rodzinie, psu lub społeczności. Czytając ten post, całkowicie zwalniasz mnie od wszelkiej odpowiedzialności, jaką mogą ponieść twoje działania.
źródło
Nawet przy wyłączonym VSYNC, wiele gier może nie osiągnąć nawet 98% wykorzystania GPU. Im bardziej rzeczywista rozgrywka zostanie zaimplementowana, tym mniej klatek uda się wyreżyserować i tym bardziej prawdopodobne jest, że procesor graficzny nie zostanie w pełni wykorzystany. Dobre gry zoptymalizowane pod kątem wielu rdzeni mogą znacznie zbliżyć się do 100% wykorzystania GPU, ale ogólnie logika rozgrywki utrzymuje procesor na tyle zajęty innymi zadaniami, że nie jest w stanie nasycić GPU pełnym obciążeniem. Aplikacje do czystego renderowania mogą z łatwością osiągnąć 100% obciążenia GPU, ale gry robią znacznie więcej niż renderowanie.
Na marginesie, na mojej domowej maszynie mój GPU generuje znaczące EMI pod dużym obciążeniem i zakłóca tanie zintegrowane audio na mojej płycie głównej. Słyszę marudzenie wysokiego tonu nad analogowym dźwiękiem, którego częstotliwość zmienia się w zależności od obciążenia. Uwielbiam to i uważam, że jest to funkcja, a nie wada projektowa, sprawia, że profilowanie jest interesujące, ponieważ faktycznie słyszę poziom obciążenia bez konieczności próbkowania licznika wydajności GPU. Jednak przypuszczam, że jeśli masz jakieś urządzenie, które jest bardzo wrażliwe na zakłócenia elektromagnetyczne i nie jest odpowiednio ekranowane, może to stanowić problem ... wysokie obciążenie karty graficznej może spowodować awarię innego urządzenia.
źródło
Przegrzanie JEST uszkodzeniem karty graficznej. Rzucanie ogromnej pętli danych, z którymi nie może sobie poradzić, z pewnością, jak widzieliście, spowoduje awarię i możliwe uszkodzenie karty na stałe.
źródło
Tak, może.
Można tego uniknąć dzięki dobrym systemom chłodzenia. Włączenie synchronizacji pionowej jest również dobrym sposobem na uniknięcie tego. Synchronizacja w pionie uniemożliwia procesorowi GPU wysyłanie klatek z większą szybkością, niż monitor może obsłużyć, czyli klatkami, które normalnie są upuszczane i nigdy nie są widoczne.
Mniej ramek = mniejsze przetwarzanie = mniejsze ekstremalne obciążenie pracą.
Ważne jest również śledzenie możliwości GPU. Wyobrażam sobie, że programiści z Crytek napisali kod, który jest gotowy, aby ktoś przecenił swoje możliwości kart graficznych. Jeśli tak, jestem pewien, że jest to funkcja, która uratowała wiele procesorów graficznych i uratowała wielu nieświadomych właścicieli GPU przed frustracją.
Można tego uniknąć poprzez staranne kodowanie i podwójne sprawdzanie w czasie wykonywania. (Ale zawsze są błędy. Jeśli nie, to dlatego, że się z tobą bawią.)
Można tego uniknąć poprzez staranne kodowanie i podwójne sprawdzanie w czasie wykonywania.
źródło
Odpowiedź na jedno słowo: TAK.
Szczegółowa odpowiedź: tak. Może (w niektórych sytuacjach). Wyobraź sobie, że piszesz program, który drastycznie przesyła dane do twojego GPU do nieskończonej pętli. Jest pewne, że się przegrzeje. Czyż nie jest to obowiązkiem jego systemu chłodzenia, aby się tym zająć? Oczywiście, że jest. Ale należy również pamiętać, że układ chłodzenia ma również pewne poziomy progowe. Jeśli wytwarzane ciepło wykracza poza zakres działania twojego układu chłodzenia, wtedy twój układ chłodzenia jest mało przydatny. Nie wiem, co robi twoja aplikacja, ale rozmawiając z perspektywy programistów, możesz pisać takie programy, które prowadzą do tego rodzaju sytuacji.
źródło
Zainstalowanie niezgodnego sterownika z faktyczną kartą może łatwo doprowadzić do trwałych uszkodzeń. Mój przyjaciel jakoś zdołał to zrobić poprzez powtarzalną ponowną instalację systemu operacyjnego i fizyczną zmianę dysku twardego.
Spraw, aby Twój komputer włączał się i wyłączał wiele razy. Nie jestem pewien, czy może to spowodować awarię, ale jest to bardzo możliwe. W każdym razie nie brzmi to jak najlepszy
software
sposób na zrobienie tego.Manipuluj poziomem mocy w systemie, włączając i wyłączając energochłonne urządzenia USB (przykład: zewnętrzny dysk twardy, który nie wykorzystuje własnej mocy). W ten sposób moja klawiatura i mysz są bezużyteczne do następnego restartu i (przez 2 lata codziennego podłączania i wyjmowania 3 dysków twardych) wypaliło kilka komórek w jednym z moich układów pamięci RAM, co powodowało BSOD co 10-20 minut.
źródło
Moje osobiste doświadczenie:
Kiedyś miałem Lenovo Thinkpad T61p z Quadro FX570M zbudowanym około sierpnia 2008 roku, ta partia była znana z wadliwych układów GPU, które pewnego dnia lub innego zawiodłyby (lutowanie nie było optymalne na niektórych pinach GPU).
Wszystko działało dobrze przez około 5 lat, dopóki nie uruchomiłem na nim XCOM The Bureau (gra znana z tego, że tak naprawdę nie jest zoptymalizowana), laptop był gorący, fani z pełną prędkością i przez około 1 godzinę grania zamarzł, ale nie był to zwykły zamrożenie .
Zgadnij co ? Wyłączyłem laptopa i włączyłem go ponownie, był martwy z odpowiednimi kodami dźwiękowymi BIOS wskazującymi na awarię wideo.
Aby odpowiedzieć na twoje pytanie : tak (jak zauważyli inni), oprogramowanie może zdecydowanie zepsuć sprzęt, jeśli ten pierwszy nie jest w jakiś sposób chroniony ; jeśli na przykład wentylator GPU jest wyłączony, to na pewno wysadzi ze 100% szansą na sukces: D
źródło
Kiedyś miałem kartę graficzną GeForce 4 MX 440 i chciałem grać w Prince of Persia: piaski czasu. Ale gra się nie uruchomiła, ponieważ nie mogła znaleźć oczekiwanej obsługi Pixel Shader. Było to dla mnie trochę nieoczekiwane, ponieważ późniejszy Prince of Persia: Warrior Within działał dobrze.
W końcu znalazłem analizator 3d ( http://www.tommti-systems.com/main-Dateien/files.html ) i zmusiłem grę do uruchomienia i grania w nią przez kilka dni. Po kilku dniach moja karta wideo się zepsuła - nic już nie wyświetlałem. Miałem nowy komputer przez około 5-6 miesięcy, więc myślę, że zmuszenie gry do działania w ten sposób spowodowało uszkodzenie mojej karty graficznej :(
źródło
Tak, zepsułem kilka. Nie uruchamiam już aplikacji obliczających grid GPU. Niektóre aplikacje zwykle psują się, szczególnie gdy maszyna przechodzi w tryb uśpienia, ale w normalnych sytuacjach, gdy pracują dmuchawy / krąży ciecz chłodząca, nie powinno być problemów, chyba że chłodzenie jest zbyt małe.
źródło
Może to spowodować zwarcie obwodu karty, jednak jest to bardzo mało prawdopodobne, ponieważ system jest izolowany do pewnej wysokiej temperatury. W niektórych przypadkach układ termodynamiczny karty może zostać zakłócony, jeśli jest on naprawdę blisko innego układu lub jeśli nawet dotyka innego materiału, który nie jest układem.
źródło
sendShortCircuit
, ponieważ takie zwarcie byłoby defektem karty graficznej. Oprogramowanie nie ponosi za to odpowiedzialności. To pytanie dotyczy tego, czy na przykład karty graficzne mają ocenę „100% użycia do 1 s, 90% długoterminowa średnia użytkowania”, a oprogramowanie było zobowiązane do nieprzekraczania tej oceny