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 :

Le langage Java est-il adapté pour les jeux vidéo ? [Débat]


Sujet :

Développement 2D, 3D et Jeux

  1. #461
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 531
    Points : 5 210
    Points
    5 210
    Par défaut
    Citation Envoyé par gouessej Voir le message
    voici une démonstration technique utilisant OpenGL et ... j'ai oublié le nom du moteur physique :
    http://www.insightmachines.com/demo/demo.jnlp
    J'avais déjà posté ce lien mais le programme a été mis à jour. Il utilise les shaders s'ils sont disponibles.
    cpu : core2duo E6300
    gpu intel gma (shaders non disponibles)
    fps : entre 0 et 5

    edit : et en plus, la caméra fait n'importe quoi, par moment je n'ai plus rien à l'écran ou elle est en dehors du décor et on voit l'ombre en dessous

  2. #462
    Expert confirmé

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

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 009
    Points
    5 009
    Par défaut
    Citation Envoyé par gouessej Voir le message
    Ce n'est pas parce que je n'ai pas montré de jeux avec des graphismes "beaux" dans le sens actuel (jeux AAA) que ça ne peut pas être fait en Java. Par contre, j'ai tenté de montrer que les arguments avancés contre Java pour justifier sa lenteur ne tenaient pas la route, qu'il n'y a rien qui empêche de faire de tels jeux en Java (si ce n'est le fait qu'il faut parfois aller chercher les "ingrédients" un peu partout) et j'ai expliqué pourquoi. J'ai donné les paramétrages possibles pour le ramasse-miettes, etc...
    heu, alors si tu veux faire des jeux tout moche graphiquement, libre à toi, mais les jeux auxquels je joue, ils sont soit très fun, soit bien et beau. des jeux avec un graphisme à la quake 2, non merci, des potes font la même chose en caml, et eux ils n'utilisent pas opengl.

    hors pour prouver sa lenteur ou pas, il faudrait peut être que tu nous montre quelque chose de comparable avec des techniques avancées actuelles.

    ha et si, encore un truc, les fps après un certain seuil c'est juste une bonne blague de "qui qu'a la plus grosse";
    par contre récupérer 10 fps quand tu es à 50, là il y a un vrai challenge, en prendre 100 quand tu es déjà au dessus de 150, c'est juste du kikoolol.

  3. #463
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Citation Envoyé par millie Voir le message
    Non non, il n'y a pas d'appel système à chaque fois.

    Par exemple sous linux, malloc utilise souvent l'appel système mmap ou brk (ou les 2), mais ne l'appelle pas à chaque fois car il réserve des blocs complets dans le tas.
    +1, d'autant plus qu'en C++ on ne passe pas toujours (selon les implémentations) par du malloc quand on fait un new, etc.

    Sinon, je trouve la réponse de stardeath très pertinente. On voit des jeux très fun et bien foutus mais également fluides avec des langages qui n'ont pas pour réputation d'être "rapides" (comparés aux langages répandus pour le temps réel).

    On ne renie pas le fait que Java et sa JVM s'améliorent côté performance, mais gouessej tu nous dis bientôt que le C et le C++ sont des langages lents et que pour faire de vrais gros jeux nécessitant de la rapidité il faut utiliser Java...

  4. #464
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 396
    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 396
    Points : 20 504
    Points
    20 504
    Par défaut
    Je suis d'accord avec Stardeath , Quake2 c'est un peu dépassé techniquement
    Donc j'en conclut que les possibilités technologiques de Java ne permettent de faire que des jeux dépassés technologiquement
    Citation Envoyé par Alp Voir le message
    On voit des jeux très fun et bien foutus mais également fluides avec des langages qui n'ont pas pour réputation d'être "rapides" (comparés aux langages répandus pour le temps réel).
    .
    Tout à ait d'accord on peut faire d'excellents petits jeux en Flash

  5. #465
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 815
    Points : 7 644
    Points
    7 644
    Par défaut
    Citation Envoyé par gouessej Voir le message
    Je pense savoir lire. J'ai déjà donné énormément d'exemples de programmes, [...]
    Hors sujet... je te demandais ça concernant ta question visant à fournir un exemple qui me fera revenir au C++...

    Citation Envoyé par gouessej Voir le message
    Encore une fois, tu méconnais ton sujet. Ce que les auteurs de Jake2 appelent "FastJOGL" n'est que pour l'essentiel l'utilisation des VBO en JOGL, l'appellation est trompeuse, je leur avais posé la question il y a quelques années. Pourtant, ils écrivent sur leur site que ce "FastJOGL" réduit le nombre d'appels natifs. De plus, je maintiens que Jake2 est un bon exemple, tu vois bien sur la troisième ligne que la version utilisant LWJGL (un autre binding d'OpenGL pour Java) va effectivement plus vite que la version originale.
    Très bien. Je dis que Jake2 se base sur un Jogl optimisé, tu réponds qu'ils utilisent une version modifiée pour aller plus vite. J'appelle ça de la mauvaise foi.


    Citation Envoyé par gouessej Voir le message
    Quand je suis passé à JOGL alors qu'à la base mon projet était en C++, je n'avais pas vu de différence notable.
    De même.
    Par contre, histoire de prévenir ceux qui voudrait faire la même manip, il faut faire gaffe sur certains algos, et ne pas adapter tel quel du code C++ au risque de parfois faire augmenter dramatiquement le temps de traitement (mon adaptation d'une classe Screenshot avait été calamiteuse... heureusement que c'est intégré dans Jogl maintenant) (ça rejoint ta remarque sur le benchmark avec le Thread.sleep())


    Citation Envoyé par gouessej Voir le message
    Si tu veux rapidement te faire une idée, fais tourner glxgears en plein écran, GLGears avec LWJGL et GLGears avec JOGL (en le modifiant pour qu'il s'appuie sur AWT)
    C'est bon, je tourne déjà avec Jogl.
    Par contre si tu as un lien où récupérer cette bête... ça m'intéresse (celui qui est livré avec Jogl n'affiche pas les fps, et je n'ai pas hyper le temps de mettre les mains dans le code...).



    Citation Envoyé par gouessej Voir le message
    Enfin, pour le ramasse-miettes, je ne me suis pas limité à analyser la perception du joueur, [...]
    Tssss... hors-sujet encore... essaie de lire au premier degré ce qu'on écrit, et de ne pas y chercher une attaque personnelle ou une critique...


    Citation Envoyé par Furikawari Voir le message
    Il a montré qu'à son avis il n'y avait rien qui empêchait cette réalisation en argumentant sur chacun des points avancés ici.
    Il suffit juste que quelqu'un le fasse avec les technos et les "critères de qualité" du moment pour avoir une référence. Comme ça on arrêtera de polémiquer. N'y aurait-il pas des projets en cours du côté de Sourceforge ou similaire (hormis Jake2)?


    Citation Envoyé par shenron666 Voir le message
    edit : et en plus, la caméra fait n'importe quoi, par moment je n'ai plus rien à l'écran ou elle est en dehors du décor et on voit l'ombre en dessous
    tout à fait... mais c'est une démo technique pour un moteur physique, il ne faut pas trop en demander sur l'affichage...
    Il doit y avoir un paramètre à régler chez toi, ça tourne à 30fps sur mon antiquité.


    Citation Envoyé par Alp Voir le message
    Sinon, je trouve la réponse de stardeath très pertinente. On voit des jeux très fun et bien foutus mais également fluides avec des langages qui n'ont pas pour réputation d'être "rapides" (comparés aux langages répandus pour le temps réel).
    Donc, si on extrapole, vu la réputation de lenteur que traine le langage tel un forçat son boulet... on peut faire des jeux très fun et bien foutus en Java


    Citation Envoyé par Mat.M Voir le message
    Donc j'en conclut que les possibilités technologiques de Java ne permettent de faire que des jeux dépassés technologiquement
    C'est juste que Java évolue tellement vite que le temps qu'on finisse de programmer le jeu, il y a eu tout plein d'améliorations qu'on n'aura pas pu prendre en compte!

  6. #466
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Furikawari Voir le message
    Il a montré qu'à son avis il n'y avait rien qui empêchait cette réalisation en argumentant sur chacun des points avancés ici.

    Après on est d'accord avec lui ou pas (et pour un AAA je ne suis pas convaincu), mais lui au moins argumente contrairement à toi.
    Merci. J'ai donné des sources aussi quand j'en avais.

    Citation Envoyé par Alp Voir le message
    Oui mais quand je charie je plaisante, c'est à dire que j'invente des fausses critiques, je fais des blagues bidons, pour rigoler. Or toi, tu ne sembles pas rigoler en disant que Java est meilleur pour les jeux (c'est pas ça mais presque ...).
    Je dirais plutôt que je pense que C++ n'est pas la solution miracle pour tout. Les contraintes évoluent.

    Citation Envoyé par shenron666 Voir le message
    cpu : core2duo E6300
    gpu intel gma (shaders non disponibles)
    fps : entre 0 et 5

    edit : et en plus, la caméra fait n'importe quoi, par moment je n'ai plus rien à l'écran ou elle est en dehors du décor et on voit l'ombre en dessous
    Je crois tout simplement qu'il a dû utiliser les VBO et que sur ta carte, il aurait mieux fait d'utiliser les display lists. Certaines puces Intel ont des performances catastrophiques avec les VBO. Autrement dit, ça n'a rien à voir avec Java.

    Citation Envoyé par stardeath Voir le message
    heu, alors si tu veux faire des jeux tout moche graphiquement, libre à toi, mais les jeux auxquels je joue, ils sont soit très fun, soit bien et beau. des jeux avec un graphisme à la quake 2, non merci, des potes font la même chose en caml, et eux ils n'utilisent pas opengl.
    Ok, je veux bien te croire mais il faudra que tu me montres Quake 2 en OCaml s'il te plait et sans OpenGL.

    Citation Envoyé par stardeath Voir le message
    hors pour prouver sa lenteur ou pas, il faudrait peut être que tu nous montre quelque chose de comparable avec des techniques avancées actuelles.
    J'ai montré Avengina mais ce n'est peut-être pas suffisant.

    Citation Envoyé par stardeath Voir le message
    ha et si, encore un truc, les fps après un certain seuil c'est juste une bonne blague de "qui qu'a la plus grosse";
    par contre récupérer 10 fps quand tu es à 50, là il y a un vrai challenge, en prendre 100 quand tu es déjà au dessus de 150, c'est juste du kikoolol.
    Oui tu prêches un convaincu, j'ai lu quelques petites choses intéressantes sur la persistance rétinienne, l'illusion de continuité et l'effet phi. Du coup, je pense qu'il aurait été plus intéressant de tester Jake2 sur des machines beaucoup moins puissantes.

    Citation Envoyé par Alp Voir le message
    On ne renie pas le fait que Java et sa JVM s'améliorent côté performance, mais gouessej tu nous dis bientôt que le C et le C++ sont des langages lents et que pour faire de vrais gros jeux nécessitant de la rapidité il faut utiliser Java...
    Je n'ai jamais dit que C et C++ étaient des langages lents, tu extrapoles. Je te prie de ne pas déformer mes propos, ni de tenter de me caricaturer. Cependant, je ne suis pas choqué de lire que Brian Goetz prétend que les allocations mémoire en Java sont plus rapides qu'en C++.

    Citation Envoyé par Mat.M Voir le message
    Je suis d'accord avec Stardeath , Quake2 c'est un peu dépassé techniquement
    Donc j'en conclut que les possibilités technologiques de Java ne permettent de faire que des jeux dépassés technologiquement
    Conclus ce que tu veux mais c'est ça que j'ai du mal à vous faire comprendre ici : Java n'a pas encore son "Far cry 2" (sinon ce débat n'aurait pas de raison d'être) mais il n'est pas impossible de créer un jeu de ce niveau en Java. Furikawari a très bien compris ce que je voulais dire et l'a exprimé plus synthétiquement que moi.

    Citation Envoyé par plegat Voir le message
    Hors sujet... je te demandais ça concernant ta question visant à fournir un exemple qui me fera revenir au C++...
    Je n'ai pas d'exemple qui te ferait revenir au C++.


    Citation Envoyé par plegat Voir le message
    Très bien. Je dis que Jake2 se base sur un Jogl optimisé, tu réponds qu'ils utilisent une version modifiée pour aller plus vite. J'appelle ça de la mauvaise foi.
    C'est complètement faux! Tu déformes complètement ce que j'ai écrit! Selon moi, ils utilisent une version tout à fait standard de JOGL mais au lieu de se contenter des display lists, ils utilisent des VBO comme d'autres jeux reposant sur JOGL le font déjà. Tu sembles ne pas m'avoir compris.

    Citation Envoyé par plegat Voir le message
    De même.
    Par contre, histoire de prévenir ceux qui voudrait faire la même manip, il faut faire gaffe sur certains algos, et ne pas adapter tel quel du code C++ au risque de parfois faire augmenter dramatiquement le temps de traitement (mon adaptation d'une classe Screenshot avait été calamiteuse... heureusement que c'est intégré dans Jogl maintenant) (ça rejoint ta remarque sur le benchmark avec le Thread.sleep())
    Tu n'es pas le seul à être passé par là. J'avais utilisé AWT directement quand JOGL n'avait pas encore cette classe.

    Citation Envoyé par plegat Voir le message
    C'est bon, je tourne déjà avec Jogl.
    Par contre si tu as un lien où récupérer cette bête... ça m'intéresse (celui qui est livré avec Jogl n'affiche pas les fps, et je n'ai pas hyper le temps de mettre les mains dans le code...).
    Va dans la rubrique "Demos" sur www.lwjgl.org et pour la version JOGL, va sur le site officiel de JOGL, il y a un fichier jogl-demos.zip dans la rubrique de téléchargement.

    Citation Envoyé par plegat Voir le message
    Il suffit juste que quelqu'un le fasse avec les technos et les "critères de qualité" du moment pour avoir une référence. Comme ça on arrêtera de polémiquer. N'y aurait-il pas des projets en cours du côté de Sourceforge ou similaire (hormis Jake2)?
    J'aimerais bien que ce soit si simple... La bêta version de Tribal Trouble 2 est pas mal mais bon... ce n'est pas suffisant.

    Citation Envoyé par plegat Voir le message
    tout à fait... mais c'est une démo technique pour un moteur physique, il ne faut pas trop en demander sur l'affichage...
    Il doit y avoir un paramètre à régler chez toi, ça tourne à 30fps sur mon antiquité.
    Ton antiquité et la mienne gèrent mieux que les puces Intel

    Citation Envoyé par plegat Voir le message
    Donc, si on extrapole, vu la réputation de lenteur que traine le langage tel un forçat son boulet... on peut faire des jeux très fun et bien foutus en Java
    C'est bien dit. Les "Puppy Games" en sont de bons exemples.

    Citation Envoyé par plegat Voir le message
    C'est juste que Java évolue tellement vite que le temps qu'on finisse de programmer le jeu, il y a eu tout plein d'améliorations qu'on n'aura pas pu prendre en compte!
    Ca dépend de quoi tu parles exactement car une modification dans OpenGL se répercute très facilement dans JOGL et LWJGL, ce dernier supporte déjà OpenGL 3.0, la V-Clip Collision Detection Library des Mitsubishi Electronic Research Laboratories a été assez facile à porter du C++ à Java.

    Edit. : J'ajoute quelques captures d'écran ci-dessous.









    Dernière modification par Invité ; 06/02/2009 à 20h12.

  7. #467
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 396
    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 396
    Points : 20 504
    Points
    20 504
    Par défaut
    Citation Envoyé par gouessej Voir le message
    Je dirais plutôt que je pense que C++ n'est pas la solution miracle pour tout. Les contraintes évoluent.
    Qui a dit que C++ était la solution miracle ?

    Sais-tu pourquoi Sun a fait le langage Java au moins ?
    Sun a fait ce langage parce que c'est une sorte d'architecture distribuée multiplateformes.
    Donc si je veux des applets pour faire des calculs comptables, sortir des états,des classes pour la facturation en entreprise, pour plateformes hybrides sur As400, Windows, IBM Mainframe je vais prendre évidemment Java ( Websphere notamment ).
    Faire cela en C++ serait idiot.
    Si je veux coller au plus près des ressources matérielles de la machine je vais prendre C++ parce que c'est plus adapté évidemment étant donné qu'en C++ on accède directement à la mémoire et au bas-niveau.

    Tu parles de "contraintes qui évoluent".
    Franchement je ne vois pas ce dont tu parles si tu peux m'expliquer plus en détail cela serait une bonne chose.
    J'ai toujours programmé en C++ pour concevoir des jeux je ne vois pas ce que va m'apporter de plus Java à part toute une usine à gaz de classes .jar à raccorder les unes avec les autres.
    Je programme en C++ et Direct X on va à l'essentiel point à la ligne et avec les performances..

  8. #468
    Expert confirmé

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

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 009
    Points
    5 009
    Par défaut
    Citation Envoyé par gouessej Voir le message
    J'ai montré Avengina mais ce n'est peut-être pas suffisant.
    méa culpa, j'avais pas vu, c'est dans ce style de démo que je trouve que l'on pourra "comparer" les 2 langages (si y a quelque chose de vraiment vital à comparer), ensuite faut avoir assez de courage pour programmer 2 scènes strictement équivalentes tant en java qu'en c++.

    mais bon ça c'est pas pour moi, vu que je bosse sous directx (excuse bidon je sais ^^)

  9. #469
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 531
    Points : 5 210
    Points
    5 210
    Par défaut
    Citation Envoyé par gouessej Voir le message
    Je crois tout simplement qu'il a dû utiliser les VBO et que sur ta carte, il aurait mieux fait d'utiliser les display lists. Certaines puces Intel ont des performances catastrophiques avec les VBO. Autrement dit, ça n'a rien à voir avec Java.
    je pense plutot que les shaders ne sont pas "glsl" mais des "programs"
    les VBO semblent bien fonctionner sur la puce intel du boulot
    mais c'est clair que la lenteur n'est pas un problème java
    avec une nv9600GT je plafonne à 60 fps

  10. #470
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Bon allez, je lâche mon popcorn et mon code pour me joindre au troll l'espace d'un post

    Citation Envoyé par gouessej Voir le message
    Cependant, je ne suis pas choqué de lire que Brian Goetz prétend que les allocations mémoire en Java sont plus rapides qu'en C++.
    Les boîtes utilisant sérieusement le C++ pour faire du jeu vidéo demandant de grosses perfs trouve aussi que les perfs en C++ sont mauvaises. C'est pourquoi ils finissent par implémenter leur propre version de la STL, et tout particulièrement des allocateurs. Pour les curieux prêt à passer un peu de temps sur une page très intéressante, EA a présenté sa version de la STL (vous y trouverez les motivations poussant à implémenter différemment telle ou telle chose).
    Donc s'il juge les perfs d'allocation, la question est: quelle stratégie d'allocation as-t-il utilisé dans son bench c++ ? (désolé, je ne l'ai pas trouvé en googlant; le bench que j'ai trouvé avec son nom ne comportait pas de mesures sur ce point, et date vraiment).

  11. #471
    Expert confirmé

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

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 009
    Points
    5 009
    Par défaut
    c'est tout sauf un troll, la stl est totalement inefficace quand on bosse sur un projet nécessitant des performances, la stl n'a qu'un avantage : totalement basée sur les templates, mais à quel prix??

    sur mes propres codes, j'ai remarqué une grosse différence de rapidité dès que mes structures de données devenaient assez importantes, utiliser un bête tableau, malgré les inconvénients, reste le must.

  12. #472
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Les templates, c'est mouliné à la compilation. Si la STL est lente, ça n'a rien avoir avec celles-ci.

  13. #473
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Il y a pas mal de choses (presque tout) dans la STL qui est fait pour être aussi général et réutilisable que possible. Ceci a un coût : les performances. On ne peut fournir un truc générique à souhait sans perdre en performances, et de plus il y a pas mal d'indirections, etc... Bref ce n'est pas optimal. Après, il faut utiliser les bonnes SDD, jouer avec les subtilités du C++, etc... si on veut du super performant.

  14. #474
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Points : 120
    Points
    120
    Par défaut
    Si j'ai bien compris, les jeux AAA ne peuvent être fait qu'en C++, avec DirectX et pas en C, ni sous Linux. De plus, il ne faut pas utiliser la librairie standard de C++.

    Ce que je ne comprend pas, et que j'aimerais qu'on m'explique, c'est est-ce qu'on peut utiliser le polymorphisme et l'héritage pour faire des jeux AAA ? Parce qu'on m'a toujours dit que l'héritage multiple est plus lent que l'héritage simple. Il me semble que c'est un des points fort du Java par rapport au C++.

    Si on ne peut pas utiliser l'héritage et le polymorphisme, qu'elle est l'interret du C++ ? le typage fort ? les templates ? la librairie DirectX ? un moteur 3d ultra optimisé en assembleur utilisable directement en C++ ?

  15. #475
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par tulipebleu Voir le message
    Si j'ai bien compris, les jeux AAA ne peuvent être fait qu'en C++, avec DirectX et pas en C, ni sous Linux. De plus, il ne faut pas utiliser la librairie standard de C++.

    Ce que je ne comprend pas, et que j'aimerais qu'on m'explique, c'est est-ce qu'on peut utiliser le polymorphisme et l'héritage pour faire des jeux AAA ? Parce qu'on m'a toujours dit que l'héritage multiple est plus lent que l'héritage simple. Il me semble que c'est un des points fort du Java par rapport au C++.

    Si on ne peut pas utiliser l'héritage et le polymorphisme, qu'elle est l'interret du C++ ? le typage fort ? les templates ? la librairie DirectX ? un moteur 3d ultra optimisé en assembleur utilisable directement en C++ ?
    Non, on peut faire des jeux AAA en C, sous Linux, ...
    On peut utiliser le polymorphisme et l'héritage, l'héritage multiple n'a pas d'incidence sur la vitesse si on ne fait pas n'importe quoi. C'est toujours la même chose. Dans les parties critiques, il est nécessaire de faire le maximum en statique (pas de polymorphisme dynamique, fonctions virtuelles, ...), mais pour le reste, on s'en fout un peu (beaucoup).

  16. #476
    Expert confirmé

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

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 009
    Points
    5 009
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Les templates, c'est mouliné à la compilation. Si la STL est lente, ça n'a rien avoir avec celles-ci.
    que les templates soient moulinés à la compilation ou pas ne change rien, aucune optimisation spécifique (comme par exemple l'alignement) n'est possible du à sa (trop) grande généricité. et vu qu'on parle de performance ....

  17. #477
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Mais cela n'a rien a voir avec les teplates.

    Preuve en est que le code templaté n'est pas lent s'il en fallait : les expressions templates pour le calcul matriciel.

  18. #478
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par stardeath Voir le message
    que les templates soient moulinés à la compilation ou pas ne change rien, aucune optimisation spécifique (comme par exemple l'alignement) n'est possible du à sa (trop) grande généricité. et vu qu'on parle de performance ....
    C'est un point soulevé dans le papier indiqué plus haut. Mais ça n'a en effet rien à voir avec les templates.

  19. #479
    Expert confirmé

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

    Informations forums :
    Inscription : Février 2006
    Messages : 2 395
    Points : 5 009
    Points
    5 009
    Par défaut
    bah vu que le but des templates est d'être générique, je vois mal des templates préprogrammés avec des optimisations pour tous les types, ou alors j'ai pas compris le but des templates.

  20. #480
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par stardeath Voir le message
    bah vu que le but des templates est d'être générique, je vois mal des templates préprogrammés avec des optimisations pour tous les types, ou alors j'ai pas compris le but des templates.
    Tu peux le faire, grâce à la spécialisation des templates. Les type traits sont créés sur ce principe de spécialiser tout en proposant une interface générique.

Discussions similaires

  1. Réponses: 39
    Dernier message: 13/07/2018, 04h48
  2. L’interview technique est-il adapté pour les recrutements ?
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 103
    Dernier message: 08/07/2013, 09h38
  3. [Autre] HTML5 est-il adapté pour les jeux sur le Web ?
    Par Hinault Romaric dans le forum Publications (X)HTML et CSS
    Réponses: 42
    Dernier message: 22/01/2012, 12h17
  4. HTML5 est-il adapté pour les jeux sur le Web ?
    Par Hinault Romaric dans le forum Balisage (X)HTML et validation W3C
    Réponses: 42
    Dernier message: 22/01/2012, 12h17

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