IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 25 fois
Vote des utilisateurs
1 
0 
Détails
Éditeur : Microsoft
Licence : Non renseignée
Mise en ligne le 7 mai 2017
Plate-forme : Windows
Langue : Anglais
Référencé dans
Navigation

DirectX

DirectX est une libraire destinée à gérer le son, l'image (2D et 3D), les périphériques (clavier, souris, joystick, volants, etc.) et le réseau (IPX, TCP/IP, etc.) pour créer des applications multimédias sous Windows. Cette bibliothèque est très complète et utilisée dans quasiment tous les jeux sur plate-forme PC Windows. Elle est complètement optimisée par les cartes vidéos et sons qui supportent ses spécifications. Elle permet aussi bien le bump mapping, que de créer des effets sonores en 3D.

Son gros défaut est d'être uniquement utilisable sous Windows, et de plus très orientée vers le matériel. Si l'utilisateur ne dispose pas de carte (son et vidéo) optimisée, la plupart des fonctions seront inutilisables.
Avatar de Kannagi
Expert éminent https://www.developpez.com
Le 17/05/2021 à 8:20
Citation Envoyé par Visualski Voir le message

Il faut être bien conscient que vous ne dépendez pas seulement du système d'exploitation, mais aussi des cartes graphiques !
Actuellement, les contraintes sont tel, qu'il est difficile d'imaginer que vous puissiez faire tourner un pipeline graphique sur n'importe quel PC, Mac, ou appareil Android.
Il faut que ceux si soit suffisamment puissant, que les contraintes de consommation soit acceptables, et que le consommateur veuille y mettre le prix.
En dehors même des Api, il apparait que vous serez toujours dépendant d'une configuration.
Ah mais j'ai jamais dit qu'il fallait pas changer de code entre ces différente machines , juste qu'il est plus pratique de ne connaitre qu'une API que d'en connaître plusieurs.

Citation Envoyé par Visualski Voir le message

Dans ce contexte, DirectX présente l'avantage de tourner sur Windows et Linux et d'avoir un large panel de cartes graphiques anciennes et nouvelles compatibles.
Ceci n'est pas négligeable, car vous avez à votre disposition finalement pas mal de matériel compatible.
Ce qui est très faible comme target si on la compare à d'autre

Citation Envoyé par Visualski Voir le message

De plus, DirectX étant complétement intégré a Windows 10, le déploiement est facilité et ses performances sont dignes des meilleurs pipelines graphiques.
DirectX n'est donc pas une solution complètement à part et répond bien aux différentes contraintes dès lors que vous développez pour Windows ou Linux.
Je pense que Vulkan répond mieux a ces exigence là si on veut aller sur du Linux

Citation Envoyé par Visualski Voir le message

Si vous devez programmer des petites interfaces graphiques sous windows10, vous avez le choix d'utiliser DirectX11 ou DirectX12.
C'est envie de dire ça dépend , si tu veux faire de la GUI ,je conseillerai plus QT (qui utilise OpenGL ou Vulkan en interne)
Si tu as envie de faire du JV je conseille plus Unity ou Unreal Engine.
Le choix de DX11 ou DX12 sont relativement rare.

Citation Envoyé par Visualski Voir le message

Voilà, je voulais simplement faire comprendre l’écosystème de DirectX et qu'il représente, indépendamment de toute considération marketing, une solution technique intéressante.
Loin de moi, l'idée de le mettre en concurrence avec d'autres Apis graphiques.
C'est ce que je reproche a tes posts , tu dis loin des considérations marketing , pourtant tu vends un peu cette API , comme "parfaite" et idéal , alors que ce n'est qu'une simple API qui copie un peu le reste.
Elle était intéressante dans le passé , mais actuellement avec la large gamme de choix niveau lib/API , DirectX devient de moins en moins un choix intéressant.
C'est aussi probablement une des raisons qu'il est de moins en moins utilisé dans le JV.

Je n'ai rien contre DirectX , mais ce n'est clairement pas un choix intéressant ,le seul choix fait par DirectX pour le JV (parce qu'il clairement utilisé comme tel) , c'est quand une boite veut viser la XBOX et ça s’arrête là.

Pour une application (que tu vends un peu aussi pour ces usages) , DirectX12 est un poil overkill (s'occuper de toute la pipeline graphique pour afficher un peu du texte et des boutons , c'est pas le meilleur approche).
Si tu veux faire un logiciel 3D , alors tu n'aura sûrement pas le choix d'utiliser QT et là les choix sera plus mince vu que t'aura le choix entre OpenGL et Vulkan
Avatar de Bousk
Rédacteur/Modérateur https://www.developpez.com
Le 17/05/2021 à 15:14
J'ai du mal à comprendre l'intérêt et ce qui peut pousser à répondre à une discussion vieille de 10 ans pour énoncer des banalités et enfoncer des portes ouvertes.

Je ne fais pas de 3D, mais je constate que la plupart des jeux sont en DirectX. Et la raison est surtout historique et pour sa compatibilité avec les Xbox.
Et il me semble qu'il y a de meilleurs/plus outils de debugging du pipeline 3D.

Mais, maintenant que Stadia est de la partie et impose Vulkan, certains projets ont du porter leur rendu sous Vulkan.
Et on constate souvent des performances meilleures, si bien que Vulkan devient aussi le renderer sous PC.
DirectX reste donc réservé aux Xbox.

Mais oui la majorité se moque de ceci et utilise juste le renderer que le moteur propose et n'a pas (ou peu) à le modifier.
Avatar de forum
Robot Forum https://www.developpez.com
Le 30/06/2011 à 19:57
Bonjour,

Je vous propose un nouvel élément à utiliser : DirectX

DirectX est une libraire destinée à gérer le son, l'image (2D et 3D), les périphériques (clavier, souris, joystick, volants, etc.) et le réseau (IPX, TCP/IP, etc.) pour créer des applications multimédias sous Windows. Cette bibliothèque est très complète et utilisée dans quasiment tous les jeux sur plate-forme PC Windows. Elle est complètement optimisée par les cartes vidéos et sons qui supportent ses spécifications. Elle permet aussi bien le bump mapping, que de créer des effets sonores en 3D.

Son gros défaut est d'être uniquement utilisable sous Windows, et de plus très orientée vers le matériel. Si l'utilisateur ne dispose pas de carte (son et vidéo) optimisée, la plupart des fonctions seront inutilisables.

Qu'en pensez-vous ?
Avatar de Kannagi
Expert éminent https://www.developpez.com
Le 16/05/2021 à 9:08
Citation Envoyé par Visualski Voir le message

Certes DirectX est un APIs réservé principalement à Windows mais lorsque l'on sait qu'il y a plus d'un milliard d'ordinateurs tournant sous ce système d'exploitation, DirectX reste certainement un des APIs graphique les plus utilisés.
Alors certes on va me dire "c'est pas représentatif" , mais que ça soit sur devellopez.com ou sur Discord , j'ai vu quasiment personne utilisé DirectX , j'ai envie de dire que OpenGL est largement plus utilisé, ensuite vient Vulkan et en dernier DirectX.

Il ne faut pas oublier aussi que sur Android/IOS ce sont aussi des milliards de machines et aucun des deux n'utilise DirectX

D'ailleurs Doom Eternal qui est un des jeux les plus optimisé et le plus beau qu'on peut trouver actuellement sur PC a été fait avec Vulkan , et la chose la plus ironique c'est que ID software appartient indirectement à MS

Pour ma part même si il est vrai que DirectX n'est pas qu'une API 3D , j'ai toujours trouvé ça étrange que MS qui n'est clairement pas un constructeur hardware fasse une API 3D , pour ma part l'API 3D doit etre clairement fait par AMD/NVIDIA (ce qui est le cas avec Vulkan).

On pourra me dire "oui mais Apple" , bah sachant que Apple font leur propre CPU (sur Iphone uniquement et maintenant sur desktop ) et utilisé du PowerVR et maintenant leur propre GPU , ça se comprend , vu que leur GPU étant différent , il me semble normal d'avoir une API spécifique.

D'ailleurs je pense que Vulkan doit être l'API la plus en vogue , non seulement on arrive à avoir de très haute perf avec (certain jeux tourne plus rapidement sur Vulkan que DX) , mais c'est aussi la plus portable ,vu qu’elle marche sous Windows/Linux/MAC OS et IOS (via MoltenVK) , sur Android , et sur console Nintendo Switch et PS4/PS5(qui sont des variantes de Vulkan).
Avatar de Visualski
Futur Membre du Club https://www.developpez.com
Le 15/05/2021 à 22:03
D'après les dernières informations, cet API s'ouvre également à Linux.
DirectX 11 et DirectX 12 de plus bas niveau donnent de solides bases sur le fonctionnement des pipelines graphiques et le fonctionnement entre GPU et CPU.
Il faut comprendre que windows10 utilise directX comme principale Api graphique permettant l’accélération matérielle.
Paradoxalement DirectX à aussi comme objectif de réduire la consommation d’énergie et d'accroitre l'autonomie des batteries de nos ordinateurs portables en optimisant les traitements graphiques qui sans lui, serait encore plus complexe et nécessiterai encore plus d'énergie et de temps.
C'est pour ces raisons, que windows utilise de plus en plus directX afin de faire des interfaces graphiques hautes définitions, efficientes, rapides, fluides et de qualités, il n'est pas seulement dédier au jeux.

DirectX présente plusieurs composants graphiques:
Direct3D pour la représentation en trois dimensions lié au pipeline graphique et aux shaders programmables (HLSL),
Direct2D pour un rendu de grande qualité pour les éléments géométriques, bitmaps et textes 2D et l'interopérabilité avec GDI de windows,
DirectWrite pour le rendu de texte de haute qualité et les dispositions Unicode complets,
DXGI pour gérer les sorties vidéos, rotation d'écran, redimensionnement et commutation entre plusieurs affichages et pour gérer l'interopérabilité entre direct2D et direct3D.

DirectX est donc complètement intégré à windows, lui donnant des performances et une stabilité à toutes épreuves et permet d’accéder aux différents éléments graphiques de windows.
Cet Api existe depuis de nombreuses année, ce qui lui confère une compatibilité avec de nombreuses cartes graphiques tout en maintenant un excellent niveau de performance.
Cet Api permet également l’accès aux cartes son, aux périphériques d'entrée/sortie et au calcul parallèle.

Certes DirectX est un APIs réservé principalement à Windows mais lorsque l'on sait qu'il y a plus d'un milliard d'ordinateurs tournant sous ce système d'exploitation, DirectX reste certainement un des APIs graphique les plus utilisés.
Avatar de Visualski
Futur Membre du Club https://www.developpez.com
Le 17/05/2021 à 0:08
Me voilà un peu nouveau, sur ce forum.
Il est vrai que je suis dans la rubrique 2D-3D-Jeux mais cette rubrique est aussi dans la catégorie programmation.
C'est plutôt sous l'angle de la programmation que je me suis permis de parler de DirectX.

J'imagine que le but d'un site comme développez.com est de fournir des informations sur différents sujets, et en l’occurrence, pour ce forum, des informations sur l'Api DirectX.
Mon but était simplement de réactualiser les informations et de faire comprendre que DirectX est un écosystème très complet.

Il est faux de penser que Microsoft a développé seul DirectX car les fonctionnalités sont implémentées dans les drivers des cartes graphiques et autres composants compatibles.
Ces drivers sont donc développés par les fabricants comme nVIDIA ou AMD et c'est eux qui bien souvent, proposent les évolutions.
Microsoft ne fait que, à travers DirectX, proposer une interface COM et un modèle de pipeline graphique pour unifier tout cela.

Il faut être bien conscient que vous ne dépendez pas seulement du système d'exploitation, mais aussi des cartes graphiques !
Actuellement, les contraintes sont tel, qu'il est difficile d'imaginer que vous puissiez faire tourner un pipeline graphique sur n'importe quel PC, Mac, ou appareil Android.
Il faut que ceux si soit suffisamment puissant, que les contraintes de consommation soit acceptables, et que le consommateur veuille y mettre le prix.
En dehors même des Api, il apparait que vous serez toujours dépendant d'une configuration.

Dans ce contexte, DirectX présente l'avantage de tourner sur Windows et Linux et d'avoir un large panel de cartes graphiques anciennes et nouvelles compatibles.
Ceci n'est pas négligeable, car vous avez à votre disposition finalement pas mal de matériel compatible.
De plus, DirectX étant complétement intégré a Windows 10, le déploiement est facilité et ses performances sont dignes des meilleurs pipelines graphiques.
DirectX n'est donc pas une solution complètement à part et répond bien aux différentes contraintes dès lors que vous développez pour Windows ou Linux.
Viendra peut-être le temps ou votre application devra être multiplateforme, les bases de DirectX n'étant pas complétement différentes des autres Apis, l’évolution reste possible mais pour le moment, vous pouvez profiter d'un écosystème facilitant.

Il faut aussi comprendre que Windows10 ne se sert pas seulement de DirectX pour les jeux.
C'est son interface graphique de prédilection pour profiter de l’accélération matériel et de ce fait, le système l'utilise régulièrement, ce qui lui donne une bonne robustesse.
C'est en ce sens que je pense que cet Api est très utilisé.
Si vous devez programmer des petites interfaces graphiques sous windows10, vous avez le choix d'utiliser DirectX11 ou DirectX12.

Voilà, je voulais simplement faire comprendre l’écosystème de DirectX et qu'il représente, indépendamment de toute considération marketing, une solution technique intéressante.
Loin de moi, l'idée de le mettre en concurrence avec d'autres Apis graphiques.
Avatar de foetus
Expert éminent https://www.developpez.com
Le 16/05/2021 à 20:15
Citation Envoyé par Kannagi Voir le message
D'ailleurs Doom Eternal qui est un des jeux les plus optimisé et le plus beau qu'on peut trouver actuellement sur PC a été fait avec Vulkan , et la chose la plus ironique c'est que ID software appartient indirectement à MS
depuis toujours, il y a 1 "combat" entre ID - Doom/ Quake vs Epic - Unreal/ UT, OpenGL vs DirectX, ombrage dynamique vs lightmap/ heightmap/ ...
Après je ne suis plus à jour et peut-être que cela à changer

Citation Envoyé par Kannagi Voir le message
Pour ma part même si il est vrai que DirectX n'est pas qu'une API 3D , j'ai toujours trouvé ça étrange que MS qui n'est clairement pas un constructeur hardware fasse une API 3D , pour ma part l'API 3D doit etre clairement fait par AMD/NVIDIA (ce qui est le cas avec Vulkan).
Il me semble que Microsoft s'est engouffré au début de la 2D "accélérée"/ 3D avec tout 1 tas d'API (comme Glide) pour faire 1 API unifiée ... et sûrement pour attirer les développeurs sur Windows.

Citation Envoyé par Kannagi Voir le message
On pourra me dire "oui mais Apple" , bah sachant que Apple font leur propre CPU (sur Iphone uniquement et maintenant sur desktop ) et utilisé du PowerVR et maintenant leur propre GPU , ça se comprend , vu que leur GPU étant différent , il me semble normal d'avoir une API spécifique.
Apple Metal c'est surtout pour unifier MAC/ iPhone/ iPad. Après on pourrait troller et dire que les MACs n'ont pas plus de puissance 3D qu'1 iPhone
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.