Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Framework] ODFAEG

Pour la création de jeux vidéos

    15 février 2025 à 20:07:12

    Salut! Au niveau des SSBO le problème c'est que l'on ne peut pas faire d'index buffer comme pour les VBO et récupérer les données en tant que attribut de sommet dans le vertex shader. Donc soit obligé de mettre à jour le SSBO à chaque frame et utilisé gl_InstanceID parce que les meshs visibles peuvent changer à chaque frame ce qui serait contraire à la prochaine mise à jour ou je ne veux mettre à jour que les indexes des entités visibles ou faire un draw call par mesh en passant l'id du matériau en uniform ce qui serait lent si beaucoup de matériaux et j'en utilise beaucoup. 

    Et je ne vois pas comment passer un tableau d'indexes au shader et récupérer l'index du bon matériel avec le vertex shader autrement que en utilisant des attributs de sommets.

    -
    Edité par OmbreNoire 15 février 2025 à 20:07:48

    • Partager sur Facebook
    • Partager sur Twitter
      16 février 2025 à 11:42:19

      Le plus gourmand, c'est les transferts GPU->CPU.

      J'ai juste dit que les transferts sont de toute façon plus gourmands que les draw calls.
      Au final les draw calls sont plutôt légers, ils pèsent aussi moins que les changements d'état

      • Partager sur Facebook
      • Partager sur Twitter

      Si vous ne trouvez plus rien, cherchez autre chose.

        17 février 2025 à 15:48:05

        Salut! J'ai essayé une technique pour réduire les transferts CPU->GPU mais avec un draw call per mesh en multiDrawIndirect.

        Mais ça n'a pas augmenté les performances pour autant.

        Donc le problème de lenteur ne vient pas de là mais d'ailleurs. C'est surtout le dessin sur la cubemap qui est lent pour mon objet réflectable. (Je ne sais pas pourquoi mais le driver est lent, ou la CG)

        Du coup ça ralenti aussi le CPU.

        Je ne sais plus quoi faire à part peut être faire comme tu m'as conseillé et faire un SSBO pour les données relatives au modèle.

        EDIT : j'ai regardé les différences de prix avec les cartes graphique de maintenant et les nouvelles coûtent passé les 8000 euros, tandis que la mienne est à 312 euros...

        -
        Edité par OmbreNoire 17 février 2025 à 17:24:13

        • Partager sur Facebook
        • Partager sur Twitter
          2 mars 2025 à 20:36:37

          Salut! J'ai commencé à faire comme DragonJoker me l'a conseillé, c'est à dire mettre les données de matériaux dans un SSBO et de modèle dans un autre SSBO et je les récupère avec gl_DrawID pour les matériaux (je fait un draw call par matériau et par type de primitive)  et gl_BaseInstance + gl_InstanceID pour les matrices de transformations et ça à l'air de plutôt bien marché. Et pour le non instanced rendering je fais un draw avec un instanceCount de 1 ça me permet de réduire le nombre de vertex shader que je vais utiliser. C'est mieux car ainsi pour les vertex buffer je ne met que les données sur les vertices. (positions, couleur,s coordonnées de textures et normales)
          • Partager sur Facebook
          • Partager sur Twitter
            5 mars 2025 à 8:35:27

            "les nouvelles coûtent passé les 8000 euros" Ouais fin, celles-ci sont pas pour le grand publique, et encore moins pour simplement jouer hein ^^ t'as des 4060 dans les 500€

            -
            Edité par Koyuki Tanaka 5 mars 2025 à 8:36:00

            • Partager sur Facebook
            • Partager sur Twitter
              5 mars 2025 à 23:32:47

              Salut! Ok

              J'ai dû annulé la mise à jour pour déplacer les données de mesh et de matériel dans un SSBO pour cause de bugs d'affichages. (Depth texture vide, les ombres s'affichaient au dessus des bâtiments)

              EDIT : non ok c'est bon ça marche j'ai simplement remit l'ancien code et recodé la mise à jour et ça a résolu le problème j'ai donc dû faire une erreur.

              -
              Edité par OmbreNoire 6 mars 2025 à 16:35:17

              • Partager sur Facebook
              • Partager sur Twitter
                9 mars 2025 à 16:30:43

                Salut! J'ai fini de remettre à jour les renderer pour qu'ils consomment moins de VRAM. J'ai plus qu'à le faire pour les ECS renderers mais ça c'est simple c'est presque que du copié coller ensuite je dois nettoyer le code pour supprimé tout le code que je n'utilise plus. Et si j'arrive à amélioré les perfs je commencerai à gérer les animations squelettiques.

                • Partager sur Facebook
                • Partager sur Twitter

                [Framework] ODFAEG

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                • Editeur
                • Markdown