Téléchargé 2 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
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.
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.
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.
Ce qui est très faible comme target si on la compare à d'autre
Je pense que Vulkan répond mieux a ces exigence là si on veut aller sur du Linux
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.
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
Ce qui est très faible comme target si on la compare à d'autre
Je pense que Vulkan répond mieux a ces exigence là si on veut aller sur du Linux
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.
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
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.
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.
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 ?
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 ?
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).
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).
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.
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.
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.
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.
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
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.
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
Après je ne suis plus à jour et peut-être que cela à changer
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.
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.