¿Actualización de la versión DirectX de las tarjetas gráficas?

¿Actualización de la versión DirectX de las tarjetas gráficas?

Al comprar o mirar las especificaciones de la tarjeta gráfica, verá la versión de DirectX que admite (en mi caso específico, la tarjeta admite 10). Lo que quiero saber es que cuando Microsoft lanzó su nueva versión 11, ¿qué impediría que esta tarjeta funcione con los estándares DX11?

Yo teorizaría que es una cuestión de firmware en la propia tarjeta gráfica, ¿no podría actualizarse para que sea compatible con la última versión? ¿O esta tarjeta DX10 admitirá y ejecutará DX11 sin problemas, es sólo el hecho de que Nvidia no pudo etiquetarla como tal ya que DX11 aún no estaba disponible?

Cualquiera que tenga una buena idea sobre esto, ¡hágamelo saber!

Editar: está bien, si rechazas este hilo o votas para cerrarlo... ¿podrías explicar por qué crees que es una "pregunta estúpida"? Realmente tengo curiosidad por saber cómo o cuál es la diferencia entre las versiones DX que requerirían un cambio completo de hardware. Los conjuntos de instrucciones de GPU son los mismos, la única diferencia en el hardware es que las más nuevas tienen VRAM más rápida, más procesadores de flujo, etc. Entonces, ¿por qué no se puede actualizar una tarjeta DX10 para que admita DX11? Dame una razón.

Respuesta1

La razón por la cual las tarjetas DirectX 10 no se pueden actualizar a DirectX 11 probablemente tenga que ver con que DirectX 11 exige características particulares, como un nivel particular de precisión en operaciones matemáticas, ese tipo de cosas es difícil y un poco molesto para trasladarlas hardware que no fue diseñado para funcionar con él.

Esto sería lo mismo que una CPU en particular que no admite nuevas funciones introducidas por una CPU más nueva, seguro que las nuevas funciones podrían emularse (y es posible que no se ejecuten mucho más lento que una implementación nativa), pero la CPU en sí aún no admitirá realmente las funciones requeridas. características. Una idea similar podría ser la posibilidad de emular instrucciones SSE en un procesador que no sea SSE, seguro que podría hacerlo, pero requiere mucha manipulación y sería mucho más lento que una implementación de hardware completa.

Es posible que, con un software personalizado, consigas que una tarjeta DirectX 10 se vea tan bien como una tarjeta DirectX 11 y haga casi todo de manera similar, pero faltarían todas las funciones nativas o la precisión adicional que exige DirectX 11 y, en general, Creo que la capa de software/emulación sería bastante más lenta que un enfoque de hardware completo.

Respuesta2

Después (e incluido) DirectX 10, Microsoft decidió simplemente descartar todo el asunto de los "bits de compatibilidad" y simplemente establecer un nivel mínimo de DirectX en la tarjeta. Si su tarjeta es compatible con DX11, admitetodas las funciones del DX11. Esto lo hace más fácil para los desarrolladores (no es necesario verificar la disponibilidad de una función antes de usarla) y garantiza una experiencia más consistente.

Desde un punto de vista conceptual, ¿qué sugeriría cualquiera que vea este hilo que se necesitaría para que las modificaciones de hardware realicen la transición de un DX10 a un DX11? Todos los GPU y procesadores de flujo han tenido conjuntos de instrucciones iguales o muy similares.

En realidad, ese no es el caso. Nuevamente, tenga en cuenta lo que dije anteriormente: para que una tarjeta seahardwareCompatible con DX11,debe admitir todas las funciones de DX11. En el pasado, los cambios entre versiones de DirectXtenerSe cambiaron aspectos del hardware de la GPU en sí, incluida la arquitectura de canalización, el modelo de sombreado (y los lenguajes/sombreadores admitidos), la precisión de punto flotante y las expansiones del conjunto de instrucciones.

Mientrasno todos estosse han cambiado de la transición DX10 a DX11, hay características adicionales que se han implementado tanto en el lado del hardware como del software (la mayoría de estos cambios son de código cerrado, por lo que no puedo comentar sobre cambios específicos).

Dicho esto, tupoderejecute el software DirectX 11 utilizando hardware DirectX 9/10, aunque sin las adiciones a DirectX 11 (es decir, teselación, renderizado multiproceso y sombreadores de cálculo), y suponiendo que el desarrollador haya implementado correctamente la aplicación. no veo estoalguna vezsiendo un problema, ya que literalmente no cuesta nada implementarlo, razón por la cual mencioné antes lo de los "bits de compatibilidad".

Si desea agregar nuevas funciones en el último y mejor nivel DX, consulte el hardware para ver si es compatible con el último nivel DX. Si es así, habilítelos; de lo contrario, vuelva al siguiente nivel DX (en lugar de verificar la disponibilidad de funciones de hardware específicas). Es por eso que las aplicaciones compiladas con las bibliotecas Direct3D 11 podrán ejecutarse en hardware compatible con Direct3D 9/10.

Respuesta3

"Actualizar el firmware" no es la solución a todos los problemas. Los requisitos de DirectX para cada versión incluirán soluciones de hardware y firmware.

Respuesta4

Esto se debe a que cuando se fabrica una tarjeta gráfica, la GPU solo está diseñada para funcionar dentro del estándar DirectX para el que está certificada. Por lo general, DirectX es compatible con versiones anteriores, por lo que todo lo que hay que hacer es aumentar la precisión aquí y allá para algunos cálculos matemáticos. Pero con las nuevas versiones de DX, a veces también se introducen nuevas características (como la teselación agregada de DX11) que requieren nuevo soporte de hardware. Los componentes internos reales de una tarjeta gráfica no son programables (aparte de los sombreadores, que nuevamente se especifican en la especificación DX). El firmware es un tipo de software que reside en alguna memoria interna que ejecutaría un chip lógico de propósito general. El poder de una GPU es que en realidad está diseñada específicamente no para ser de propósito general, sino para realizar tareas específicas de manera muy eficiente. Estas tareas específicas son precisamente las tareas que describe la especificación DX. Entonces, cuando sale una nueva versión de DX, es necesario realizar nuevas actualizaciones de hardware, lo que requiere una nueva GPU. Sí, los fabricantes de placas pueden agregar memoria más rápida y cosas similares, pero una vez que se fabrica la GPU, la lógica interna no se puede cambiar.

información relacionada