Directx 12 avantages et inconvénients. DX11 et DX12 : y a-t-il une différence entre eux ? Banc d'essai, méthodologie de test

La technologie appartient à l'avenir : de nombreuses améliorations ont été intégrées à la nouvelle interface de programmation. Direct3D 12 (et son homologue multiplateforme Vulkan) permet au moteur de jeu de gérer plus efficacement les ressources GPU en gérant directement les tâches qui, dans les itérations précédentes de l'API, étaient effectuées par le pilote ou les bibliothèques Direct3D elles-mêmes. Les GPU modernes prennent entièrement en charge les capacités de rendu Direct3D 12 et offrent une intégration transparente des graphiques avec l'informatique à usage général (appelée informatique asynchrone).

Mais en pratique, les API de nouvelle génération sont encore loin d’exploiter tout leur potentiel. N'embellissons pas l'image qui s'est dégagée lors de la première partie des tests des cartes vidéo dans Direct3D 12 et Vulkan. En fait, seuls deux des jeux que nous utilisons régulièrement comme benchmarks GPU ont montré ce que les nouveaux logiciels peuvent faire avec la bonne quantité d'efforts de la part des développeurs - nous parlons d'Ashes of the Singularity et de DOOM. Dans d'autres tests, lors du changement d'API, on peut compter, au mieux, sur une augmentation modérée des performances, puis avec beaucoup de réserves.

Ainsi, parmi les dernières générations de processeurs graphiques, seules les grosses puces AMD - Hawaii (Radeon R9 390X), Fiji (Radeon R9 Fury X) et Vega (Radeon RX Vega 64) - ont montré une plus grande sympathie pour Direct3D 12. Sur les performances du vaisseau amiral Cartes vidéo NVIDIA(GeForce GTX 1080 Ti), l'interface logicielle n'a en moyenne aucun effet, et les autres processeurs « verts » fonctionnent moins bien sous celle-ci que sous l'ancienne. Enfin, Microsoft a involontairement attribué une marque noire aux puces dotées de l'architecture Kepler et Maxwell, qui, apparemment, ne bénéficieront jamais d'un support complet dans les moteurs de jeu pour Direct3D 12.

La faiblesse de la nouvelle génération d'API est le revers de leur force : les bibliothèques « fines » Direct3D 12 ont transféré de nombreuses fonctions aux développeurs de moteurs de jeux, et la mise en œuvre des techniques de programmation nécessaires dans les logiciels grand public est en retard. Ce n’est pas surprenant, car dans ordinateurs de jeu Il existe encore de nombreuses cartes vidéo qui, au mieux, ne sont formellement compatibles qu'avec Direct3D 12 et Vulkan, une optimisation puissante des jeux pour les nouvelles API ne peut donc être observée que dans des projets individuels basés sur leurs propres moteurs.

API graphiques et dépendance au processeur

Cependant, certaines fonctionnalités de Direct3D 12 et de Vulkan ne nécessitent pas beaucoup d'efforts de la part des développeurs de jeux. La structure même du pipeline de ces API permet de réduire la charge sur le processeur central en réduisant le temps de préparation des appels de tirage, ce qui est particulièrement important lorsqu'il y a de nombreux modèles individuels à l'écran [remarque : l'appel Draw est une commande qui nécessite la création d'un seul maillage polygonal].

Ce problème a été remarqué pour la première fois par AMD et DICE, les créateurs de l'interface propriétaire Mantle de bas niveau. Le premier titre à prendre en charge Mantle était Battlefield 4, mais en 2014, les graphismes du jeu n'étaient pas si riches en géométrie que le processeur limiterait la fréquence d'images sur un système équilibré. Même un an plus tard, nous sommes arrivés à la conclusion (voir nos tests de dépendance au processeur) que tout processeur Intel moderne doté de quatre cœurs libère le potentiel des GPU haut de gamme de l'époque.

Mais ces derniers temps, la situation a changé : les jeux sont devenus plus complexes et les GPU ont reçu une puissance de calcul considérablement accrue. Les processeurs, au contraire, se développent assez lentement en termes de performances monothread, et les cinquième, sixième, septième, etc. cœurs sont rarement utilisés dans les jeux. De nombreux joueurs sont passés d'un processeur double cœur à un processeur quadricœur dans l'espoir de ne pas le changer avant de nombreuses années. La question de la dépendance au processeur est donc redevenue pertinente.

L’exemple le plus frappant, quoique plutôt exotique, est la stratégie Ashes of the Singularity. Son moteur, justement grâce au retour rapide d'appel de tirage, augmente considérablement ses performances sous Direct3D 12 et Vulkan, même avec un processeur central puissant. Mais notre méthode inclut également d’autres jeux à la géométrie riche. Cette fois, nous testerons sur une plate-forme à quatre cœurs et une fréquence CPU réduite, puis comparerons les résultats avec ce qui avait été obtenu précédemment en utilisant un processeur hautes performances.

Lors de la partie précédente des tests, le processeur de notre banc de test, le Core i7-5960X, fonctionnait à une fréquence constante de 4 GHz avec huit cœurs actifs. Pour simuler un processeur plus faible, nous avons désactivé la moitié des cœurs et installé fréquence d'horlogeà environ 2,5 GHz.

Pour être honnête, ce n'est pas une configuration très réaliste pour les processeurs Intel modernes (même les plus jeunes modèles Core i5 des générations Caby Lake et Coffee Lake prennent plus de temps à fonctionner). hautes fréquences avec quatre cœurs à pleine charge), mais il est tout à fait cohérent avec certains modèles des générations précédentes. 1,5 GHz est une différence appropriée pour montrer clairement le lien entre la version de l'API graphique et la dépendance au processeur, et laisser la mesure des fréquences d'images sur l'ensemble de la gamme de modèles de CPU modernes rester une tâche pour la prochaine partie de notre série « Dépendance au processeur ».

En revanche, nous ne sommes pas allés assez loin pour laisser deux cœurs actifs. Il n'y a plus de place pour un tel processeur dans un PC domestique moderne, et certains jeux ne fonctionneront tout simplement pas correctement sur deux cœurs.

Sur la base des résultats des premiers tests, nous avons disqualifié plusieurs cartes vidéo parmi les participants, principalement les GeForce GTX 970 et GTX 980 Ti, qui ne sont pas adaptées aux jeux sous Direct3D 12 et Vulkan en raison de caractéristiques architecturales. De plus, les titres de jeux économiques ont été exclus. Cartes vidéo Radeon RX 560 et GeForce GTX 1050 Ti - ils ne disposent tout simplement pas de GPU suffisamment puissants pour que l'optimisation de l'API joue un rôle important, même sur une plate-forme faible.

Enfin, nous avons trouvé plusieurs erreurs dans les résultats des tests de la première partie de l'article et présenterons toutes les données (pour les processeurs forts et faibles) dans des graphiques et des tableaux récapitulatifs. Pour garantir une comparaison équitable, les nouveaux résultats ont été obtenus en utilisant les mêmes versions de pilotes (Radeon Software Crimson Adrenalin Edition 18.1.1 et GeForce Game Ready Driver 390.65) que nous avons utilisées la dernière fois. Les pilotes sont assez anciens, mais si nous répétions les tests sur les versions actuelles, cela n'aurait pas affecté les résultats de manière significative. Après tout, le plus récent des jeux sélectionnés est sorti en septembre de l'année dernière et les pilotes contiennent déjà des optimisations pour chacun d'entre eux. Au cours des dernières années, les fabricants de GPU n’ont apporté aucune modification globale au logiciel améliorant les performances globales.

Banc d'essai, méthodologie de test

Configuration du banc de test
CPU Intel Core i7-5960X (4 cœurs à 2,5 GHz, fréquence constante)
Intel Core i7-5960X (8 cœurs à 4,0 GHz, fréquence constante)
Carte mère ASUS RAMPAGE V EXTRÊME
RAM Corsair Vengeance LPX, 2133 MHz, 4 × 4 Go
ROM SSD Intel 520 240 Go + Crucial M550 512 Go
Unité de puissance Corsaire AX1200i, 1200 W
Système de refroidissement du processeur Archonte Thermalright
Cadre Banc d'essai CoolerMaster V1.0
Moniteur NECEA244UHD
système opérateur Windows 10 Professionnel x64
Logiciel pour GPU AMD
Toutes les cartes vidéo Logiciel Radeon Crimson Adrenalin Edition 18.1.1
Logiciel GPU NVIDIA
Toutes les cartes vidéo Pilote GeForce Game Ready 390.65
Benchmarks : jeux
Jeu (par ordre de date de sortie) API Paramètres, méthode de test Anticrénelage plein écran
1920×1080 / 2560×1440 3840×2160
Montée de la tombe Raider DirectX 11/12 Max. qualité, VXAO désactivé Benchmark intégré Désactivé
La Division de Tom Clancy DirectX 11/12 Max. qualité, HFTS désactivé Benchmark intégré SMAA 1x Ultra + TAA : suréchantillonnage TAA : Stabilisation
PERTE OpenGL 4.5/Vulkan Max. qualité. Mission Fonderie TSSAA 8TX Désactivé
Deus Ex : L'humanité divisée DirectX 11/12 Max. qualité. Benchmark intégré Désactivé
Champ de bataille 1 DirectX 11/12 Max. qualité. OCAT, début de la mission Over the Top TAA
Cendres de la singularité : escalade DirectX 11/12/Vulkan Désactivé
Total War : WARHAMMER II, benchmark intégré DirectX 11/12 Max. qualité. Benchmark intégré (Battle Benchmark) Désactivé

Le clip de test comprenait sept jeux de 2016 à 2017, dont six prennent en charge l'API Direct3D 12 et deux prennent en charge Vulkan. On sait avec certitude que tous, d'une manière ou d'une autre, utilisent la fonction Multi-Engine (« calculs asynchrones »). Et quelques mots sur DOOM. Ce jeu utilise les fonctions dites Shader Intrinsitc - des shaders qui sont directement exécutés sur le GPU de l'architecture sélectionnée, en contournant l'étape de compilation du code de haut niveau. Seul Vulkan, contrairement à OpenGL et Direct3D de n'importe quelle version, offre cette opportunité, et seul AMD a publié une extension correspondante pour Vulkan. NVIDIA possède également ses propres Shader Intrinsics, mais ils ne sont disponibles que via l'interface propriétaire NVAPI ou les bibliothèques GameWorks. C'est pourquoi Vulkan dans DOOM a apporté une amélioration si puissante des performances aux GPU AMD, même si les puces NVIDIA ne sont pas non plus offensées.

Déjà le 29, avec la sortie Windows 10, sera disponible une nouvelle version DirectX, qui promet d'augmenter les performances dans les jeux et plus encore. Contrairement à DirectX 11, vous n'aurez pas besoin d'acheter une nouvelle carte vidéo, ce qui est une bonne nouvelle. DirectX12 promet de fonctionner sur de nombreux appareils : smartphones, tablettes, ordinateurs portables, Ordinateur personnel Et Xbox One . Pour ces derniers, Microsoft lui-même prévoit une augmentation des performances, même par rapport à PS4.

Qu’est-ce que DirectX ?

« DirectX(de l'anglais direct- direct, immédiat) est un ensemble d'API conçues pour résoudre des problèmes liés à la programmation sous les fenêtres. Le plus largement utilisé dans l’écriture de jeux informatiques. Kit de développement DirectX pour les fenêtres disponible gratuitement sur le site Microsoft. Souvent mis à jour Versions DirectX fourni avec les applications de jeux." (c) Wikipédia

  • DirectX 6.0 - multitexturation
  • DirectX 7.0 - prise en charge matérielle des transformations, du recadrage et de l'éclairage
  • DirectX 8.0 - modèle de shader 1.1
  • DirectX 8.1 - Pixel Shaders 1.4 et Vertex Shaders 1.1
  • DirectX 9.0 - modèle de shader 2.0
  • DirectX 9.0b - Pixel Shaders 2.0b et Vertex Shaders 2.0
  • DirectX 9.0c - modèle de shader 3.0
  • DirectX 9.0L - version de DirectX 9.0 pour Windows Vista
  • DirectX 10 - modèle de shader 4.0
  • DirectX 10.1 - modèle de shader 4.1
  • DirectX 11 - modèle de shader 5.0
  • DirectX 11.1 – de nombreuses améliorations, notamment une flexibilité accrue du code et une protection contre les débordements de mémoire tampon
  • DirectX 11.2 – diverses améliorations, notamment la réduction du temps de saisie et l'amélioration de la qualité du rendu à l'aide de cartes de texture
  • DirectX 11.3 est une alternative à DirectX 12, mais sans l'API de bas niveau

  • Quoi de neuf dans DirectX 12

    Accès de bas niveau
    Depuis précédemment DirectX conquis le marché Microsoft visait la polyvalence du logiciel et ne donnait pas aux développeurs un accès direct aux fonctions de bas niveau de la carte vidéo. Mais désormais, grâce à de nouvelles procédures d'appel, leur accès est ouvert. Mais si les développeurs n'utilisent pas les innovations, alors les conducteurs pourront automatiquement optimiser leur utilisation pour résoudre des problèmes standards.

    Optimisation multithread et déchargement du processeur
    En mars 2014, une nouvelle version importante (à l'époque) de l'API a été publiée. Le sujet principal était l'optimisation de l'utilisation CPU, et à titre d'exemple, les résultats du test de vitesse de sortie de trame dans le benchmark ont ​​été présentés 3DMark. Dans la capture d'écran ci-dessous, vous pouvez voir une réduction de la vitesse d'affichage du cadre de deux (!) fois en raison de l'optimisation de l'utilisation de uniquement CPU et une répartition plus « intelligente » des ressources entre les cœurs.


    Le fonctionnement des processeurs à plus de quatre cœurs a également été optimisé. Si auparavant cela n'avait aucun sens de payer trop cher pour des cœurs supplémentaires si le processeur était acheté pour des jeux, maintenant tout a changé.

    DirectX11 :


    DirectX12 :


    Utiliser plusieurs GPU
    Les vacances sont arrivées pour les joueurs qui ont un cœur vidéo intégré dans leurs processeurs, mais pas une carte vidéo discrète très puissante. DirectX12 permettra non seulement aux cartes vidéo dotées de technologies de fonctionner simultanément SLI ou Feux croisés, mais aussi aux bundles « discret + intégré ».


    Il y a des rumeurs sur la combinaison de cartes vidéo discrètes de différents fabricants en bundles, mais il n'y a aucune preuve de cela, et nous savons comment Nvidia n'aime pas de telles décisions.


    Mais il y a de bonnes nouvelles pour les propriétaires de connexions célèbres. Les cartes vidéo fonctionnent simultanément, plutôt qu'une à la fois, et la mémoire vidéo de vos cartes vidéo est résumée. Maintenant multi-GPU les systèmes ont un tampon séparé, où toute la mémoire de la carte vidéo est disponible, et non partagée, comme auparavant.



    DirectX 12 et GPU bas de gamme intégrés
    Des performances améliorées, tout comme vous DirectX12, sera disponible non seulement sur les stations de jeu ultramodernes, mais également pour les solutions embarquées relativement faibles. D'après les tests effectués sur Surface Pro 3 avec processeur Noyau i5 avec un noyau vidéo intégré Carte graphique Intel HD 4400, la productivité a augmenté de 50%. Tout cela grâce à une utilisation plus intelligente GPU.


    Exploiter tout le potentiel de l’eSRAM (Xbox One uniquement)
    eSRAM– mémoire spéciale à grande vitesse utilisée dans GPU Xbox One. Auparavant, une API spéciale était utilisée pour le contrôle, mais maintenant, avec la version DirectX12, tout est contrôlé par une seule API - DirectX. Cette amélioration promet une augmentation de la vitesse de la mémoire et une utilisation plus efficace de celle-ci. Cela contribuera probablement à réduire, voire à éliminer, le retard accumulé. PS4.


    Rétrocompatible avec les cartes vidéo DirectX 11
    La plupart des cartes vidéo modernes prenant en charge DirectX11, entièrement compatible avec DirectX12. Mais malheureusement, tout le monde ne pourra pas utiliser toutes les innovations de la nouvelle API.


    Exigences obligatoires pour DirectX 12 :
    • Windows 10 ;
    • Carte vidéo compatible avec l'API DirectX 12 ;
    • Pilote vidéo prenant en charge l'API DirectX 12 ;

    Avec cet ensemble, il vous suffira d'attendre la sortie des jeux DirectX 12 pour le vérifier par vous-même.

    Ma carte vidéo prend-elle en charge DirectX 12 ?

    Liste des cartes vidéo prenant en charge l'API DirectX 12 :
    *Cette liste contient des cartes vidéo prenant en charge l'API DirectX 12, mais toutes ne prennent pas en charge DirectX 12_0 et DirectX 12_1.

    • Graphiques AMD Radeon™ série R9
    • Graphiques AMD Radeon™ série R7
    • Graphiques AMD Radeon™ R5 240
    • Graphiques AMD Radeon™ HD 8000 Series pour systèmes OEM (HD 8570 et versions ultérieures)
    • Graphiques AMD Radeon™ HD série 8000M pour ordinateurs portables
    • Graphiques AMD Radeon™ HD série 7000 (HD 7730 et supérieur)
    • Graphiques AMD Radeon™ HD 7000M Series pour ordinateurs portables (HD 7730M et supérieur)
    • APU AMD A4/A6/A8/A10-7000 (« Kaveri »)
    • APU AMD A6/A8/A10 série PRO-7000 (« Kaveri »)
    • APU AMD E1/A4/A10 série Micro-6000 (« Mullins »)
    • APU AMD série E1/E2/A4/A6/A8-6000 (« Beema »)
    Nvidia
    • Nvidia Fermi (GTX 400, GTX 500)
    • NVIDIA Kepler (GTX 600, GTX 700)
    • NVIDIA Maxwell (GTX 700, GTX 900)
    Intel
    • Intel Haswell (HD 5000, 4600, 4400 et 4200 ; Iris 5200 et 5100)
    • Intel Broadwell (HD 6000, 5600, 5500 et 5300 ; Iris 6200 et 6100)

    DMLA

    • AMD Radeon™ R9 285, 290/290X, 295X2, M295X
    • AMD Radeon™ R7 260/260X
    • AMD Radeon™ HD 8770
    • AMD Radeon™ HD 7790
    Nvidia
    • GeForce, GTX Titan X
    • GTX980, GTX980Ti
    • GTX970
    • GTX960

    Nvidia

    • GeForce, GTX Titan X
    • GTX980, GTX980Ti
    • GTX970
    • GTX960

    DirectX 12_0
    Seuls les GPU ou les architectures spécialement conçues pour prendre en charge DirectX 12 prendront en charge le niveau de fonctionnalité DirectX 12_0, qui contient un certain nombre de nouvelles technologies. Parmi eux se trouvent les ressources carrelées. En principe, les ressources de tuiles sont connues de DirectX 11, elles sont très efficaces en termes de mémoire utilisée et peuvent également améliorer considérablement le niveau de détail. En utilisant de petites textures dans plusieurs orientations, vous pouvez simuler de grandes textures. De plus, la mémoire est considérablement économisée. Et vous n’avez pas à sacrifier la qualité de l’image.

    L'exemple montre une texture Texture 3D classique pour DirectX 11 avec une résolution de 1 200 x 600 x 600 pixels avec des couleurs 32 bits - elle occupe 1,6 Go. Une texture Tiled Texture 3D peut être utilisée avec la même qualité à travers plusieurs itérations - elle aura une résolution de 32 x 32 x 16 pixels avec des couleurs 32 bits. La taille sera de 156 Mo. Un exemple montre une scène de rendu dans laquelle une texture 3D basée sur des tuiles est utilisée 2 500 fois. Pour créer et simuler certains matériaux en 3D, un autre champ d'information est ajouté. Il peut s'agir par exemple de la valeur de transparence ou de viscosité. Cette approche vous permet de mieux simuler les liquides et les gaz.

    Un autre type de ressources de tuiles est les ressources de tuiles de volume, mais elles appartiennent au niveau de fonction non pas de DirectX 12_0, mais de 12_1.

    Le niveau DirectX 12_0 inclut Typed UAV et nouveau modèle Bind, qui cible l'API sur un plus grand nombre de cœurs de processeur, ce qui entraîne une parallélisation et des performances supérieures.

    DirectX 12_1
    Microsoft et les développeurs de GPU sont allés encore plus loin avec DirectX 12_1. Mais seuls les derniers GPU prennent en charge ce niveau de fonctionnalités. Ceux-ci incluent tous les GPU basés sur la 2ème génération « Mawell ». L'une des nouvelles technologies est la rastérisation conservatrice. Il est utilisé pour le filtre Dynamic Super Resolution et l’anticrénelage échantillonné multiframe.

    Lors de la rastérisation d'un petit objet/pixel, dans certains cas, il est préférable de considérer tous les points d'échantillonnage couverts, même si ce n'est que partiellement. Une rastérisation conservatrice est également importante lors de la voxelisation de VXGI. La technique améliorée est particulièrement visible lors du calcul des ombres.


    DirectX 12 : Une nouvelle étape dans le développement des jeux

    Windows 10 sortira le 29 juillet. Et dans le cadre du nouveau système d'exploitation, nous verrons le package API DirectX 12, exclusif à cette version.

    DirectX 12 promet d'être une percée dans l'industrie du jeu, car il vous permet d'élever les graphismes et les performances à de nouveaux niveaux, quelle que soit la configuration de l'appareil sur lequel il s'exécute.

    Nous vous parlerons plus en détail de tous les changements et innovations dans notre article sur DirectX 12.

    « Le rêve de tous les amateurs de graphonium est devenu réalité ! Il existe désormais un support pour plusieurs cartes vidéo au niveau de l'interface ! De plus, vous pouvez partager non seulement des adaptateurs vidéo fonctionnant en SLI ou CrossFire, mais également des GPU intégrés au CPU, même de différents fabricants.


    Avec la sortie de Windows 10, une nouvelle version de l'API DirectX sera accessible à tous, ce qui améliorera considérablement les performances de jeu. Contrairement aux versions précédentes, vous n'avez pas besoin nouvelle carte vidéo, puisque presque tous les GPU sortis au cours des dernières années prendront en charge Dx12.

    Une nouvelle version de l'interface pour les jeux et les applications multimédia qui fonctionnera sur tous les appareils Microsoft : smartphones, tablettes, ordinateurs portables, ordinateurs personnels et Xbox One. DX12, donnant aux développeurs l'accès à une programmation de bas niveau et à un multithreading amélioré, améliorera les performances du matériel existant dans les jeux. Selon AMD, l'utilisation de la nouvelle API vous permet d'augmenter le nombre d'objets traités de 16,5 fois par rapport au DX11 avec la même fréquence d'images. Et la prise en charge intégrée de DX12 dans Windows 10 lui promet une popularité incroyable.(c) Windows 10 – Les huit innovations les plus importantes pour les joueurs

    À propos de DirectX

    Avant de parler en détail de Dx12 et de toutes les innovations, permettez-moi de vous rappeler ce qu'est DirectX et de quelles parties se compose l'ensemble du package de cette API.

    DirectX (de l'anglais direct - direct, immédiat) est un ensemble d'API conçues pour résoudre les problèmes liés à la programmation sous Microsoft Windows. Le plus largement utilisé dans l’écriture de jeux informatiques. Le kit de développement DirectX pour Microsoft Windows est disponible gratuitement sur le site de Microsoft. Souvent, les versions mises à jour de DirectX sont fournies avec les applications de jeux.(c) Wikipédia

    La bibliothèque principale dans laquelle les changements et l'introduction de nouvelles technologies se produisent le plus souvent est Direct3D. A chaque mise à jour importante de cette bibliothèque, l'ensemble du package DirectX reçoit un nouvel index. Les innovations les plus importantes du Dx12 y ont été apportées. Le reste des bibliothèques a également été mis à jour, mais elles ne contiennent presque aucune nouvelle technologie, bien que Microsoft promette quelque chose de nouveau dans les futures mises à jour de DirectX.

    En général, le package DirectX est divisé dans les bibliothèques suivantes :

    • Direct2D est une interface de sortie graphique bidimensionnelle.
    • Direct3D (D3D) est une interface permettant d'afficher des primitives tridimensionnelles.
    • DirectInput est une interface utilisée pour traiter les données provenant du clavier, de la souris, du joystick et d'autres contrôleurs de jeu.
    • DirectPlay est une interface de communication réseau pour les jeux.
    • DirectSound - interface pour le travail de bas niveau avec le son (format Wave)
    • DirectMusic est une interface permettant de lire de la musique aux formats Microsoft.
    • DirectShow est une interface utilisée pour l'entrée/sortie de données audio et/ou vidéo.

    Chaque nouvelle version de DirectX est programmée pour coïncider avec une avancée technique importante spécifique. Il s’agit principalement de nouvelles versions de modèles de shaders qui ne sont supportées que par certaines générations de GPU et versions de Windows.

    Principales caractéristiques des versions :

    • DirectX 6.0 - Multitexturation
    • DirectX 7.0 - Prise en charge matérielle pour les transformations, le recadrage et l'éclairage
    • DirectX 8.0 - Modèle de shader 1.1
    • DirectX 8.1 - Pixel shaders 1.4 et vertex shaders 1.1
    • DirectX 9.0 - Modèle de shader 2.0
    • DirectX 9.0b - Pixel shaders 2.0b et vertex shaders 2.0
    • DirectX 9.0c - Modèle de shader 3.0
    • DirectX 10 - Modèle de shader 4.0
    • DirectX 10.1 - Modèle de shader 4.1
    • DirectX 11 - Modèle de shader 5.0
    • DirectX 11.1 - Modèle de shader 5.1
    • DirectX 12 - API de rendu de bas niveau, prise en charge multi-threading et multi-GPU améliorée au niveau de l'API

    Fonctionnalités et nouvelles technologies de DirectX 12


    Accès de bas niveau
    Si auparavant l'interface DirectX visait l'universalité et ne donnait pas aux développeurs un accès direct aux fonctions de bas niveau de la carte vidéo, désormais, grâce à de nouvelles procédures d'appel, leur accès est ouvert, et même plus - si les développeurs ne les utilisent pas. , les conducteurs pourront optimiser automatiquement leur utilisation pour résoudre des tâches standards. Grâce à cette approche, l'utilisation de technologies de cartes vidéo spécifiques augmentera les performances même dans les jeux plus anciens portés sur DX12.

    Optimisation multithread
    DirectX 12 est la première de toutes les versions optimisée pour le multithreading de bas niveau. Les jeux pourront charger tous les cœurs de processeur disponibles de manière plus uniforme, ce qui entraînera une amélioration des performances globales du jeu. Le temps requis pour traiter le thread principal du jeu est réduit et permet également d'effectuer davantage d'appels Draw. En conséquence, sur le même matériel, vous pouvez restituer plusieurs fois plus d'objets sans réduire la fréquence d'images. DX 12 tirera le meilleur parti de votre PC !

    Optimisation multithread du processeur





    Utiliser plusieurs GPU
    Le rêve de tous les amateurs de graphonium est devenu réalité ! Il existe désormais un support pour plusieurs cartes vidéo au niveau de l'interface ! De plus, vous pouvez partager non seulement des adaptateurs vidéo fonctionnant en SLI ou CrossFire, mais également des GPU intégrés au CPU, même de différents fabricants. Les jeux ne s'appuieront pas sur un GPU spécifique pour le traitement graphique, mais sur l'ensemble des cartes vidéo disponibles dans le système sous la forme d'un seul GPU.


    Il n'y a pas encore de confirmation s'il sera possible de combiner deux cartes vidéo discrètes d'AMD ou de Nvidia, mais les sociétés elles-mêmes démontrent le fonctionnement conjoint d'un APU + GPU d'AMD, ou d'un cœur vidéo intégré d'Intel + une carte Nvidia GTX discrète. . Peut-être que des partenariats multimarques ou l'utilisation de cartes vidéo nous attendent différentes générations dans un seul système, ce qui mettra fin à la guerre à long terme entre les fanboys d'AMD et de Nvidia.


    Le principal avantage de la combinaison de tous les GPU en un seul cluster est la possibilité de traiter chaque image individuelle avec l'ensemble du tableau, ce qui élimine les problèmes de compatibilité des jeux avec Multi-GPU et vous permet également de ne pas copier la mémoire vidéo de chaque appareil, mais pour l'utiliser ensemble, c'est-à-dire que maintenant la capacité mémoire de plusieurs cartes vidéo est résumée !



    Exploiter tout le potentiel de l’eSRAM (Xbox One uniquement)
    L'eSRAM est une mémoire spéciale à haute vitesse utilisée dans le GPU Xbox One. Si auparavant il existait une API spéciale pour travailler avec, ces procédures et fonctions sont désormais intégrées à Dx12 et l'accès à celle-ci est optimisé et plus facile pour les développeurs finaux. Par conséquent, nous pouvons nous attendre à une augmentation des performances de la console, ainsi qu’à une augmentation de la qualité et des performances des futurs jeux.


    Rétrocompatible avec les cartes vidéo DirectX 11
    La plupart des cartes vidéo modernes prenant en charge DX 11.1 sont entièrement compatibles avec DX 12. Les cartes vidéo plus anciennes ne prendront en charge que partiellement la nouvelle API. Désormais, plus de 70 % des cartes vidéo dont disposent les joueurs prendront en charge totalement ou partiellement toutes les innovations. Liste complète les cartes vidéo compatibles avec DX 12, selon les fabricants, seront présentées à la fin de l'article.


    DirectX 12 + GPU embarqués et bas de gamme
    Tous les avantages de DirectX 12 seront disponibles non seulement pour les PC de jeu équipés de cartes graphiques de dernière génération, mais également pour les appareils dotés de cartes graphiques économiques ou même de GPU intégrés aux processeurs, tels que les ordinateurs portables et les tablettes. Les tests effectués sur une Surface Pro 3 équipée d'un processeur Core i5 avec un GPU Intel 4400 intégré montrent des gains de performances de plus de 50 % dans les applications graphiques et les jeux dans un benchmark personnalisé où les fréquences d'images sont passées de 19 FPS à 33 FPS en utilisant la nouvelle API.


    4k + DirectX12
    Nous optimiserons également le travail avec hautes résolutions, et lors du passage au DX12, l'augmentation moyenne des performances aux résolutions 4k sera de 30 à 40 %. Ces chiffres ont été nommés par le développeur en chef du projet CARS, Ian Bell.


    Technologies similaires

    Avant la sortie de Dx12, certaines sociétés ont introduit leurs propres API, aux fonctionnalités similaires, mais destinées à des GPU spécifiques d'un certain fabricant ou à d'autres bibliothèques graphiques, telles qu'OpenGL.

    Mantle est une spécification API de bas niveau développée par AMD comme alternative à DirectX et OpenGL. Actuellement uniquement pris en charge par les graphiques Processeurs AMD Architecture GCN, bien qu'il soit possible que d'autres fabricants de GPU la mettent en œuvre à l'avenir, mais en raison de la sortie de Dx12, qui est pris en charge par tous les fabricants de GPU du marché, la probabilité que cela se produise est extrêmement faible. Eh bien, le dernier clou dans le cercueil pourrait être que, à en juger par les tests effectués par AMD lui-même, le Dx12 fonctionne plus rapidement que sa propre technologie sur ses propres cartes vidéo.

    API Vulkan - était à l'origine connue sous le nom de "nouvelle génération d'OpenGL" ou simplement "glNext", mais après l'annonce, le groupe Khronos a abandonné ces noms en faveur du nom Vulkan. Comme OpenGL, Vulkan permet un rendu en temps réel hautes performances diverses applications avec des graphiques 3D, tels que des jeux ou des livres interactifs, sur toutes les plates-formes, et offre également des performances plus élevées et moins de charge CPU, similaire à Direct3D 12 et Mantle. Vulkan est basé sur les technologies AMD dans Mantle. Tout comme OpenGL dans le passé, Vulkan deviendra à l'avenir la seule alternative valable à DirectX et sera soutenu par des associations Open Source et des géants du jeu tels que Valve.

    Liste des cartes vidéo prenant actuellement en charge DirectX 12

    • Graphiques AMD Radeon™ série R9
    • Graphiques AMD Radeon™ série R7
    • Graphiques AMD Radeon™ R5 240
    • Graphiques AMD Radeon™ HD 8000 Series pour systèmes OEM (HD 8570 et versions ultérieures)
    • Graphiques AMD Radeon™ HD série 8000M pour ordinateurs portables
    • Graphiques AMD Radeon™ HD 7000 Series (HD 7730 et versions ultérieures)
    • Graphiques AMD Radeon™ HD 7000M Series pour ordinateurs portables (HD 7730M et versions ultérieures)
    • APU AMD A4/A6/A8/A10-7000 Series (nom de code « Kaveri »)
    • APU AMD A6/A8/A10 PRO-7000 Series (nom de code « Kaveri »)
    • APU AMD E1/A4/A10 série Micro-6000 (nom de code « Mullins »)
    • APU AMD série E1/E2/A4/A6/A8-6000 (nom de code « Beema »)
    • Nvidia Fermi (GTX 400, GTX 500)
    • NVIDIA Kepler (GTX 600, GTX 700)
    • NVIDIA Maxwell (GTX 700, GTX 900)
    • Intel Haswell (HD 5000, 4600, 4400 et 4200 ; Iris 5200 et 5100)
    • Intel Broadwell (HD 6000, 5600, 5500 et 5300 ; Iris 6200 et 6100)

    Au lieu d'une conclusion. conclusions

    Si Microsoft et les fabricants de GPU tiennent leurs promesses et ne bloquent pas les connexions entre fournisseurs, comme c'est le cas actuellement avec PhysX et Mantle, nous aurons une avancée technique. Après tant d'années et de déceptions comme la version PC de Batman Arkham Knight, les développeurs d'API et de jeux ont commencé à optimiser le code pour le matériel existant. De quoi de plus un joueur a-t-il besoin ? Bien sûr, plus de FPS gratuitement ! Les prochaines générations de cartes vidéo seront encore plus optimisées pour le DX12 et disposeront de plus de mégahertz et de gigaoctets, d'un support pour les nouvelles technologies, mais il sera très bientôt possible de jouer confortablement à de nouveaux jeux. Beaucoup diront qu’il n’existe pas encore de jeux pour le nouveau DirectX et qu’il n’y en aura pas, et ils auront presque raison. Mais bon nombre des titres à succès de cette année recevront des mises à jour pour prendre en charge la nouvelle API après Version Windows 10. Et 90 % des jeux qui sortiront à la fin de cette année ont déjà annoncé leur soutien. Nous découvrirons ce qui se passera réellement dans les mois à venir, restez en contact !

    DirectX est un ensemble de bibliothèques nécessaires pour Microsoft Windows 32 bits et 64 bits. Le nouveau Direct X11 est conçu pour le bon fonctionnement de divers jeux informatiques, ainsi que pour d'autres programmes, par exemple pour lire de la vidéo et du son sur certains lecteurs. Les joueurs peuvent également l'utiliser. Tous les jeux informatiques utilisent des graphiques 3D, qui seront implémentés à l'aide de la technologie Direct X12. Sans mise à jour en temps opportun du logiciel de la technologie DirectX pour votre ordinateur, votre jeu informatique risque de ne pas démarrer.

    Même si ce programme est déjà installé, mais plus ancienne version, puis pour un fonctionnement et un affichage corrects des graphiques 3D des jeux informatiques modernes, nous vous recommandons de télécharger et de mettre à jour DirectX gratuitement pour dernière version.

    En technologie Direct X Il existe également des fonctionnalités de bas niveau telles que l'accélération graphique bidimensionnelle (2D). Il existe également un soutien divers appareils périphériques d'entrée tels que joystick, clavier, souris. Il existe également un support pour les équipements audio pour garantir un son de haute qualité. Souvent, lors de l'installation d'un jeu, celui-ci peut être fourni avec DirectX11, également des versions obsolètes DirectX10 ou DirectX 9.0c. Ces versions ne sont plus d'actualité et nous vous recommandons de les mettre à jour vers la dernière version DirectX12. Tout cela est dû au fait que DirectX pour Windows 10, 8, 7 peut être mis à jour assez souvent et qu'il est nécessaire de surveiller les mises à jour. Avec chaque nouvelle version du programme, de nouvelles bibliothèques et de nouvelles technologies sont ajoutées pour améliorer la qualité des graphiques dans jeux d'ordinateur et pas seulement. Chaque joueur doit toujours disposer de plusieurs pilotes récents, dont DirectX 11 et 12 pour Windows 7, 8, 10. Nous vous recommandons donc d'installer la dernière version de DirectX, ce que vous pouvez faire gratuitement. télécharger DirectX 11/12 pour Windows 7, 8, 10 via un lien direct sans inscription ni SMS vers notre site internet.

    Grâce à cet installateur que vous pouvez télécharger ci-dessous, vous recevrez une mise à jour vers DirectX 9.0c, 10, 11, 11.1, 12 pour Windows 10, 8 et 7. Vous avez juste besoin d'une connexion Internet. En exécutant le programme d'installation Web, vous pouvez mettre à jour DirectX vers la dernière version à partir du site officiel.

    La sortie officielle de DirectX 12 pour Windows 7, 8, 10 a eu lieu il y a longtemps. Nous tenons à souligner que vous n'avez pas besoin d'installer DirectX 12 pour Windows 10, car il est intégré à Système Windows 10.

    Souvent, les utilisateurs ne connaissent pas la réponse à la question : comment vérifier la version DirectX sous Windows 10, 7, 8 ? Pour ce faire, vous devez appuyer simultanément sur les touches de votre clavier Win + R (où Win est la touche avec le logo Windows) ou cliquer sur le bouton Démarrer (sous Windows 10 et 8 - faites un clic droit sur « Démarrer » - « Exécuter"), et dans le champ de recherche, saisissez dxdiag, puis appuyez sur Entrée. Une fenêtre s'ouvrira Outil de diagnostic DirectX, et dans l'onglet « Système », vous verrez des informations sur version installée DirectX.

    DirectX 12 est un composant spécial qui assure le bon fonctionnement du système d'exploitation et d'autres applications, principalement des jeux, avec les pilotes de carte vidéo.

    Si vous avez suivi régulièrement notre série de contenus liés à nouvelles fenêtres 10, vous avez probablement remarqué qu'ils mentionnent souvent DirectX 12. Ce n'est pas un hasard : à partir du moment où Microsoft a commencé à parler de la prochaine version du système d'exploitation, la société a souligné à plusieurs reprises le rôle central attribué au dernier DirectX. Pourquoi est-ce si important pour vous en tant qu’utilisateur et quelles améliorations la nouvelle version apportera-t-elle ? Interface graphique avec le prochain Windows 10 ? Aujourd'hui, nous allons essayer de répondre brièvement à ces questions.

    Un peu de contexte

    Bien qu'il soit souvent considéré comme faisant partie intégrante de tout système Windows, DirectX est en fait apparu pour la première fois dans Windows 95 Service Pack 2. Il s'agit d'un ensemble complexe de différents modules appelés collectivement interface de programmation d'application (API). Chacun d'eux remplit des fonctions nombreuses et variées, mais leur objectif principal est de fournir un accès direct à divers programmes multimédia et vidéo (principalement des jeux, bien sûr) au matériel du système informatique fonctionnant sous Contrôle Windows.

    Avant la première version de DirectX (qui était numéro de série 2.0a) avec Windows 95 Service Release 2, le lancement et l'exécution de telles applications (jeux) étaient un processus fastidieux et complexe. Pour accéder directement au matériel, le programme a accédé à DOS, le prédécesseur de Windows sans interface graphique. Il s'agissait, pour le moins, d'un mécanisme inefficace pour utiliser des composants tels que RAM, vidéo et carte son etc.

    Avec l'avènement de Windows 95, Microsoft a décidé qu'il était temps d'ouvrir nouvelle page dans son histoire. La société s'est rendu compte que pour rendre le nouveau système d'exploitation populaire parmi utilisateurs ordinaires et surtout parmi les joueurs, il faut offrir un environnement de travail plus efficace pour exécuter des titres de jeux.

    Ainsi est née DirectX - une interface de programmation de nouvelle génération, grâce à laquelle toutes les applications multimédia capables de l'utiliser ont reçu plus accès rapideà l'équipement dont ils ont besoin.

    L'adoption de la nouvelle API a été relativement lente au début, surtout dans le contexte d'une concurrence assez forte de la part d'OpenGL, apparue quelques années plus tôt. Peu à peu, cependant, DirectX s'est amélioré et domine aujourd'hui presque à lui seul le monde des jeux vidéo sur ordinateur - du moins sur la plate-forme Windows.

    Numéro porte-bonheur 12

    Il n'est pas difficile de deviner que les chiffres dans le nom de l'interface indiquent son numéro de version. Dans ce cas, nous parlons de la douzième version de DirectX, qui mérite une attention particulière parmi les onze autres qui l'ont précédée.

    La vérité est que depuis une décennie, depuis la sortie de la version 10, Microsoft s'est largement reposé sur ses vieux lauriers en matière de DirectX. La domination de l'interface (et de Windows en particulier) dans le segment PC a rendu l'entreprise un peu paresseuse et, par conséquent, la plupart des améliorations apportées aux versions 10 et 11 étaient plus évolutives que révolutionnaires. Chacune de ces versions a reçu des mises à jour à mi-parcours qui ont ajouté des optimisations relativement mineures et de nouvelles fonctionnalités, mais pas particulièrement intéressantes.

    En revanche, la version 12 constitue une avancée majeure et décisive, non seulement pour DirectX en particulier, mais pour Microsoft en général.

    Étant donné que Windows 10 sera une plate-forme unique fonctionnant sur les smartphones, tablettes, ordinateurs portables, ordinateurs de bureau et consoles de jeux (Xbox One), l'arrivée de DirectX 12 affectera une gamme beaucoup plus large de périphériques matériels.

    Pour les propriétaires de Xbox One, par exemple, la nouvelle interface promet des capacités de rendu plus rapides et donc des jeux plus beaux. De plus, Microsoft espère que le passage à DirectX 12 effacera la domination de son principal concurrent, la console PlayStation 4 de Sony, qui offre actuellement plus de puissance de traitement que la Xbox One. Par exemple, la nouvelle API permettra aux développeurs de jeux d'accéder plus rapidement au tampon ESRAM hautes performances de la Xbox, ce qui entraînera des images par seconde plus élevées.

    DirectX 12 promet une accélération du tableau de bord Xbox One, ainsi qu'une prise en charge complète de la vidéo 4K.

    Une nouvelle vie pour les vieux ordinateurs

    Une autre promesse très intéressante associée à DirectX 12 est la suivante : l’optimisation. Microsoft affirme qu'en passant simplement à Windows 10 (et à DirectX en conséquence), les performances multimédia (c'est-à-dire les jeux) de votre PC peuvent presque doubler. Et des tests préliminaires de PCWord ont montré que la croissance pourrait être encore plus importante.

    Comment pouvez-vous réaliser un bond similaire en termes de performances sans remplacer le matériel ? Tout est très simple - grâce à la pleine utilisation des ressources disponibles sur l'ordinateur.

    Aujourd'hui, presque tous les ordinateurs actuels, qu'ils soient mobiles ou de bureau, reposent sur un processeur doté de plusieurs cœurs de calcul. De plus, dans les GPU modernes, le nombre de cœurs se mesure en milliers.

    Remontons au moment où Intel a mis fin à la « guerre des MHz » et a adopté le concept d'augmentation des performances grâce au parallélisme, c'est-à-dire en divisant les opérations/calculs entre deux ou plusieurs cœurs de processeur, le logiciel n’était pas prêt pour un tel pas en avant.

    Ni massif Système d'exploitation(lire Windows), ni les applications exécutées sous eux n'ont été optimisées pour tirer pleinement parti de la présence de plus d'un cœur de processeur.

    Par conséquent, le remplacement d'un processeur monocœur par un processeur double ou quadricœur a sans aucun doute entraîné une augmentation des performances, mais pas aussi spectaculaire que ce que les utilisateurs attendaient.

    L'un des principaux objectifs du nouveau DirectX 12 est précisément de permettre aux jeux d'utiliser au maximum tous les cœurs de processeur disponibles et de les charger à leur pleine capacité. L'effet de cette optimisation est pour le moins impressionnant : les résultats du test populaire 3D Mark montrent une augmentation de 10 à 15 fois des performances lors du passage de DirectX 11 à DirectX 12 !

    Cependant, ce n'est pas tout. Le géant du logiciel promet des gains de performances non seulement pour les systèmes de bureau puissants, mais également pour les appareils plus faibles tels que les ordinateurs portables et les tablettes Windows.

    Bien sûr, cela ne signifie pas qu'ils deviendront miraculeusement une alternative à part entière à un PC de jeu de bureau, mais grâce à Windows 10 et DirectX 12, ils offriront des graphismes plus fluides et de meilleure qualité.

    Nouvelle interface Il fournira également un algorithme beaucoup plus efficace pour répartir les tâches entre les graphiques intégrés et discrets – une fonction similaire à celle proposée par la technologie Virtu de Lucid, qui faisait sensation il y a plusieurs années.

    Enfin, DirectX 12 préparera Windows au nouveau monde de la résolution 4K qui, nous l'espérons, s'imposera dans le monde PC au cours des prochaines années.

    Passe une bonne journée!

    Publications sur le sujet