« Chez Microsoft, nous nous efforçons de répondre aux commentaires des clients, donc lorsque nous avons reçu ces commentaires de Blizzard et d'autres développeurs, nous avons décidé d'agir. Microsoft a le plaisir d'annoncer que nous avons porté le runtime du mode utilisateur D3D12 sur Windows 7. Cela permet aux développeurs de tirer pleinement parti des dernières améliorations D3D12 tout en continuant à soutenir les clients sur des systèmes d'exploitation plus anciens. »
Le patch 8.1.5 de World of Warcraft : Battle for Azeroth fait de Blizzard le premier développeur à utiliser DirectX 12 sur Windows 7. Les joueurs devraient bénéficier d'une amélioration des performances, bien que Microsoft souligne que "les meilleures performances seront toujours sur Windows 10, car il contient plusieurs optimisations conçues pour rendre DirectX 12 encore plus rapide".
Microsoft a assuré que travaille avec d'autres développeurs pour apporter les jeux DirectX 12 à Windows 7 et les annonces suivront à l'avenir. Pour le moment, cette prise en charge de DirectX 12 dans Windows 7 est liée exclusivement à World of Warcraft, vous ne pouvez pas télécharger les API DirectX 12 et les installer manuellement sur Windows 7. Microsoft n'a pas publié le runtime API complet sur Windows 7.
Qu'est-ce que DirectX 12 offre de plus que DirectX 11 ? Les dernières API DirectX vous permettent de paralléliser et de répartir la charge entre les différents cœurs de processeur de manière beaucoup plus efficace. Ils donnent spécifiquement aux développeurs un un contrôle direct sur les ressources et les GPU pour mieux les optimiser en fonction de leurs besoins.
Il est possible de fournir un niveau d'abstraction matérielle beaucoup plus faible tirer pleinement parti des capacités de multithreading des processeurs, les nombreux cœurs des GPU et potentiellement les différents GPU et cartes vidéo présents dans un ordinateur.
Les nouvelles bibliothèques permettent aux développeurs de jouer opérations parallèles utilisant des GPU séparés. Habituellement, tous les jeux 3D intègrent une phase de post-traitement pour le rendu des images. Avec le DX 12 il est possible de confier la tâche à un deuxième GPU libérant le premier GPU, qui peut ainsi commencer à calculer la prochaine frame, pour un rendu plus rapide (Asynchronous Shaders).
L'une des caractéristiques les plus originales de DirectX 12 (malheureusement non utilisé) est que le traitement parallèle peut être effectué sur différents GPU (DirectX 12 Multiadapter). De nombreux ordinateurs portables ont deux GPU, un intégré au processeur (souvent un Intel HD Graphics) pour une utilisation en mode batterie et un autre GPU spécialisé (AMD ou Nvidia) pour des tâches plus exigeantes.
Avec DX12, les développeurs peuvent utiliser des GPU dédiés pour le rendu de scène et des GPU intégrés pour le post-traitement. Comme écrit ci-dessus, cependant, cette possibilité, bien que démontrée publiquement par Microsoft et certains développeurs, n'a jamais été prise en compte - ou plutôt, l'indice est qu'elle a été opposée par les fabricants de matériel.
DirectX12 améliore également la gestion de la mémoire et réduit les effets de la fragmentation. Plus important encore, ils ont tendance à offrir une fréquence d'images plus cohérente grâce à un nouveau mécanisme de mise en cache. Enfin, DirectX 12 introduit de nouvelles fonctions et optimisations pour le rendu. Dans le pipeline de génération de scènes 3D, il y a de la place pour de très grandes améliorations avec les algorithmes de détection de collision, la gestion de la transparence et l'optimisation sur le front de la géométrie (backface culling, occlusion culling, frustum culling, contribution culling).
DirectX 12 sur Windows 7, tordu !