Microsoft Lança Atualizações Críticas para DirectX 12, Abrindo Portas para IA e Desempenho Gráfico Superior A Microsoft acaba de disponibilizar a versão prévia do Agility SDK 1.720, trazendo consigo o aguardado Shader Model 6.10 e uma série de melhorias na

Microsoft Lança Atualizações Críticas para DirectX 12, Abrindo Portas para IA e Desempenho Gráfico Superior

A Microsoft acaba de disponibilizar a versão prévia do Agility SDK 1.720, trazendo consigo o aguardado Shader Model 6.10 e uma série de melhorias na API DirectX 12. Estas atualizações são focadas em aprimorar significativamente o desempenho em tarefas de álgebra linear, ray tracing e paralelismo em GPUs, estabelecendo um novo patamar para o desenvolvimento de jogos e aplicações que demandam alto poder de processamento gráfico.

O Shader Model 6.10 expande as capacidades já existentes no Shader Model 6.9 e no DirectX Raytracing 1.2, integrando o compilador DirectX Shader Compiler 1.10.2605.2. As novidades prometem facilitar a vida dos desenvolvedores, permitindo a criação de experiências visuais mais ricas e complexas, além de acelerar o processamento de inteligência artificial diretamente nas placas de vídeo.

Essas importantes atualizações foram divulgadas pela Microsoft, com detalhes técnicos e diretrizes para download disponíveis para os interessados em explorar as novas funcionalidades em seus hardwares. A adoção dessas tecnologias pode representar um salto na qualidade gráfica e na eficiência de processamento para diversas aplicações.

Shader Model 6.10: Mais Poder e Flexibilidade para Desenvolvedores

A principal novidade do Shader Model 6.10 são as APIs de matrizes LinAlg (Linear Algebra), que facilitam operações complexas de álgebra linear. Além disso, foram introduzidas as funções intrínsecas Group Wave Index, o atributo Variable Group Shared Memory e novos intrínsecos de ray tracing, como TriangleObjectPositions e ClusterID. Funções intrínsecas funcionam como comandos diretos e otimizados para a GPU, acessando recursos de hardware de forma acelerada e substituindo cálculos mais lentos.

Esses recursos trabalham de forma unificada em uma única API, permitindo que os desenvolvedores implementem técnicas de renderização neural diretamente de threads de shader em pipelines gráficos em tempo real. Isso abre caminho para o uso de operações de matriz MMA (Matrix Multiply-Accumulate) de alta largura de banda, ideais para aprendizado de máquina e processamento de imagem avançado, conforme detalhado nas informações da Microsoft.

Group Wave Index e Variable Group Shared Memory: Eliminando Limitações Históricas

As novas funções GetGroupWaveIndex() e GetGroupWaveCount() fornecem aos shaders uma compreensão clara da organização das tarefas dentro da GPU. Isso padroniza o comportamento, onde GetGroupWaveIndex() retorna o índice da wave atual e GetGroupWaveCount() informa o número total de waves. Essa funcionalidade permite que as tarefas cooperem de maneira inteligente, eliminando a necessidade de cálculos manuais que variavam entre diferentes arquiteturas de placa, garantindo que um único código funcione de forma mais consistente em diversos hardwares, conforme explicado pela Microsoft.

Outra melhoria significativa é a remoção do limite tradicional de 32 KB para memória groupshared (28 KB para mesh shaders). O novo sistema permite que o limite real do hardware seja consultado em tempo de execução através de MaxGroupSharedMemoryPerGroup. Os desenvolvedores podem declarar a memória necessária com o atributo [GroupSharedLimit(<bytes>)], recebendo validação do compilador em tempo de compilação. Isso libera algoritmos complexos, como culling de tiles e processamento de grandes volumes de dados, que antes eram restritos por limitações antigas, e não pela capacidade real do hardware.

APIs de Lista de Comandos Assíncronos em Lote: O Fim dos Gargalos de Serialização

Comandos legados como CopyBufferRegion e ClearUnorderedAccessView frequentemente executavam em série devido a limitações no modelo antigo de ResourceBarrier, que não expressava dependências entre operações do mesmo tipo. Isso forçava a GPU a processar cada cópia ou limpeza sequencialmente, mesmo que utilizassem áreas de memória distintas. As novas APIs de Batched Async Commands (Comandos Assíncronos em Lote) resolvem esse problema ao remover o contrato de serialização implícito.

Essas novas APIs introduzem métodos de lista de comandos que permitem ao driver e ao hardware sobrepor trabalho independente dentro de uma única chamada em lote. Elas exigem barreiras aprimoradas apenas onde há risco real de conflito de dados, como em escritas sobrepostas no mesmo buffer, enquanto o restante da carga de trabalho executa de forma concorrente, otimizando significativamente o fluxo de processamento.

Compatibilidade de Hardware para as Novas Funcionalidades

A adoção dos novos recursos do Shader Model 6.10 e do Agility SDK 1.720 varia conforme o fabricante e a arquitetura da GPU. A Microsoft tem trabalhado em conjunto com as principais fornecedoras de GPUs, como NVIDIA, Intel e AMD, para garantir o suporte a essas inovações, permitindo que os desenvolvedores aproveitem ao máximo o poder do hardware moderno em suas criações.

Seja o primeiro a receber notícias e cursos gratuitos