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

Développement 2D, 3D et Jeux Discussion :

Mantle : une nouvelle bibliothèque graphiques pour mieux contrôler le GPU


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    26 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 26 287
    Points : 209 488
    Points
    209 488
    Billets dans le blog
    93
    Par défaut Mantle : une nouvelle bibliothèque graphiques pour mieux contrôler le GPU
    Mantle : une nouvelle bibliothèque graphiques pour mieux contrôler le GPU
    AMD souhaite se débarrasser des obstacles compliquant la vie des développeurs de jeux vidéo

    Durant le « Developer Summit » de AMD, le constructeur a donné de plus amples explications sur sa nouvelle bibliothèque : Mantle.
    Le but d'AMD en proposant une nouvelle bibliothèque bas niveau permettant aux développeurs de jeux vidéo de se débarrasser des obstacles leur compliquant la vie.
    Frostbyte Engine 3, le moteur développé par Dice utilise déjà cette nouvelle bibliothèque dans Battlefield 4. Grâce à Mantle, les développeurs ont un meilleur contrôle sur le GPU et la mémoire graphique tout en conservant un surcoût faible. Toutefois, la bibliothèque n'est disponible que pour Windows et que pour les récentes puces de la firme.


    Mantle se place un niveau en-dessous de DirectX ou OpenGL. Les développeurs ne vont pas pour autant revenir à la programmation en assembleur pour les puces graphiques mais auront ainsi un contrôle plus fin sur la carte graphique.

    Le problème qu'ont les bibliothèques actuelles est au niveau du surcoût des commandes de rendu. Cela peut s'expliquer par les vérifications des paramètres et des erreurs ou encore, la traduction en commande native pour le GPU.
    D'après AMD, les jeux actuels se limitent à une moyenne de 3 000 à 5 000 appel à des commandes de rendu (10 000 pour les codes optimisés), alors qu'avec Mantle, il sera possible d'atteindre 100 000 appels de ce genre.

    Pour cela, AMD fait en sorte de conserver une bibliothèque simple permettant de visualiser facilement son fonctionnement. Malgré tout, son utilisation ne sera pas simplifié, mais permettra aux développeurs 3D de ne pas être surpris par des comportement cachés. Afin de gagner des performances, Mantle mise sur la réutilisation de données, du précalcul une meilleure gestion de la mémoire et un contrôle sur la génération des commandes de rendu.


    Son fonctionnement est finalement simple : l'application génère des commandes qui iront dans la queue du GPU. La différence est dans le fait que la répartition des commandes n'est plus laissé au pilote, mais au développeur. Le second avantage est de proposer un multi-threading efficace. Finalement, la bibliothèque permet la gestion de plusieurs GPU et ainsi, de déterminer où les commandes de rendu doivent être exécutées.

    En plus de tout cela, Mantle introduit un nouveau objet : le pipeline monolithique. Celui-ci permet de sauvegarder l'intégralité de la configuration de la carte graphique (les états, les shaders...) et devrait permettre de nouveaux types de rendu jusqu'à présent inaccessibles.

    Mantle améliore l'utilisation de la mémoire graphique en la simplifiant. Il n'y a plus que deux zones distinctes : les zones mémoires et les zones de rendus. Mantle permet de donner un contrôle plus précis de la mémoire à l'utilisateur. Comme il sait exactement ce qu'il souhaite, permettant ainsi des optimisations plus précises.

    Finalement, AMD annonce avoir besoin d'outils efficaces, mais que cela est sur une bonne voie, sachant que la bibliothèque intègre directement des mécanismes de débogage et de validation. Mantle n'est pas prévu pour être limité à une unique architecture. Le constructeur précise que la base se limite à des fonctions relativement générique et donc, pouvant être supporté par d'autres constructeurs. Toutefois, Mantle utilise la mémoire virtuelle unifiée qui n'est pas disponible chez tous les constructeurs.


    Votre opinion

    Que signifie cette nouvelle technologie pour vous ?
    Subissez-vous les contraintes des bibliothèques comme DirectX et OpenGL ?
    Êtes-vous intéressé par la technologie Mantle ?


    Source

    Hardware
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Expert confirmé

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

    Informations forums :
    Inscription : février 2006
    Messages : 2 329
    Points : 4 589
    Points
    4 589
    Par défaut
    Que signifie cette nouvelle technologie pour vous ?
    Subissez-vous les contraintes des bibliothèques comme DirectX et OpenGL ?
    Êtes-vous intéressé par la technologie Mantle ?

    heu j'ai énormément de mal à comprendre le but de ce truc, c'est quand même amd/nvidia/intel qui écrivent les drivers dx/ogl pour leurs cartes graphiques restrictives alors soit :
    - les apis (dx/ogl) sont "mal" désignées, dans ce cas ça peut se justifier d'avoir une nouvelle api ;
    - chez amd ils sont incapables d'écrire un pilote pour leur propre matos.

    loin de moi de penser réellement ça, mais vu que visiblement il n'y a pas moyen de tester mantle, pour l'instant je me demande ce qui les empêche de faire la même chose avec dx/ogl.

    surtout que mis à part avoir une soupe de polygones, de textures et de jouer avec, je ne vois pas ce qui peut poser problème avec les apis classiques.

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    décembre 2007
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : décembre 2007
    Messages : 677
    Points : 2 137
    Points
    2 137
    Par défaut
    Citation Envoyé par stardeath Voir le message
    Que signifie cette nouvelle technologie pour vous ?
    Subissez-vous les contraintes des bibliothèques comme DirectX et OpenGL ?
    Êtes-vous intéressé par la technologie Mantle ?

    heu j'ai énormément de mal à comprendre le but de ce truc, c'est quand même amd/nvidia/intel qui écrivent les drivers dx/ogl pour leurs cartes graphiques restrictives alors soit :
    - les apis (dx/ogl) sont "mal" désignées, dans ce cas ça peut se justifier d'avoir une nouvelle api ;
    - chez amd ils sont incapables d'écrire un pilote pour leur propre matos.

    loin de moi de penser réellement ça, mais vu que visiblement il n'y a pas moyen de tester mantle, pour l'instant je me demande ce qui les empêche de faire la même chose avec dx/ogl.

    surtout que mis à part avoir une soupe de polygones, de textures et de jouer avec, je ne vois pas ce qui peut poser problème avec les apis classiques.
    Ce que j'ai compris du bousin, c'est que visiblement l'abstraction apportée par DirectX et OpenGL limite le nombre d'appel de commandes GPU, et qu'avec une telle API, débarrassée de tout un tas de mécanismes de contrôle et d'assistance, on se retrouverait avec quelque chose de plus efficace. Bref, je pense que c’est totalement indépendant des pilotes (et de leur qualité intrinsèque).
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    26 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 26 287
    Points : 209 488
    Points
    209 488
    Billets dans le blog
    93
    Par défaut
    En fait, les implémentations faites dans les pilotes de carte graphique font que les premières lignes de code de chaque fonction vérifient les cas d'erreur.
    Prenons glDrawArray :

    Vous voyez quatre erreurs possible :
    GL_INVALID_ENUM is generated if mode is not an accepted value.

    GL_INVALID_VALUE is generated if count is negative.

    GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped.

    GL_INVALID_OPERATION is generated if a geometry shader is active and mode is incompatible with the input primitive type of the geometry shader in the currently installed program object.
    Les premières lignes de l'implémentation de cette fonction vont vérifier ces cas, pour pouvoir retourner les erreurs adéquates. Et cela est vrai pour la majorité des fonctions. Du coup, AMD estime qu'il y a une grande partie du temps perdu dans ce genre de traitement.

    La seconde idée est de dire : le pilote fait des optimisations, mais celles-ci sont généralistes. Un développeur de jeu, expert en programmation GPU pourra, à l'aide de Mantle (et donc, d'un accès plus direct au GPU), faire les optimisations que lui, pense bonnes et non des optimisations génériques qui peuvent ne pas améliorer les performances. C'est un meilleur contrôle sur le GPU, mais c'est un contrôle qui sera réserver pour l'élite, si on peut dire. Un développeur indépendant n'a aucun intérêt à utiliser Mantle, à vrai dire.

    Mantle est actuellement en Alpha et est réservé aux développeurs "proches de AMD", notamment les gars chez Dice. Ils espèrent avoir une bonne documentation pour Mars 2014 et une bêta ouvert toujours à plus de monde. Mais personnellement, je pense que cela sera vite réservé à simplement des développeurs pro (des studios de développement). La version finale est prévu pour le second semestre 2014. Entre temps, le support sera disponible dans tous les pilotes.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    électronicien
    Inscrit en
    août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : électronicien

    Informations forums :
    Inscription : août 2007
    Messages : 9
    Points : 26
    Points
    26
    Par défaut
    Est-ce qu'AMD cherche créer avec la bibliothèque Mantle l'équivalent de ce qu'a fait NVidia via la bibliothèque CUDA ?

  6. #6
    Membre régulier
    Homme Profil pro
    Dev C/C++
    Inscrit en
    octobre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Dev C/C++

    Informations forums :
    Inscription : octobre 2011
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par peace haine love Voir le message
    Est-ce qu'AMD cherche créer avec la bibliothèque Mantle l'équivalent de ce qu'a fait NVidia via la bibliothèque CUDA ?
    AMD supporte déjà OpenCL, qui est le pendant "ouvert" de cuda et fonctionne sur tous les différents hardware.
    Tout ce que j’espère c'est que Nvidia va suivre l'idée et proposer aussi une lib bas niveau sur sont hardware (qui colle de façon similaire a Mantle).
    Ça permettrait de faire des implémentation libre d'openGL plus optimisé ainsi que débuggé et qui fonctionnerais de façon uniforme quelque soit les plateformes !

Discussions similaires

  1. SplatGL : une nouvelle bibliothèque de rendu Python pour les jeux 2D
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 01/11/2014, 16h38
  2. WWDC : Apple dévoile Metal, une nouvelle bibliothèque graphique
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 03/06/2014, 14h02
  3. les fonctions d'une bibliothèque graphique pour C++
    Par houwa dans le forum Développement 2D, 3D et Jeux
    Réponses: 16
    Dernier message: 20/01/2008, 13h10
  4. Spécifier une nouvelle librairie graphique/jeu
    Par Montaigne dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 20/06/2005, 18h59

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