Mantle era uma API de renderização de baixa sobrecarga voltada para videogames 3D. A AMD desenvolveu originalmente o Mantle em cooperação com a DICE, a partir de 2013. O Mantle foi projetado como uma alternativa ao Direct3D e ao OpenGL, principalmente para uso em computadores pessoais. Em 2015, o desenvolvimento público do Mantle foi suspenso e em 2019 completamente descontinuado, à medida que o DirectX 12 e o Vulkan derivado do Mantle ganharam popularidade.
Visão geral
As melhorias na chamada de desenho do Mantle ajudam a aliviar casos em que a CPU é o gargalo. Os objetivos de design do Mantle são permitir que jogos e aplicativos utilizem CPUs e GPUs de forma mais eficiente, eliminar gargalos de CPU reduzindo a sobrecarga de validação de API e permitindo um dimensionamento mais eficaz em vários núcleos de CPU, fornecer rotinas de desenho mais rápidas e permitir maior controle sobre o pipeline gráfico eliminando certos aspectos da abstração de hardware inerentes às APIs gráficas atuais OpenGL e Direct3D.
Cenários limitados pela CPU
Com uma implementação básica, o Mantle foi projetado para melhorar o desempenho em cenários onde a CPU é o fator limitante:
Validação e processamento de comandos de API com baixa sobrecarga;
Controle de buffer de comando explícito;
Escalonamento de desempenho próximo ao linear a partir da reordenação de buffers de comando em vários núcleos de CPU;
Redução da sobrecarga de compilação do shader em tempo de execução;
A AMD afirma que o Mantle pode gerar até 9 vezes mais chamadas de desenho por segundo do que APIs comparáveis, reduzindo a sobrecarga da CPU;
Suporte de renderização de CPU paralela multithread para pelo menos 8 núcleos.
Cenários vinculados à GPU
O Mantle também foi projetado para melhorar situações em que altas resoluções e configurações de "máximo detalhe" são usadas, embora em um grau um pouco menor, pois essas configurações sobrecarregam os recursos da GPU de uma forma que é mais difícil de melhorar no nível da API. Embora o Mantle forneça alguns recursos integrados para melhorar o desempenho da GPU, os ganhos nesses casos dependem em grande parte de quão bem os recursos e otimizações do Mantle estão sendo utilizados pelo mecanismo de jogo. Algumas dessas características incluem:
Redução de envios de buffers de comando
Controle explícito de compressão, expansão e sincronização de recursos
Fila DMA assíncrona para uploads de dados independentes do mecanismo gráfico
Fila de computação assíncrona para sobreposição de cargas de trabalho de computação e gráficos
Otimizações de formatos de dados por meio de acesso flexível a buffer/imagem
Recursos avançados de anti-aliasing para otimizações MSAA/EQAA
Suporte nativo multi-GPU
Benchmarks
Desempenho superior ao Direct3D 11
Desempenho melhorado no Battlefield 4 e até 319% mais rápido na demonstração do Star Swarm em configuração de GPU única em situações extremamente limitadas pela CPU.
Outras reivindicações
Mais fácil de portar do Mantle para o Direct3D 12 do que do Direct3D 11 para o Direct3D 12
Na GDC 14, o funcionário da Oxide Games, Dan Baker, declarou que o Mantle abordaria desafios fundamentais de desenvolvimento que não poderiam ser resolvidos por uma adaptação de uma API existente. É difícil otimizar o driver do dispositivo gráfico.
No AMD Developer Summit (APU) em novembro de 2013, Johan Andersson, diretor técnico do mecanismo Frostbite na DICE elogiou Mantle por tornar o desenvolvimento mais fácil e permitir que os desenvolvedores inovassem.
Mantle tem como alvo 100K
Monolithic Pipeline
Salvamento e carregamento de pipeline
Modelo de Recursos Híbridos
Recursos generalizados
Controle sobre a preparação dos recursos
Controle de fluxo dinâmico sem intervenção da CPU
Controle direto da GPU
Redução da sobrecarga de compilação do shader em tempo de execução
Melhor controle sobre o hardware.
“Todos os recursos de hardware são expostos por meio da API.”
Redução de envios de buffer de comando
Otimizações de formatos de dados por meio de acesso flexível a buffer/imagem
Controle explícito de compressão, expansão e sincronização de recursos
Fila DMA assíncrona para uploads de dados independentes do mecanismo gráfico
Fila de computação assíncrona para sobreposição de cargas de trabalho de computação e gráficos
Novas técnicas de renderização
Suporte
A API Mantle estava disponível apenas como parte do AMD Catalyst antes da versão 19.5.1, que estava disponível para Microsoft Windows. A AMD prometeu oferecer suporte à API Mantle apenas para suas placas gráficas e APUs baseadas na microarquitetura Graphics Core Next, mas não para produtos mais antigos baseados na microarquitetura TeraScale. Em julho de 2014, a implementação da API Mantle estava disponível para o seguinte hardware:
todas as APUs "Kaveri" baseadas em Steamroller: séries AMD A10-7000 e AMD A8-7000
todas as APUs "Kabini" e "Temash" baseadas em Jaguar: séries AMD E1-2000, E2-3000, A4-1200, A4-1350, A4-5000, A6-1450, A6-5200, Sempron 2650, Sempron 3850, Athlon 5150, Athlon 5350, etc.
todas as APUs "Beema" e "Mullins" baseadas em Puma: E1 Micro-6200T, A4 Micro-6400T, A10 Micro-6700T, E1-6010, E2-6110, A4-6210, A6-6310, etc.
O Mantle foi originalmente planejado para ser lançado em outras plataformas além do Windows, incluindo Linux, mas isso nunca aconteceu.
Embora a API tenha sido oficialmente descontinuada, Clément Guérin iniciou uma camada de tradução do Mantle para o Vulkan chamada GRVK em meados de 2020. Isso permite que a API e, consequentemente, os jogos continuem existindo mesmo sem o suporte dos drivers gráficos do Mantle.
Motores de jogo
Na GDC 2014, a Crytek anunciou que dará suporte ao Mantle em seu CryEngine.
Durante uma apresentação do GPU 14 Tech Days, foi feito um anúncio de que o Frostbite 3 incluiria um backend Mantle.
O motor de jogo Nitrous da Oxide Games, juntamente com o DirectX 12. O benchmark Mantle ainda está disponível em um teste de estresse gratuito do Star Swarm.
Thief é baseado em uma Unreal Engine 3 modificada que suportava Mantle.
Um conjunto de recursos recentes do OpenGL 4.4, juntamente com a texturização sem vinculação como uma extensão, também pode reduzir substancialmente a sobrecarga do driver. Esta abordagem, denominada pelo Khronos Group como "AZDO" (Approaching Zero Driver Overhead), demonstrou alcançar melhorias substanciais de desempenho, aproximando-se daquelas declaradas para Mantle. A Nvidia estendeu o OpenGL com uma série de recursos que reduzem ainda mais a sobrecarga do driver.
Após os detalhes sobre o DirectX 12 serem tornados públicos, a AMD declarou que pretende oferecer suporte total ao DirectX 12, mas ao mesmo tempo afirmou que o Mantle "[ainda] fará algumas coisas mais rápido". Eles também alegaram que, devido às semelhanças na filosofia de design das duas APIs, portar jogos do Mantle para o DirectX 12 será relativamente simples, e mais fácil do que portar do DirectX 11 para o 12.
Em última análise, a AMD descontinuou o Mantle como uma API de jogo devido aos objetivos semelhantes do DirectX 12 e do glNext (mais tarde renomeado Vulkan). A AMD doou a API Mantle ao grupo Khronos, que a desenvolveu na API Vulkan.
Comentários
“
Grande parte do trabalho que os pilotos costumavam fazer em nome de um aplicativo agora é responsabilidade do motor de jogo. ... Isso também significa que esse trabalho, que ainda precisa ser feito, é feito por alguém com consideravelmente mais informações. Como o motor sabe exatamente o que fará e como fará, ele é capaz de tomar decisões de design que os pilotos não conseguiriam.
Jogadores de PC e profissionais tradicionalmente usavam programas como Fraps e Bandicam para gravar gameplays, medir FPS de jogos e exibir sobreposições de FPS, mas como o Mantle é novo, a maioria dos softwares de gravação tradicionais não funciona com novos títulos enquanto usa a nova API.
Em parceria com a AMD, a comunidade de jogos para PC e a fabricante de software de gravação de jogos Raptr reformularam seu cliente e o renomearam como cliente AMD Gaming Evolved em conjunto com a iniciativa Gaming Evolved da AMD no espaço de jogos para PC. Com a parceria, os jogadores que instalarem e usarem o cliente durante o jogo podem ganhar pontos para gastar em itens digitais, como jogos ou hardware de computador, bater papo com amigos, manter sua biblioteca de jogos otimizada, verificar atualizações de driver de placa de vídeo, transmitir seus jogos para a Twitch e gravar sua própria jogabilidade com um GVR integrado, um recurso semelhante ao software Nvidia Shadowplay em seu próprio software GeForce Experience, que permite aos usuários definir um comprimento de buffer personalizado em seu jogo para gravação retroativa do jogo com o apertar de um botão, de modo que nenhum momento seja perdido e os usuários normalmente não precisam de configurações caras de disco rígido para gravar. No final de 2014, a AMD atualizou o cliente para oferecer suporte à gravação e streaming de títulos usando o Mantle. Desde sua atualização inicial no cliente, o software Gaming Evolved era o único a oferecer suporte oficial à gravação e transmissão de jogos habilitados para Mantle.
Além do Raptr, o D3DGear foi o único outro software comercial de gravação de jogos que suportava jogos baseados na API Mantle.