Ao comprar ou consultar as especificações da placa gráfica, você verá a versão 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 funcionar nos padrões DX11?
Eu teorizaria que é uma questão de firmware na própria placa gráfica. Ela não poderia ser atualizada para suportar a versão mais recente? Ou esta placa DX10 suportará e executará o DX11 perfeitamente, é apenas o fato de que a Nvidia não poderia rotulá-la como tal, já que o DX11 ainda não foi lançado?
Qualquer pessoa que tenha uma boa visão sobre isso, me avise!
Editar: tudo bem, se você votar negativamente neste tópico ou votar para fechá-lo... você poderia explicar por que você acha que é uma 'pergunta estúpida'. Estou seriamente curioso para saber 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 iguais, a única diferença no hardware é que os mais novos têm VRAM mais rápido, mais processadores de fluxo, etc. Então, por que uma placa DX10 não pode ser atualizada para suportar DX11? Me dê um motivo.
Responder1
A razão pela qual as placas DirectX 10 não podem ser atualizadas para DirectX 11 provavelmente teria a ver com o DirectX 11 exigindo recursos específicos, como um determinado nível de precisão em operações matemáticas, esse tipo de coisa é difícil e um pouco chato de fazer back-port. hardware que não foi projetado para funcionar com ele.
Isso seria o mesmo que uma CPU específica não suportar novos recursos introduzidos por uma CPU mais recente, com certeza os novos recursos poderiam ser emulados (e podem funcionar não muito mais lentamente do que uma implementação nativa), mas a própria CPU ainda não suportará verdadeiramente o necessário características. Uma ideia semelhante pode ser a possibilidade de emular instruções SSE em um processador não-SSE, claro que você poderia fazer isso, mas é muito complicado e seria muito mais lento do que uma implementação completa de hardware.
Você pode muito bem, com software personalizado, fazer com que uma placa DirectX 10 tenha 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 estariam faltando e em geral Acho que a camada de software/emulação seria um pouco mais lenta do que uma abordagem completa de hardware.
Responder2
Depois (e incluindo) o DirectX 10, a Microsoft decidiu simplesmente descartar toda a questão dos “bits de compatibilidade” e apenas definir um nível mínimo de DirectX na placa. Se a sua placa for compatível com DX11, ela suportatodos 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.
Do ponto de vista conceitual, o que alguém que visualiza este tópico sugeriria que seria necessário para modificações de hardware para fazer a transição de um DX10 para DX11? Todos os processadores GPU e stream tiveram conjuntos de instruções iguais ou muito semelhantes.
Na verdade, esse não é o caso. Novamente, observe o que eu disse acima - para um cartão serhardwareCompatível com DX11,deve suportar todos os recursos do DX11. No passado, mudanças entre versões do DirectXteraspectos alterados do próprio hardware da GPU, incluindo arquitetura de pipeline, modelo de shader (e idiomas/shaders suportados), precisão de ponto flutuante e expansões de conjunto de instruções.
Enquantonem todos estesforam alterados da transição DX10 para DX11, há recursos adicionais que foram implementados tanto no lado do hardware quanto no software (a maioria dessas alterações são de código fechado, portanto não posso comentar sobre alterações específicas).
Dito isto, vocêpodeexecute o software DirectX 11 usando hardware DirectX 9/10, embora sem as adições ao DirectX 11 (ou seja, mosaico, renderização multithread e shaders de computação) e assumindo que o desenvolvedor implementou o aplicativo corretamente. Eu não vejo issosempresendo um problema, já que literalmente não custa nada para implementar - e é por isso que mencionei os "bits de compatibilidade" antes.
Se você deseja adicionar novos recursos no nível DX mais recente e melhor, consulte o hardware para ver se ele suporta o nível DX mais recente. Se sim, habilite-os, caso contrário volte para o próximo nível DX (em vez de verificar a disponibilidade de recursos de hardware específicos). É por isso que os aplicativos compilados usando as bibliotecas Direct3D 11 poderão ser executados em hardware compatível com Direct3D 9/10.
Responder3
“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.
Responder4
É porque quando uma placa gráfica é fabricada, a GPU é projetada apenas para operar dentro do padrão DirectX para o qual você a vê certificada. Normalmente o DirectX é compatível com 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, às vezes também são introduzidos novos recursos (como tesselação adicionada ao DX11) que requerem novo suporte de hardware. O interior real de uma placa gráfica não é programável (além dos shaders, que novamente são especificados nas especificações 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 foi projetada especificamente não para ser de uso geral, mas para realizar tarefas específicas com muita eficiência. Essas tarefas específicas são precisamente as tarefas descritas nas especificações DX. Assim, quando uma nova versão do DX sai, novas atualizações de hardware precisam ser feitas, o que exige uma nova GPU. Sim, os fabricantes de placas podem adicionar memória mais rápida e similares, mas uma vez fabricada a GPU, a lógica dentro dela não pode ser alterada.