Ordinateurs et composants

DirectX 12: Vraiment compatible avec toutes les cartes ?

DirectX 12: Vraiment compatible avec toutes les cartes ?

Depuis son annonce lors de la Game Developers Conference 2014, DirectX 12 était annoncé comme compatible avec toutes les cartes supportant DirectX 11. Mais voilà, quelques semaines après sa sortie, nous sommes en droit de nous poser quelques questions vis à vis de la compatibilité réelle de notre matériel…

Avant de nous lancer dans des explications poussées, il faut bien discerner le support d’un API et de ses composantes. Tout d’abord, le support de l’API: Nvidia a annoncé que toutes les cartes depuis Fermi (série 400) seront compatibles tandis qu’AMD de son côté, nous indique que tous les GPU utilisant GCN (serie HD 7000) supporteront l’API de Microsoft.

Entrons ensuite dans le cœur du problème, le support des fonctionnalités et des différents niveaux de DirectX12 ou plus précisément de sa composante 3D Direct3D. Les composantes introduites avec DirectX12 et 12.1 se nomment respectivement Direct3D 12_0 et Direct3D 12_1 et ce sont ces dernières qui apportent leur lot de nouveautés (Stackage de mémoire en configuration Bi-GPU, Faible coût en CPU etc…) et donc, ce sont ces dernières qui vont nous intéresser…

Restons donc dans le vif du sujet: Toutes les cartes (actuelles) sont elles compatibles avec D3D 12_0/1?

Non. Du moins pas les « anciennes générations » de GPU. Et cela tant chez Nvidia que chez AMD… Chez la marque au caméléon, seul les GPU Maxwell 2 (séries 900) supportent D3D 12_0/1, les GPU Maxwell 1 (GTX 750/ti) passent eux sous Direct3D 11_1 et les GPU Kepler restent sur Direct3D 11_0. Chez les rouges, c’est plus compliqué (ou moins simple): les GPU Tahiti, Pitcairn, Oland et Cap Verde (Soit les R9 280/X, 270/X, 370/X, 265 et les R7 250/X) restent sur le niveau 11_1 de Direct3D tandis que tout les autres passent sous D3D 12_0 mais aucun ne passe sous D3D 12_1.

Le problème vient des MMU (Memory Management Unit), présents à l’intérieur des cartes, qui doivent être « flexibles » pour pouvoir supporter différentes versions de Direct3D. Or, dans les cartes cités précédemment, les MMUs ne sont pas flexibles et ne sont donc pas aptes à supporter la nouvelle version de D3D.

 

Conclusion:
Sur le papier, DX12 était annoncé comme compatible avec toutes les cartes DX11 mais seulement voilà, la grande majorité des GPUs AMD de série 200 ne sont pas compatibles avec la composante 3D de DX12 et les GPUs de série 700 de Nvidia non plus. En théorie, rien de très dérangeant pour l’instant mais lorsque les premiers jeux DX12 vont sortir, les configurations bi-GPU non compatibles D3D 12_0 et/ou avec de petits CPU vont commencer à montrer des faiblesses car les développeurs pourront créer des jeux utilisant beaucoup de Vram et beaucoup de ressources CPU. Un autre aspect plus axé graphismes est l’absence du support de D3D 12_1 chez AMD. En effet, ce dernier introduit des effets graphiques particulièrement intéressants que seul Nvidia peut exploiter actuellement.

Wait & see

 

Voir commentaires (8)
8 Comments

      Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

      Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.