Краткое замечание: я знаю, что это сайт вопросов и ответов по разработке игр, но я думаю, что вы, ребята, больше всего знаете и имеете опыт работы с видеокартами, поэтому я задаю вам этот вопрос. Если вы думаете, что это совершенно не по теме, пожалуйста, направьте меня на соответствующий сайт / форум. Изменить: На самом деле, это связано с gamedev: если плохой код может привести к перегреву или поломке карты, то разработчики игр должны знать об этом и убедиться, что их приложения этого не делают.
Это может показаться странным или глупым вопросом, но возможно ли вообще написать такое приложение для рендеринга графики, которое может сломать видеокарту ( любым способом)?
Непосредственной причиной, которая заставила меня задать этот вопрос, была (не удивительно) моя собственная сломанная видеокарта. После ремонта он сказал, что он тестировал различные приложения (игры) на нем, и он работал нормально. Но когда я запустил свое собственное приложение (демонстрация отложенного затенения), оно нагревало его до температуры выше 100 градусов по Цельсию. Так что моя карта, в конце концов, не была исправлена, но здесь важно то, что проблема, казалось, возникала только при запуске моего собственного приложения.
Я играл в различные игры, требующие GPU (например, Crysis), и часто доводил его до предела и даже больше (настройки были настолько высоки, что игры работали со скоростью 5 FPS), а также некоторые тесты ... Итак, я дал моя карта много раз так сильно загружалась, что не могла ее догнать (отсюда низкий FPS), но она никогда не достигала опасных температур. Но моему собственному приложению это удалось (по крайней мере, когда была отключена V-Sync). : P Так как это было только мое собственное приложение, я не думаю, что плохая система охлаждения была виновником.
Поэтому я спрашиваю - вы думаете (или, может быть, знаете), возможно ли сломать видеокарту (каким-либо образом, не только перегревом) каким-нибудь порочным кодом?
Обновить:
Джо Суинделл сказал, что перегрев может быть проблемой (ну, это определенно может сломать карту). Но не должна ли надлежащая система охлаждения предотвратить это (ни при каких обстоятельствах)?
Бореал указал на еще одну проблему. Если я правильно понимаю, FPS связан как CPU, так и GPU (это верно?). Столь низкий FPS может сигнализировать о высокой загрузке процессора или высокой загрузке графического процессора . Но опять же - не должна ли надлежащая система охлаждения предотвращать перегрев графического процессора, даже если карта «используется на все 100%»?
Ответы:
Приложение не должно гарантировать, что графический процессор не перегревается, и не является ошибкой приложения, если оно перегревается.
Если у графического процессора нет надлежащего охлаждения, то да, запуск 3D-приложения может привести к нагреву до опасного уровня. Я не знаю, почему ваше приложение делает это, а Crysis - нет, но это означает, что карта имеет недостаточное охлаждение, и / или она была испорчена (разогнана, или изменены другие заводские настройки / драйверы).
Помимо перегрева, я не знаю других способов, которыми программное обеспечение могло бы физически повредить чип, на котором оно работает. Это действительно не должно быть возможным; это был бы очень серьезный провал дизайна.
источник
Это случилось в дикой природе.
У Starcraft II в 2010 году была проблема, когда на экранах меню отсутствовала частота кадров, что создавало странную нагрузку на видеокарты, уничтожая карты некоторых поставщиков с недостаточной тепловой защитой.
Недостатки конструкции и изготовления самого GPU также могут привести к разборке карты под нагрузкой. Мобильные графические процессоры G84 / G86 имели паяные соединения, которые ломались при приемлемых температурных нагрузках и в конечном итоге ломались. У нас также есть печально известное Красное Кольцо Смерти XBox 360, у которого есть похожие тепловые проблемы с припоем и расширением.
Все вышеперечисленное представляет собой смесь аппаратных дефектов и недостаточных тепловых конструкций, усиленных программной нагрузкой.
источник
Ваш вопрос гораздо сложнее, чем вы написали. Я бы сказал, что общий вопрос «может ли программное обеспечение сломать аппаратное обеспечение?», И ответ на этот вопрос однозначно да.
Имейте в виду, что не все аппаратное обеспечение теоретически может быть сломано с помощью программных команд, но в конечном итоге программное обеспечение посылает электрические сигналы очень чувствительным аппаратным компонентам. Обычно, чем деликатнее аппаратный компонент, тем больше вероятность его повреждения, если он обрабатывается не так, как он был спроектирован.
Есть много забавных способов, как аппаратное обеспечение может сломаться, но давайте просто рассмотрим перегрев: обработка данных генерирует тепло, и это тепло должно куда-то уходить. В зависимости от характеристик рассеивания вашей карты, потока воздуха в корпусе и общей температуры в помещении количество тепла, отводимого из системы, может быть больше или меньше того, что генерируется ею.
Если вы попросите видеокарту выполнить работу, которая генерирует больше тепла, чем можно эффективно рассеять, тогда температура чипа повысится. Если вы продолжите в том же духе, температура поднимется выше безопасного рабочего уровня, и чип сломается, потеряет волшебный дым и, возможно, даже станет причиной пожара. Вы только что сломали свою видеокарту, надеюсь, вы счастливы.
Теперь, вы можете написать программное обеспечение, которое делает это? Скорее всего, нет. Любая написанная вами (на уровне пользователя) программа не будет напрямую взаимодействовать с видеокартой. Есть много мер безопасности, разработанных для предотвращения этой ситуации, и все они должны потерпеть неудачу, чтобы ваша программа рендеринга в конечном итоге сожгла ваш дом.
Как правило, рассеиватели тепла и вентиляторы спроектированы таким образом, чтобы они могли с комфортом отводить максимальное количество тепла, выделяемое картой, даже в случаях с плохой вентиляцией в жарком климате (в пределах рабочих диапазонов, указанных производителем).
Если тепловыделение больше, чем тепловыделение, первой линией защиты будет водитель. Большинство драйверов будут проверять температуру ядра графического процессора, и, если она повышается, драйвер может ограничить количество инструкций, которые он отправляет в графический процессор, чтобы предотвратить выделение большего количества тепла.
Если это не удастся, встроенное программное обеспечение графической карты должно обнаружить, что нагревание опасно накапливается, и, следовательно, уменьшит тактовую частоту в попытке уменьшить тепловыделение.
Если после всего этого тепло все равно будет накапливаться, термодатчик, доступный в большинстве современных процессоров и графических процессоров, полностью отключит видеокарту, и выделение тепла прекратится.
Итак, если вы хотите отделить дорогую видеокарту от приложения уровня пользователя из-за перегрева, в дополнение к созданию программного обеспечения, которое максимально нагружает систему, вам потребуется:
Неисправная или сломанная система отвода тепла. Просто воткните палец в вентилятор (всегда в центре, а не в лопастях). Сложность: Легко
Пользовательский (или глючный) драйвер с отключенными или неработающими функциями регулирования. Сложность: Нормальная
Кастомная прошивка с функциями уменьшения часов отключена или сломана. Сложность: сложная
Сломанный термодиод. Если вы постоянно активируете термодатчик, он может быть поврежден. Сложность: очень тяжело
... но не невозможно! Не стесняйтесь попробовать *, но убедитесь, что вы держите телефон своей пожарной охраны под рукой, когда делаете это.
*: Это сарказм Я никоим образом не потворствую возникновению пожара или любой деятельности, которая может каким-либо образом причинить вред вам, вашей семье, собаке или сообществу. Читая этот пост, вы полностью отказываетесь от любой ответственности, которую могут принести ваши действия.
источник
Даже если VSYNC отключен, многие игры могут не достичь 98% использования графического процессора. Чем более актуальный игровой процесс они реализуют, тем меньше кадров они могут поставить и тем более вероятно, что графический процессор будет недостаточно использован. Хорошие многоядерные оптимизированные игры могут значительно приблизиться к 100% -ному использованию графического процессора, но, как правило, логика игрового процесса заставляет процессор достаточно загружаться другими задачами, что не позволяет насытить графический процессор полной рабочей нагрузкой. Приложения для чистого рендеринга могут легко достичь 100% загрузки графического процессора, но игры делают намного больше, чем рендеринг.
Напомним, что на моей домашней машине мой графический процессор генерирует значительные электромагнитные помехи при высокой нагрузке, что мешает дешевому встроенному звуку на моей материнской плате. Я слышу громкое нытье над аналоговым звуком, частота которого меняется в зависимости от нагрузки. Мне это нравится, и я считаю это скорее особенностью, чем недостатком дизайна, это делает профилирование интересным, так как я могу фактически услышать уровень нагрузки без необходимости опробовать счетчик производительности GPU. Тем не менее, я полагаю, что если у вас есть какое-либо устройство, которое очень чувствительно к EMI и недостаточно экранировано, это может быть проблемой ... высокая загрузка графического процессора может вызвать сбой в другом устройстве.
источник
Перегрев разрушает вашу видеокарту. Создание огромного цикла данных, которые он не может обработать, безусловно, как вы видели, приведет к сбою и, возможно, повреждению вашей карты навсегда.
источник
Да, оно может.
Этого можно избежать с помощью хороших систем охлаждения. Включение V-синхронизации также является хорошим способом избежать этого. V-синхронизация не позволяет графическому процессору выводить кадры с большей скоростью, чем может обработать монитор, то есть кадры, которые обычно отбрасываются, никогда не будут видны.
Меньше кадров = меньше обработки = меньше экстремальной рабочей нагрузки.
Отслеживание возможностей графического процессора также важно. Я предполагаю, что программисты в Crytek написали код, чтобы быть готовыми к тому, что кто-то переоценит свои возможности видеокарт. Если они это сделали, я уверен, что это функция, которая спасла многих GPU, и спасла многих неосведомленных владельцев GPU от разочарования.
Этого можно избежать с помощью тщательного кодирования и двойной проверки во время выполнения. (Но всегда есть ошибки. Если нет, это потому, что они играют с вами.)
Этого можно избежать с помощью тщательного кодирования и двойной проверки во время выполнения.
источник
Одним словом ответ: ДА.
Подробный ответ: да. Может (в определенных ситуациях). Представьте, что вы пишете программу, которая радикально переносит данные в ваш графический процессор в бесконечный цикл. Уверен, что он перегреется. Опять же, не несет ли ответственность за это система охлаждения? Конечно, это. Но вы также должны помнить, что система охлаждения также имеет некоторые пороговые уровни. Если вырабатываемое тепло выходит за пределы рабочего диапазона вашей системы охлаждения, то ваша система охлаждения вряд ли пригодится. Я не знаю, что делает ваше приложение, но, говоря с точки зрения программистов, вы можете написать такие программы, которые приводят к такой ситуации.
источник
Установка несовпадающего драйвера с используемой картой может легко привести к необратимому повреждению. Мой друг каким-то образом сумел сделать это путем повторной переустановки ОС и физического изменения жесткого диска.
Включите и выключите компьютер много раз. Не уверен, что это может вызвать сбой, но это очень возможно. Во всяком случае, не похоже
software
, чтобы сделать это.Управляйте уровнем мощности в системе, включая и отключая энергопотребляющие USB-устройства (например, внешний жесткий диск, который не использует свое питание). Это всегда делает мою клавиатуру и мышь непригодными до следующего перезапуска, и это (более 2 лет ежедневного подключения и отключения 3 жестких дисков) сжигало несколько ячеек в одном из моих чипов памяти, что приводило к BSOD каждые 10-20 минут.
источник
Мой личный опыт:
Раньше у меня был Lenovo Thinkpad T61p с Quadro FX570M, построенный примерно в августе 2008 года. Известно, что этот пакет имел неисправные графические процессоры, которые однажды или другой выйдут из строя (пайка была неоптимальной на некоторых выводах графического процессора).
Все было хорошо в течение примерно 5 лет, пока я не запустил на нем XCOM The Bureau (игра, известная тем, что не очень оптимизировалась), ноутбук был горячим, вентиляторы на полной скорости и около 1 часа игры зависали, но не как обычно замораживание ,
Угадай, что ?Я выключил и снова включил ноутбук, он был мертв с соответствующими звуковыми кодами BIOS, указывающими на сбой видео.
Чтобы ответить на ваш вопрос : да (как уже отмечали другие), программное обеспечение может определенно сломать оборудование, если первое не защищено каким-либо образом ; например, если вентилятор графического процессора выключен, то он обязательно взорвется с вероятностью успеха 100%: D
источник
Когда-то у меня была графическая карта GeForce 4 MX 440, и я хотел сыграть в Prince of Persia: пески времени. Но игра не запустилась, потому что не удалось найти ожидаемую поддержку Pixel Shader. Это было немного неожиданно для меня, потому что более поздний Prince of Persia: Warrior Within работал просто отлично.
Итак, в конце концов я нашел 3D-анализатор ( http://www.tommti-systems.com/main-Dateien/files.html ) и заставил игру запускаться и играл в нее в течение нескольких дней. Через пару дней моя видеокарта сломалась - больше ничего не отображалось. У меня был новый компьютер в течение 5-6 месяцев, так что я думаю, что заставить игру работать таким образом на самом деле сломал мою видеокарту :(
источник
Да, я сломал несколько. Я больше не запускаю приложения для расчета сетки gpu. Некоторые приложения имеют тенденцию выходить из строя, особенно когда машина переходит в спящий режим, но в обычных ситуациях, когда воздуходувки работают / циркулирует охлаждающая жидкость, проблем не должно быть, если только охлаждение не слишком мало.
источник
Это может произойти, если замыкание схемы карты, однако это вряд ли произойдет, потому что система изолирована до определенной высокой температуры. В некоторых случаях термодинамическая система карты может быть нарушена, если она действительно близка к другой системе или даже касается другого материала, который не является системой.
источник
sendShortCircuit
, так как такое короткое замыкание будет дефектом видеокарты. Программное обеспечение не несет ответственности за это. Это вопрос о том, если, например, видеокарты имеют рейтинг «100% использования на срок до 1 с, 90% использования в долгосрочной перспективе в среднем», и программное обеспечение было обязано не превышать этот рейтинг