Nota rápida: Sé que este es un sitio de preguntas y respuestas sobre el desarrollo de juegos , pero supongo que ustedes, sobre todo, saben y tienen experiencia con las tarjetas gráficas, así que les dirijo esta pregunta. Si cree que esto está completamente fuera de tema, remítame a un sitio / foro adecuado. Editar: En realidad, está relacionado con gamedev: si un código incorrecto puede provocar el sobrecalentamiento o la rotura de la tarjeta, los desarrolladores de juegos deben ser conscientes de eso y asegurarse de que sus aplicaciones no lo hagan.
Esto puede parecer una pregunta extraña o estúpida, pero ¿es realmente posible escribir una aplicación de representación de gráficos que pueda romper la tarjeta gráfica (de alguna manera)?
La razón inmediata que me hizo hacer esta pregunta fue (no es de extrañar) mi propia tarjeta gráfica rota. Después de repararlo, el técnico de servicio dijo que probaron varias aplicaciones (juegos) y funcionó bien. Pero cuando lancé mi propia aplicación (demo de sombreado diferido) la calentó a más de 100 grados centígrados. Después de todo, mi tarjeta no resultó estar arreglada, pero lo importante aquí es que el problema parecía ocurrir solo cuando ejecutaba mi propia aplicación.
He jugado varios juegos que requieren GPU (como Crysis) y, a menudo, lo llevé al límite y más (tenía configuraciones tan altas que los juegos funcionaron a 5 FPS), algunos puntos de referencia también ... Así que he dado mi tarjeta, muchas veces, tanta carga de trabajo que no pudo alcanzar (por lo tanto, bajo FPS) pero nunca alcanzó temperaturas peligrosas. Pero mi propia aplicación logró eso (al menos cuando la sincronización v estaba desactivada). : P Como era solo mi propia aplicación, no creo que un mal sistema de enfriamiento fuera el culpable.
Entonces le pregunto: ¿piensa (o quizás sabe) si es posible romper la tarjeta gráfica (de alguna manera, no solo por sobrecalentamiento) por algún código vicioso?
Actualizar:
Joe Swindell dijo que el sobrecalentamiento puede ser el problema (bueno, definitivamente puede romper la tarjeta). Pero, ¿no debería un sistema de enfriamiento adecuado evitar que eso suceda (bajo ninguna circunstancia)?
Boreal señaló otro problema. Si entiendo correctamente, FPS está vinculado tanto por la CPU como por la GPU (¿es correcto?). Por lo tanto, un FPS bajo puede indicar una carga de CPU alta o una carga de GPU alta . Pero una vez más, ¿no debería un sistema de enfriamiento adecuado evitar que la GPU se sobrecaliente incluso si la tarjeta se "usa al 100% todo el tiempo"?
Respuestas:
No es responsabilidad de la aplicación asegurarse de que la GPU no se sobrecaliente, y no es culpa de la aplicación si se sobrecalienta.
Si la GPU no tiene un enfriamiento adecuado, entonces sí, ejecutar una aplicación 3D puede calentarla a niveles peligrosos. No sé por qué su aplicación lo hace y Crysis no, pero significa que la tarjeta tiene un enfriamiento inadecuado y / o se ha estropeado (overclockeado u otros ajustes / controladores de fábrica alterados).
Además del sobrecalentamiento, no conozco ninguna otra forma en que el software pueda dañar físicamente el chip en el que se está ejecutando. Eso realmente no se supone que sea posible; Sería una falla de diseño muy grave.
fuente
Ha sucedido en la naturaleza.
Starcraft II en 2010 tuvo un problema en el que tenía una velocidad de fotogramas sin límite en las pantallas de menú que colocaban una carga extraña en las tarjetas gráficas, destruyendo las tarjetas de algunos proveedores con protección térmica insuficiente.
Los defectos de diseño y fabricación en la propia GPU también pueden llevar a que la tarjeta se desmantele bajo carga. Las GPU móviles G84 / G86 tenían uniones de soldadura que se rompieron bajo cargas de temperatura aceptables y finalmente se rompieron. También tenemos el infame Red Ring of Death del XBox 360 que tiene problemas térmicos similares con la soldadura y la expansión.
Todo lo anterior es una mezcla de defectos de hardware y diseños térmicos insuficientes, amplificados por la carga del software.
fuente
Tu pregunta es mucho más compleja que lo que escribiste. Yo diría que la pregunta general es "¿puede el software romper el hardware?", Y la respuesta a eso es un sí definitivo.
Eso sí, no todo el hardware puede romperse teóricamente mediante comandos de software, pero eventualmente, lo que hace el software es enviar señales eléctricas a componentes de hardware muy delicados. Por lo general, cuanto más delicado es un componente de hardware, es más probable que se dañe cuando se maneja de una manera en la que no fue diseñado.
Hay muchas maneras divertidas en que el hardware puede romperse, pero consideremos el sobrecalentamiento: el trabajo de procesamiento genera calor, y ese calor tiene que ir a algún lado. Dependiendo de las características de disipación de su tarjeta, el flujo de aire en el estuche y la temperatura general en la habitación, la cantidad de calor eliminada del sistema puede ser más o menos de lo que está generando.
Si le pide a la tarjeta de video que haga un trabajo que genera más calor del que se puede disipar eficientemente, entonces la temperatura del chip aumentará. Si lo mantiene en funcionamiento, la temperatura se elevará por encima del nivel de funcionamiento seguro y el chip se romperá, perderá su humo mágico y probablemente incluso provocará un riesgo de incendio. Acabas de romper tu tarjeta de video, espero que estés feliz.
Ahora, ¿ puedes escribir software que haga esto? Yo diría que muy probablemente no. Cualquier programa (a nivel de usuario) que escriba no se comunicará directamente con la tarjeta de video. Hay muchas salvaguardas diseñadas para prevenir esta situación, y todas tienen que fallar para que su programa de renderización termine quemando su casa.
En general, los disipadores de calor y los ventiladores están diseñados para que puedan eliminar cómodamente la cantidad máxima de calor que generará la tarjeta, incluso en casos con poca ventilación en climas cálidos (dentro de los rangos de operación especificados por el fabricante)
Si la generación de calor es mayor que la disipación de calor, la primera línea de defensa sería el conductor. La mayoría de los controladores verificará la temperatura central de la GPU, y si está subiendo, el controlador puede limitar la cantidad de instrucciones que envía a la GPU para evitar generar más calor.
Si eso falla, el firmware en la tarjeta gráfica debería detectar que el calor se está acumulando peligrosamente y, por lo tanto, reducirá la velocidad del reloj en un intento de reducir la generación de calor.
Si después de todo eso, el calor aún se está acumulando, un diodo térmico disponible en la mayoría de las CPU y GPU modernas apagará la tarjeta de video por completo y la generación de calor se detendrá.
Por lo tanto, si desea romper su costosa tarjeta de video de una aplicación de nivel de usuario a través del sobrecalentamiento, además de crear un software que estrese el sistema al máximo, necesitaría:
Un sistema de disipación de calor defectuoso o roto. Simplemente meter el dedo en el ventilador (siempre en el centro, no en las aspas) debería ser suficiente. Dificultad: fácil
Un controlador personalizado (o con errores) con funciones de regulación deshabilitadas o rotas. Dificultad: normal
Un firmware personalizado con funciones de reducción de reloj deshabilitadas o rotas. Dificultad: difícil
Un diodo térmico roto. Si activa constantemente el diodo térmico, puede dañarse. Dificultad: muy difícil
... ¡pero no imposible! Siéntase libre de probarlo *, pero asegúrese de tener el teléfono de su departamento de bomberos a mano cuando lo haga.
*: Esto es sarcasmo. No estoy de ninguna manera tolerando la creación de un riesgo de incendio, o cualquier actividad que pueda dañarlo a usted, su familia, perro o comunidad de alguna manera. Al leer esta publicación, me renuncia completamente a cualquier responsabilidad que sus acciones puedan traer.
fuente
Incluso con VSYNC apagado, muchos juegos pueden fallar incluso al 98% de utilización de GPU. Cuanto más realicen la jugabilidad, menos marcos podrán organizar y es más probable que la GPU quede subutilizada. Los buenos juegos optimizados de múltiples núcleos pueden acercarse significativamente al 100% de utilización de GPU, pero en general la lógica del juego mantiene a la CPU lo suficientemente ocupada con otras tareas que no puede saturar la GPU con una carga de trabajo completa. Las aplicaciones de renderizado puro pueden alcanzar fácilmente una carga de GPU del 100%, pero los juegos hacen mucho más que renderizar.
En una nota al margen, en mi máquina doméstica, mi GPU genera una EMI significativa bajo alta carga e interfiere con el audio integrado barato en mi placa base. Puedo escuchar un sonido agudo sobre el audio analógico cuya frecuencia varía con la carga. He disfrutado eso y lo considero una característica en lugar de un defecto de diseño, hace que la elaboración de perfiles sea interesante ya que realmente puedo escuchar el nivel de carga sin tener que probar un contador de rendimiento de GPU. Sin embargo, supongo que si tiene algún dispositivo que sea muy sensible a EMI y esté protegido de manera inadecuada, esto podría ser un problema ... una carga de GPU alta podría causar fallas en otro dispositivo.
fuente
El sobrecalentamiento está rompiendo su tarjeta gráfica. Lanzar un ciclo masivo de datos que no puede manejar seguramente, como has visto, se bloqueará y posiblemente dañará tu tarjeta de forma permanente.
fuente
Sí puede.
Se puede evitar con buenos sistemas de enfriamiento. Habilitar V-sync también es una buena manera de evitar esto. V-sync evita que la GPU genere cuadros a una velocidad más rápida que la que puede controlar el monitor, que son cuadros que normalmente se caen, que nunca se verán.
Menos cuadros = menos procesamiento = menos carga de trabajo extrema.
Hacer un seguimiento de las habilidades de la GPU también es importante. Me imagino que los programadores de Crytek escribieron el código para estar listos para que alguien sobreestime sus habilidades de tarjetas gráficas. Si lo hicieron, estoy seguro de que es una característica que ha salvado a muchas GPU y ha salvado a muchos propietarios de GPU desconocidos de la frustración.
Se puede evitar con una codificación cuidadosa y una doble verificación en tiempo de ejecución. (Pero siempre hay errores. Si no los hay, es porque están jugando contigo).
Esto se puede evitar con una codificación cuidadosa y una doble verificación en tiempo de ejecución.
fuente
Respuesta de una palabra: SI.
Respuesta detallada: sí. Puede (en ciertas situaciones). Imagine que escribe un programa que transfiere drásticamente datos a su GPU a un bucle infinito. Es seguro que se sobrecalentará. Ahora, de nuevo, ¿no es la responsabilidad de su sistema de enfriamiento cuidarlo? Por supuesto que es. Pero también debe recordar que, el sistema de enfriamiento también tiene algunos niveles de umbral. Si el calor producido está fuera del rango operativo de su sistema de enfriamiento, entonces su sistema de enfriamiento no sirve de nada. No sé qué hace su aplicación, pero hablando desde la perspectiva de los programadores, puede escribir tales programas que conducen a este tipo de situación.
fuente
Instalar un controlador que no coincida con la tarjeta real utilizada puede provocar daños permanentes. Mi amigo de alguna manera ha logrado hacerlo mediante la reinstalación repetitiva del sistema operativo y el cambio físico del disco duro.
Haga que su PC se encienda y apague muchas veces. No estoy seguro si eso puede causar fallas, pero es muy posible. De todos modos, no suena como una muy buena
software
forma de hacerlo.Manipule el nivel de energía en el sistema encendiendo y apagando los dispositivos USB que consumen energía (ejemplo: HDD externo que no usa su propia energía). Hacer esto siempre hace que mi teclado y mi mouse no se puedan usar hasta el próximo reinicio y ha quemado varias celdas en uno de mis chips de RAM (más de 2 años de conexión diaria de 3 HDD), lo que resultó en un BSOD cada 10-20 minutos.
fuente
Mi experiencia personal:
Solía tener un Lenovo Thinkpad T61p con un Quadro FX570M construido alrededor de agosto de 2008, se sabía que este lote tenía GPU defectuosas que un día u otro fallarían (la soldadura era subóptima en algunos de los pines de la GPU).
Todo estuvo bien durante aproximadamente 5 años hasta que ejecuté XCOM The Bureau en él (un juego conocido por no estar realmente optimizado), la computadora portátil estaba caliente, los fanáticos a toda velocidad y durante aproximadamente 1 hora de juego se congeló, pero no se congeló habitualmente .
Adivina qué ? Apagué y volví a encender la computadora portátil, estaba muerta con los códigos de pitido de BIOS relevantes que indicaban una falla de video.
Para responder a su pregunta : sí (como han señalado otros), un software definitivamente puede romper el hardware si el primero no está protegido de alguna manera ; si, por ejemplo, el ventilador de la GPU está apagado, definitivamente explotará con un 100% de posibilidades de éxito: D
fuente
Una vez tuve una tarjeta gráfica GeForce 4 MX 440 y quería jugar Prince of Persia: arenas de tiempo. Pero el juego no se lanzó porque no pudo encontrar el soporte esperado de Pixel Shader. Esto fue un poco inesperado para mí, porque el Príncipe de Persia: Guerrero interno más tarde funcionó bien.
Entonces, al final encontré un analizador 3D ( http://www.tommti-systems.com/main-Dateien/files.html ) y forcé el juego a correr y jugué durante varios días. Después de un par de días, mi tarjeta de video se rompió, ya no mostraba nada. Tuve la nueva computadora durante unos 5-6 meses, así que creo que forzar el juego de esta manera realmente rompió mi tarjeta de video :(
fuente
Sí, he roto algunas. Ya no ejecuto aplicaciones de cálculo de grid gpu. Algunas aplicaciones tienden a romperlas, especialmente cuando la máquina entra en modo de suspensión, pero en situaciones normales cuando los sopladores están funcionando / el líquido de enfriamiento está circulando, no debería haber problemas a menos que el enfriamiento sea insuficiente.
fuente
Puede hacerlo si el circuito de la tarjeta se cortocircuita, sin embargo, es muy poco probable que esto suceda porque el sistema está aislado hasta una cierta temperatura alta. En algunos casos, el sistema termodinámico de la tarjeta puede verse afectado si está realmente cerca de otro sistema o si incluso está tocando otro material que no es un sistema.
fuente
sendShortCircuit
, ya que un cortocircuito sería un defecto en la tarjeta gráfica. El software no sería responsable de esto. Esta pregunta es acerca de si, por ejemplo, las tarjetas gráficas están clasificadas como "100% de uso por hasta 1s, 90% de uso a largo plazo promedio" y el software se vio obligado a no exceder esa calificación