CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[HS] Modération et Blabla.

PatateChocolat
PatateChocolat
Niveau 9
15 juillet 2013 à 22:40:54

Après avoir joué à Wrath of Darkness, je pense faire un petit jeu d'horreur à ambiance principalement :oui: .

PatateChocolat
PatateChocolat
Niveau 9
15 juillet 2013 à 22:48:16

Applaudissez moi, j'ai réussi à avoir une fuite mémoire en Java :noel: .
:d) http://i.imgur.com/sywFss6.png

Pour les utilisateurs de LibGDX, ne faites jamais :
"texture = new Texture(truc); "

Du moins, faite un dispose avant :noel: :
"if(texture != null) texture.dispose();"

[-ArK-]
[-ArK-]
Niveau 29
16 juillet 2013 à 09:07:08

Ça m’étonne :doute:
Normalement dispose() ça s'utilise pas trop comme ça je crois, faudrait que je me renseigne :(

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 12:20:16

Dis toi que je faisais 60 fois par seconde un
texture = new Texture(truc);

Ma mémoire augmentée de 1% par seconde environ :rire: .
En faisant un dispose, plus rien :hap: .

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 12:36:19

:d) http://i.imgur.com/0TdiVHa.png

Les textures sont OP :bave: .

PS : Je crée un pixmap de 480 * 320, et je dessine dedans. Ensuite pour l'afficher aux dimensions de la fenêtre, je crée une texture et je met ma pixmap dedans, ensuite à l'aide du spritebatch, je fais :
batch.draw(screen, 0, 0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());

:ok: .

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 12:59:10

:d) http://i.imgur.com/FMNdlIX.png

Sol et plafond fait :bave: .

[-ArK-]
[-ArK-]
Niveau 29
16 juillet 2013 à 13:19:14

"PatateChocolat Voir le profil de PatateChocolat
Posté le 16 juillet 2013 à 12:20:16 Avertir un administrateur
Dis toi que je faisais 60 fois par seconde un
texture = new Texture(truc); "

:d) Et pourquoi tu le faisais 60 fois par secondes ? :doute: Normalement tu les charges qu'une fois ça, même si tu dois modifier leur positionnement :doute:

En tout cas ça commence à avoir de la gueule :bave:
T'as essayé de mettre le filtre des textures à linéaire ? (je crois que c'est pas le cas là), ça rendrait tout ça beaucoup plus beau :bave:

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 13:26:10

" :d) Et pourquoi tu le faisais 60 fois par secondes ? :doute: Normalement tu les charges qu'une fois ça, même si tu dois modifier leur positionnement :doute: "

:d) En faite je suis con, j'ai changé ça par un
"screen.draw(screenData, 0, 0); "

screen est un Texture et screenData est un pixmap :ok: .

"T'as essayé de mettre le filtre des textures à linéaire ? (je crois que c'est pas le cas là), ça rendrait tout ça beaucoup plus beau :bave: "
:d) De base c'est linéaire :-))) .

[-ArK-]
[-ArK-]
Niveau 29
16 juillet 2013 à 13:33:36

c'est pas en "nearest" de base ? :(

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 13:37:06

Non, du moins j'ai toujours du faire la méthode pour passer du linéaire au nearest :( .

Je vais essayer de voir pour le linéaire :oui: .

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 13:39:07

ça m'donne ça en linéaire :d) http://i.imgur.com/fbpzUX4.png

Megagugus14
Megagugus14
Niveau 10
16 juillet 2013 à 13:44:52

"C'pas de la 3D là, c'est du raycasting, c'est de la 2D :ok: ."

Je sais. Mais libGDX te fournit pas une méthode pour dessiner une image en profondeur ?

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 13:47:27

Aucune idée :hap: .

[-ArK-]
[-ArK-]
Niveau 29
16 juillet 2013 à 14:12:17

Sympa :oui:
Bon en fait le mode linéaire ça change pas autant que je l'aurais cru :noel:

megagugus14 :d) ça doit exister ouais vu que maintenant on peut faire de la 3D assez avancée :hap:
D'ailleurs t'utilise quoi comme version de libGDX PC ? :question:
Une nightly build récente ou une release ? :question:

PatateChocolat
PatateChocolat
Niveau 9
16 juillet 2013 à 14:20:25

la nightly latest :ok: .
Celle que GDX Setup UI télécharge :ok: .

Megagugus14
Megagugus14
Niveau 10
16 juillet 2013 à 15:49:11

Je pense pas que les images soient chargés dans la RAM vidéo, vu qu'au final c'est juste des variables comme les autres non ? A confirmer quand même. J'avais lu quelque part qu'elle servait à stocker les données couleur...?

Megagugus14
Megagugus14
Niveau 10
16 juillet 2013 à 16:13:09

Ah ouais. Raison de plus pour ne pas négliger les loadfromfile. :noel:

godrik
godrik
Niveau 30
17 juillet 2013 à 04:57:29

Les textures et les donnees graphique peuvent etre conserve en memeoire et streame a la carte graphique a la demande ou etre conserver directement sur la carte graphique. Cela depend de comment tu fais tes appels. Avec la SDL, c'etait la difference entre les surface software et les surfaces hardware. Sous linux, nvidia-smi te donne l'occupation memoire de ta nvidia.

[-ArK-]
[-ArK-]
Niveau 29
17 juillet 2013 à 09:15:11

Hier soir j'ai fait des optimisations à un de mes jeux pour voir le gain de perfs (Starrows si certains se souviennent :noel: )

J'ai fait un test de benchmark qui lance une bataille avec 300 unités :oui: avant j'obtenais environ 28/30 fps en dessinant toutes les collisions / portée des unités / etc (j'ai pas utilisé un seed fixe donc les perfs peuvent un peu changer en fonction de la bataille vu que les soldats se déplacent un peu aléatoirement)

En optimisant avec les pools de mémoire (pour limiter la création de nouveaux objets, surtout pour les projectiles), les textures atlas (pour limiter l'allocation de nouvelle texture à openGL étoo là), et la nouvelle façon de gérer les shaperenderer de libgdx (des lignes au lieu des rectangles direct comme ça on peut faire un rectangle et un cercle sans avoir à fermer le shaprenderer et à le réouvrir), je tourne à 60 fps maintenant :bave:

et j'ai pas encore fait des pools pour tout ce qui est nécessaire comme les particules en plus :oui:

je pensais pas que je gagnerais autant en terme de perf :ouch: :bave: C'est bien optimisé maintenant :cool:

Lapintade
Lapintade
Niveau 30
17 juillet 2013 à 09:42:43

En general les allocations mémoire intensives sont une plaie pour la rapidité d'un jeu. Sur PC ca se sent pas trop (enfin pas jusqu’à un certain stade comme tu as pu voir). Quand j'ai bossé sur PS2 par exemple, c'était très important. Pendant les phases de jeux il fallait zéro allocation/destruction, et on avait réécrit l'allocateur mémoire pour qu'il soit rapide et propre (car il y a aussi des problèmes de fragmentation mémoire).
Donc oui, un petit effort au niveau de la gestion mémoire peut aider.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware