Placas Gráficas Atualização da versão do DirectX?

5

Ao fazer compras ou consultar as especificações da placa gráfica, você verá a versão do DirectX que ela suporta (no meu caso específico, a placa suporta 10). O que eu quero saber é que quando a Microsoft lançou sua nova versão 11, o que impediria esta placa de se comportar nos padrões DX11?

Eu teorizaria que é uma questão de firmware na placa gráfica propriamente dita, isso não poderia ser mostrado para suportar a última versão? Ou será que esta placa DX10 suportará e executará o DX11 muito bem, é apenas o fato de que a Nvidia não poderia rotulá-lo como tal desde que o DX11 ainda não saiu?

Qualquer um que tenha uma boa visão disso, me avise!

Edite: tudo bem, se você votar negativamente nessa lista ou votar para encerrá-la ... por favor, explique por que você acha que é uma 'pergunta estúpida'. Eu estou seriamente curioso sobre como ou qual a diferença entre as versões DX que exigiriam uma mudança completa de hardware. Os conjuntos de instruções da GPU são os mesmos, a única diferença no hardware é que os mais novos têm VRAM mais rápida, mais processadores de fluxo, etc. Então, por que uma placa DX10 não pode ser atualizada para suportar DX11 ?? Me dê uma razão.

    
por CenterOrbit 29.07.2011 / 01:14

4 respostas

6

A razão pela qual placas DirectX 10 não podem ser atualizadas para o DirectX 11 provavelmente seria com recursos específicos do DirectX 11, como um nível específico de precisão em operações matemáticas, esse tipo de coisa é difícil e um pouco irritante -porta em hardware que não foi projetado para funcionar com ele.

Isso seria o mesmo que uma CPU particular não suportando novos recursos introduzidos por uma CPU mais nova, com certeza os novos recursos poderiam ser emulados (e podem não ser muito mais lentos que uma implementação nativa), mas a CPU ainda não suporte os recursos necessários. Uma ideia semelhante pode ser a possibilidade de emular instruções SSE em um processador não-SSE, com certeza você poderia fazê-lo, mas é muito confuso e seria muito mais lento do que uma implementação completa de hardware.

Você pode, com um software personalizado, obter uma placa DirectX 10 para ter uma aparência tão boa quanto uma placa DirectX 11 e fazer quase tudo de maneira semelhante, mas todos os recursos nativos ou precisão extra que o DirectX 11 exige perderiam e, em geral, acho que a camada de software / emulação seria um pouco mais lenta do que uma abordagem completa de hardware.

    
por 29.07.2011 / 18:49
3

Após (e incluindo) o DirectX 10, a Microsoft decidiu simplesmente eliminar toda a questão dos "bits de compatibilidade" e apenas definir um nível mínimo de DirectX no cartão. Se sua placa for compatível com DX11, ela suporta todos os recursos do DX11 . Isso facilita para os desenvolvedores (você não precisa verificar a disponibilidade de um recurso antes de usá-lo) e garante uma experiência mais consistente.

From a conceptual standpoint, what would anybody that views this thread suggest would be required for hardware modifications to transition from a DX10 to DX11? The GPU and stream processors all have had the same or very similar instruction sets.

Na verdade, esse não é o caso. Mais uma vez, observe o que eu disse acima - para um cartão ser compatível com hardware DX11, deve suportar todos os recursos do DX11 . No passado, as mudanças entre as versões do DirectX alteravam aspectos do hardware da própria GPU, incluindo a arquitetura de pipeline, o modelo do shader (e linguagens / shaders suportados), a precisão do ponto flutuante e as expansões do conjunto de instruções.

Embora não todos esses tenham sido alterados da transição DX10 para DX11, há recursos adicionais que foram implementados no lado do hardware e do software (a maioria dessas alterações é de código fechado, então não posso comentar sobre mudanças específicas).

Dito isso, você pode executar o software DirectX 11 usando o hardware DirectX 9/10, embora sem as adições ao DirectX 11 (ou seja, tessellation, renderização multithread e shaders computacionais) e supondo que o desenvolvedor implementou corretamente o aplicativo. Eu não vejo este sempre sendo um problema, uma vez que literalmente não custa nada para implementar - é por isso que eu mencionei a coisa "bits de compatibilidade" antes.

Se você quiser adicionar os novos recursos no mais recente e melhor nível de DX, consulte o hardware para ver se ele suporta o nível DX mais recente. Se assim for, habilitá-los, caso contrário, voltar para o próximo nível de DX (em oposição a verificar a disponibilidade de recursos de hardware específicos). É por isso que os aplicativos compilados usando as bibliotecas do Direct3D 11 poderão rodar em hardware compatível com Direct3D 9/10.

    
por 29.07.2011 / 21:11
1

"Atualizar o firmware" não é a solução para todos os problemas. Os requisitos do DirectX para cada versão envolverão soluções de hardware e firmware.

    
por 29.07.2011 / 02:09
0

É porque, quando uma placa gráfica é criada, a GPU é projetada apenas para operar dentro do padrão DirectX para o qual você a vê certificada. Normalmente, o DirectX é compatível com as versões anteriores, então tudo o que precisa ser feito é aumentar a precisão aqui e ali para alguns cálculos matemáticos. Mas, com as novas versões DX, algumas vezes também são introduzidos novos recursos (como o tesselação DX11) que exigem novo suporte de hardware. Os internos reais de uma placa gráfica não são programáveis (além dos shaders, que são especificados novamente na especificação DX). Firmware é um tipo de software que reside em alguma memória interna que um chip lógico de uso geral executaria. O poder de uma GPU é que ela é projetada especificamente para não ser uma finalidade geral, mas para realizar tarefas específicas de maneira muito eficiente. Essas tarefas específicas são precisamente as tarefas que a especificação DX delineia. Assim, quando uma nova versão DX sair, novas atualizações de hardware precisam ser feitas, o que exige uma nova GPU. Sim, os fabricantes de painéis podem adicionar memória mais rápida e coisas assim, mas uma vez que a GPU é fabricada, a lógica dentro dela não pode ser alterada.

    
por 29.07.2011 / 19:55