IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Evolutions de directx: régression technologique ?


Sujet :

DirectX

  1. #1
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut Evolutions de directx: régression technologique ?
    Bon alors je pourrais pas trop parler de directx 10 vu que je suis passé direct de 9 à 11, mais pour avoir un peu fouillé il me semble que dx10 suivait déjà une pente régressive.

    Du temps de directx9 la librairie était très simple à prendre en main, le device gérait tout seul les swapchain on pouvait tout de suite dessiner dans le buffer, il y'avait plein de beaux shaders préprogrammés avec tous les effets shader 3 de base, le rendu était propre, dx9 était une référence et on trouve encore pas mal de jeux programmés avec.

    Découverte de directx 11... c'est l'horreur, on a du pisser des kilomètres de code avant d'arriver à afficher un pov triangle en 2d, y'a plus rien dedans, ils ont tout viré ! Le device semble avoir régressé au bête stade de fabrique d'objets, il faut se farcir le programme de toute la swapchain à la main et se taper la programmation de tous les shaders... de quoi multiplier par quatre le coût d'un développement. Ha et puis j'ai vu qu'en plus depuis directx10 les drivers ati ont laissé tomber le mode non-aero... et tout un tas d'autres cadeaux surprise qui expliquent la grosse gueulante du boss de valve.

    Comment expliquer cette régression technique ?

    Est-ce que la cause s'appelle smartphone ? Auquel cas ils nous laisseraient un accès plus bas niveau pour nous taper le débuggage des portages vers windows 8 ?

    J'émets cette hypothèse parce qu'en regardant la doc de directx11 je vois qu'il y'a trois tonnes de trucs qui sont deprecated sur windows 8, ce qui me laisse penser qu'ils jettent tout à la poubelle au fur et à mesure qu'ils s'adaptent péniblement aux mobiles.

    N.B. ceci n'est pas une gueulante contre microsoft, j'ai cru lire que côté OpenGL c'est pareil ils peinent énormément pour s'adapter aux mobiles, et personnellement je ne vois pas de mal à ce que l'informatique évolue vers un retour aux chipsets à basse consommation.

    Pour directx 12 ils vont tout reprendre de zéro et dire définitivement adieu aux machines à papy gaspilleuses de jus, ça devrait donc normalement être moins le bordel... d'ici là va falloir se débrouiller avec un truc à la limite de l'inutilisable...
    nous devons inventer la langue de feu pour crâmer la langue de bois

  2. #2
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Bon ben en fait wikipédia m'a donné la réponse... effectivement tout évolue vers de la basse conso donc ça devient de plus en plus bas niveau.
    nous devons inventer la langue de feu pour crâmer la langue de bois

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    ça ne vient en aucun cas de la basse consommation, mais plutôt vers le besoin d'ultra flexibilité pour les développeurs.

    quand on regarde l'évolution du pipeline, on voit grosso modo ça (à corriger si les versions correspondent pas) :
    - pré dx8 / opengl 1.5 : pipeline pré-programmé de bout en bout, aucune possibilité d'avoir des effets non câblés dans la carte/les drivers ;
    - dx9 / opengl 2 : vertex et pixel shaders programmables, ces étages du pipeline peuvent être entièrement remaniés pour faire de nouveaux effets ;
    - dx11 / opengl 4 : on a pratiquement tout le pipeline qui est programmable, tout est à la charge du développeur, il n'a pratiquement plus de limite ;
    - dx12 / mantle : on pourrait presque dire qu'on a plus que des buffers et des snippets de code qui agissent sur ces buffers.

    par contre la charge de développement a sacrément augmentée.
    on pourrait se dire que les éditeurs des apis 3d pourraient mettre des bouchons pour avoir un pipeline prêt à l'emploi sans avoir tout à faire, mais la cible c'est clairement les professionnels, les développeurs amateurs doivent soit tout écrire, soit se tourner vers les quelques moteurs 3d qui font déjà le taf.

  4. #4
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Donc selon toi microsoft ils font surtout des coupes de budget en déléguant le débuggage de leur boulot pas fini à crytek-epic-valve, ce qui explique pourquoi ce petit monde là est en panique car il vont devoir trouver dix fois plus de pognon pour éviter la faillite.

    Selon wikipédia ça serait lié à l'évolution vers la basse conso, mais selon moi c'est de la basse conso pour des mauvaises raisons, parce que l'industrie du tel mobile est l'exact contraire de solutions écologiques, ça explique pourquoi ça complique encore tout dix fois plus au lieu de revenir à des systèmes simples. A l'époque des cpu basse conso on avait certes des syntaxes moins lisibles mais des programmes infiniment plus simples, il y'avait deux langages et des gpu qui affichaient déjà tout tout seuls sans avoir besoin de deux cent ingénieurs pour programmer une librairie graphique, et deux mille de plus pour pouvoir s'en servir et afficher une image avec.
    nous devons inventer la langue de feu pour crâmer la langue de bois

  5. #5
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut Transition
    Bonjour.

    Le problème est certainement plus complexe parce que nous n'avons pas toutes les informations, mais je pense aussi que les smartphones sont venus semer la pagaille.

    Ils ont viré Steve Ballmer qui pour moi, a fait un travail remarquable quand je vois Windows Seven, MediaFoundation, la documentation MSDN, Visual Studio 2010, etc... Personnellement je me régale sur PC, mais il faut admettre une chose, les smartphones, c'est le marché le plus porteur pour toutes entreprises commerciales. Et donc nous développeurs, devont subir cette transition pour le meilleur et pour le pire.

    C'est une période de transition, et il ne peut y avoir de développement stable sur ces devices hétérogènes. On voit fleurir de multiples OS, des stores... de multiples langages pour développer sur smartphones, des outils qui prétendent compiler ton code sur tous les OS. Bref c'est la pagaille.

    Personnellement, je vais attendre que les choses se stabilisent. Peut-être que je passerai à DirectX12. Pour l'instant, je reste sous DirectX9, comme beaucoup d'éditeur de logiciels font....

    Actuellement, peu de sociétés ont les moyens de suivre le mouvement. Et en plus lorsque tu vois des technos disparaître du jour au lendemain, comme DirectX managed/XNA, que des nouveautés DirectX/Mediafoundation ne sont disponibles que pour Windows 8, alors que Windows Seven est l'OS le plus utilisé au monde, ça refroidit dans les choix technologiques. Il n'y a plus de visibilité pour nous développeurs. On s'oriente presque sur du développement jetable. Dommage.

    Mais je pense que ce n'est qu'une période de transition, jusqu'à ce que les smartphones soient aussi performants que les PC...

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    pour l'instant la basse consommation (donc les mobiles) ne sont pas capables de gérer autre chose que de l'opengl es 1.1 ou 2 (le 3 étant extrèmement minoritaire) ce qui correspond en gros à opengl 2, donc l'argument basse conso ne tient pas, ou difficilement (de plus quand on fait du jeu, on ne s'intéresse pas à la conso, c'est vraiment le dernier des soucis)
    par contre les dévs pros demandent de plus en plus les mêmes possibilités qu'ils ont sur consoles, ce qui correspond au "direct to metal", ce que ne permettent pas les apis actuelles et ce à quoi répond mantle et peut être dx12.
    le gros de la dépense des studios passe surtout dans les graphistes.

    après écrire les parties du pipeline manquantes pour avoir un affichage standard, ce n'est pas non plus d'une extrème difficulté, le fait d'avoir la possibilité d'écrire ces parties permet d'avoir un contrôle total sur ce qui est fait.

  7. #7
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Citation Envoyé par stardeath Voir le message
    le gros de la dépense des studios passe surtout dans les graphistes.
    m'est avis que le coût des licences de moteur est non-négligeable, surtout quand leur coût de développement est multiplié par trois à chaque update de dx/gl
    nous devons inventer la langue de feu pour crâmer la langue de bois

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par jean_kevin_musclor Voir le message

    N.B. ceci n'est pas une gueulante contre microsoft, j'ai cru lire que côté OpenGL c'est pareil ils peinent énormément pour s'adapter aux mobiles, et personnellement je ne vois pas de mal à ce que l'informatique évolue vers un retour aux chipsets à basse consommation.

    Pour directx 12 ils vont tout reprendre de zéro et dire définitivement adieu aux machines à papy gaspilleuses de jus, ça devrait donc normalement être moins le bordel... d'ici là va falloir se débrouiller avec un truc à la limite de l'inutilisable...
    Ce que tu critiques si je comprends bien c'est qu'utiliser Direct X pour programmer un jeu ça requiert de la puissance hardware et une consommation électrique accrue.
    Pour réponse , le problème ne vient mas de Microsoft mais de la personne ou du studio qui développe le jeu..
    Direct X c'est une "simple" et "bête" couche qui s'interface entre le hardware et les lignes de code.
    Si tu veux afficher des millions de polygones, plaquer des textures de plusieurs Megas,faire des effets graphiques avec les shaders pour développer un jeu triple A,Direct X il va te faire ce que tu lui demandes après ce sont les composants graphiques en fonction de cela qui vont avoir besoin de puissance électrique ou non.
    Pour ce qui est des mobiles, je suppose que c'est des composants basse-consommation car si un studio arrive à porter le dernier Wolfstein 3d sur un Ipad ou sur une Samsung Galaxy, ton Samsung Galaxy il va te servir comme grillle-pain ou fer-à-repasser.
    Déjà lorsque je lance Ms flight simulator 2004 ( FSX j'en parle même pas) , mon portable chauffe énormément...

    Citation Envoyé par stardeath Voir le message
    pour l'instant la basse consommation (donc les mobiles) ne sont pas capables de gérer autre chose que de l'opengl es 1.1 ou 2 (le 3 étant extrèmement minoritaire) ce qui correspond en gros à opengl 2, donc l'argument basse conso ne tient pas, ou difficilement (de plus quand on fait du jeu, on ne s'intéresse pas à la conso, c'est vraiment le dernier des soucis)
    les mobiles ne peuvent qu'utiliser des composants/chipsets à basse-consommation sinon c'est logique, les composants vont trop chauffer et le smartphone on n'a plus qu'à le jeter..
    voilà pourquoi il y a des implémentations "lights" de Open GL

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    les mobiles ne peuvent qu'utiliser des composants/chipsets à basse-consommation sinon c'est logique, les composants vont trop chauffer et le smartphone on n'a plus qu'à le jeter..
    voilà pourquoi il y a des implémentations "lights" de Open GL
    je suis pas sur de comprendre cette phrase, donc je vais expliquer plus ce à quoi elle répond, peut être que ça sera plus clair.
    au passage à directx 10, il y a eut une assez importante modification dans la manière de concevoir une puce graphique.
    pour les pipelines à majorité fixe, la plus grande partie des transistors sur une carte graphique avait une seule et unique fonction.

    http://techreport.com/r.x/geforce-78...00gt-block.gif

    sur cette image on voit bien les différentes sections qui ont chacune une seule fonction, les 8 (dont une barrée sur ce schéma) unités de traitement de vertices tout en haut, les 24 unités de traitement de pixels au milieu (4 barrées) et les 16 rops en bas, cette architecture est dite non-unifiée, chaque unité est dédiée à une fonction.

    l'architecture unifiée ressemble plutôt à ça :

    http://images.anandtech.com/reviews/...80/g80arch.gif

    on ne voit plus que 2 parties :
    - les "stream processors" au milieu ;
    - les rops en bas.

    cette fois ci les stream processors sont des unités à tout faire, elles peuvent tout autant exécuter des vertex shaders, pixel ou tout autre type de shader.

    bref, jusqu'à encore très peu de temps, les processeurs graphiques mobiles étaient construit autour de la première architecture, d'où la limitation structurelle à opengl 2/opengl es 1 et 2.
    c'est d'ailleurs pour ça que régulièrement j'accuse les constructeurs/éditeurs de nous avoir refourguer du réchauffé avec les techniques "révolutionnaires" 3d pour mobiles qui sont juste des techniques pre-dx10 connus depuis plus de 10 ans (depuis l'apparition de directx 8 en tout cas).

    c'est pour cela que je dis que je ne crois pas à la théorie de la basse consommation.
    le bas niveau, l'architecture unifiée dans notre cas, ne pouvait en aucun cas être utilisé sur les puces mobiles parce qu'elles en étaient tout simplement incapable structurellement.

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 217
    Points : 228
    Points
    228
    Par défaut
    L'évolution de direct3d, et surtout avec d3d12, se fait principalement dans la direction de l'accès bas niveau au matériel graphique. Cela répond à la demande des développeurs de jeux AAA (et non pas les indés), qui souhaite avoir cet accès afin de pouvoir taper dans les ressources auparavant mal gérées par les drivers. Il y a clairement un déplacement de responsabilité des développeurs de drivers vers les développeurs de moteur.

    Cela peut être vu à la fois comme un mal et comme un bien: plus de contrôle pour ceux qui en ont besoin, moins de travail pour les fabricants de cartes graphiques mais plus de travail pour les développeurs de moteurs.

    Il faut quand même reconnaître aux nouvelles apis (mantle, metal et d3d12) le mérite qu'elles soient encore assez abstraites pour coller au fonctionnement actuel de toutes les puces. De plus elles montrent vraiment les principes de fonctionnement des cartes graphiques, contrairement à DirectX9 qui ne colle plus du tout à la réalité matérielle actuelle.

    Après... Microsoft s'oriente avec d3d12 clairement vers les gros studios. Les autres n'ont qu'à utiliser des moteurs tout prêts selon eux... (Et ils ont surement raison).

  11. #11
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    J'ai ptêt une autre explication à laquelle j'ai pas pensé... coupes de budget chez microsoft ?
    nous devons inventer la langue de feu pour crâmer la langue de bois

Discussions similaires

  1. OpenGL ou DirectX
    Par Nadir dans le forum DirectX
    Réponses: 6
    Dernier message: 02/05/2002, 12h48
  2. Documentation DirectX dans C++Builder 3
    Par srvremi dans le forum DirectX
    Réponses: 1
    Dernier message: 26/04/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo