Partage
  • Partager sur Facebook
  • Partager sur Twitter

Double doubleBuffering hard and soft ?

Compatibilité / implémentation

    21 mai 2012 à 12:40:45

    Bonjour à tous,
    Dans le cadre d'un travail d'optimisation graphique d'un jeu 2D, j'ai implémenté le doubleBuffering software. Cependant, afin d'améliorer encore la fluidité, je me suis dis que je pourrais également mettre en place une double buffering hardware.
    Alors ma question va certainement paraitre idiote à la plupart d'entre vous, mais est-ce possible de cumuler les deux ?

    Quelle que soit la réponse ci-dessus, serait-il possible que vous m'aidiez à comprendre comment réorganiser mon architecture de composants pour tester l'affichage avec du doubleBuffering Hardware…

    Voici l'architecture que j'utilise actuellement :
    JFrame -> JPanel -> LayeredPane -> Class "doublebuffering" extends Jpanel implements MouseListener&Co
    Pour chaque composant doubleBuffering, j'ai un Thread créé qui met à jour de manière régulière l'affichage via un système de double buffer software.
    J'ai beau lire les tutoriaux et comprendre le principe, j'ai du mal à voir comment mettre en place simplement (et sans perdre toute mon architecture actuelle), du doubleBuffering hardware pour ma JFrame.

    Un grand merci à tous ceux qui pourront m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2012 à 22:25:28

      Juste par curiosité, sur quel type de jeu tu travailles ? Et tu es parti sur du SWT ou du Swing ?
      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2012 à 13:57:54

        Je travail sur un jeu 2D qui fonctionne avec des Tiles iso. Je suis initialement partit sur swing, mais je me demande si je n'ai pas fais une erreur vis a vis du double buffer hardware.


        Jj'ai testé differentes architectures d'interfaces graphique, mais je suis bien incapable de dire laquelle est la mieux pensée en java / si je dois encore modifier celle a laquelle je suis arrivé

        Actuellement je suis arrivé a l'interface suivante.

        JFrame <- JLayeredPane <- JPanel

        La JFrame utilise un double buffering hardware qu'elle met a jour en utilisant un getGraphic() sur le JLayeredPane

        Le JLayeredPane me sert a agencer les differentes partie de mon jeu, notamment les menus d'inventaire, la minimap, etc.

        Les JPanel correspondent aux element de mon affichage : la vue du jeu, la mini carte, l'inventaire, etc.
        Ces JPanels mettent a jour leur image chacun independament des autres regulirement par l'intermediaire d'un doubleBufferig software. Chacun de ces JPanel a son propre mousrListener.

        Les performances n'etant pas encore au rdv , je me dis qu'il y a certainement des regles d'architecture d'interface graphique de base que je dois mal appliquer... Je sens egalement qu'utiliser le getGraphics dans un buffering hardware n'est peut etre pas la meilleure solution...

        Envore merci a ceux qui pourront m'aiguiller / m'aider / m'eclairer.
        • Partager sur Facebook
        • Partager sur Twitter

        Double doubleBuffering hard and soft ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown