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

Optimisation How To ?

Pseudo supprimé
Pseudo supprimé 26 août 2006 à 22:08:00

Salut tout le monde,
Je travail sur un petit Level Editor et j´aimerais savoir tous les moyens d´optimisation qu´il existe.
Voici ceux que je pense connaitre :
-> frustrum (=volume de vue) [avec le brouillard]
-> occlusion culling(=élimination du rendu des polygones cachées)
->LOD (Level Of Detail) des objets en définissant le nombre de polygones selon la distance
->Portal Zone (L´ordinateur calcule uniquement à l´interieur du portail)
Je ne vois rien d´autre...si qqn en aurait d´autres ca serait sympa de faire partager son savoir ;)

Lapintade
Lapintade
Niveau 30
26 août 2006 à 23:02:09

Si on pose ton probleme depuis le depart, c´est "j´ai fait un editeur de niveau et j´aimerais qu´il tourne plus rapidement". C´est bien ca ?

Car l´optimisation ca touche beaucoup de domaines, pas seulement l´affichage 3D.

Precise donc ta demande.

Pseudo supprimé
Pseudo supprimé 27 août 2006 à 18:30:50

Oui, exactement mais je cherche seulement à optimiser du coté de l´affichage 3d.
merci

jcottier
jcottier
Niveau 3
27 août 2006 à 18:52:04

Si ton univers est immense, tu peux aussi clusteriser. En gros si tu as 10000 objets, c´est assez couteux de faire des calcule sur chacun d´eux. Meme si c´est pour juste s´apercevoir qu´il ne sont pas a l´ecran. Donc en gros tu cree des reigions et pour chaque region tu gere la liste des objets present. Tu fais un test sur une region avec le frustrum et si il est negatif, cela veux dire que tu n´a pas besoin de dessiner les dizaines d´objets a l´interieur.

Yellow House Studios
www.ovogame.com

JC

LGV
LGV
Niveau 28
27 août 2006 à 19:52:35

d´un autre cote, il a deja evoque les portals..

sinon a mon avis il faudra commencer par savoir QUOI optimiser ! parce que le rendu, c´est vague... Batchs peu efficace ? shaders trop couteux ? skinning de mesh trop lent ? tout simplement trop de poly (LOD peu efficaces, objets mal culles ? ), etc.

foutre des timers pour chercher a raffiner ce qu´il faut optimiser ; cote GPU, un petit outils de perf analysis base sur le timer hardware fera l´affaire ; cote GPU, des choses comme NVPerfHud ou Pix peuvent aider.

ensuite on pourra parler des choses a envisager, quand on saura de quoi il est question..

Pseudo supprimé
Pseudo supprimé 27 août 2006 à 20:25:54

merci d´avoir répondu,
pour JC je pense pas que mon univers sera immense, ce n´est pas dans l´intention de faire un mmorpg, mais plutot un action/rpg 3d avec des cartes pas trop grandes.
Gérer une liste d´objet présent peut etre efficace sur de vaste territoire mais sur une par exemple dans un chateau je ne sais pas si les portals ne sont pas plus efficace ?

Pour LGV, je souhaite optimiser l´interieur grace au portal (je pense) mais je souhaite aussi optimiser les shaders et la je ne sais pas trop quelles solutions existent ils ? Car j´utilise bcp de normal map / Height map et autres effet tel que le Glow.
De plus les lumieres épuisent bcp de resources non ?

En ce qui concerne le monde exterieur comme les terrains (qui ne seront pas vastes) il existe une méthode qui diminue le nombre de polygone selon la distance mais je ne me souviens plus du nom...
Merci de votre aide :D

LGV
LGV
Niveau 28
27 août 2006 à 22:07:38

choix courants :
- interieur : (solid) BSP + Portal + PVS
- exterieur : geomipmorphing (ROAM) + Quadtree/Octree

mais.. tu es a quel stade la exactement ? parce que ces structures de donnees sont le coeur meme du systeme ; on n´optimise pas un landscape "naif" en le passant en geomipmorphing, on re-ecrit carrement tout le module.

Pseudo supprimé
Pseudo supprimé 27 août 2006 à 22:37:22

J´en suis au stade de définir les outils dans mon editeur...je m´explique, mon editeur se fait à partir d´un moteur open source déja ecrit. De ce fait, certaines techniques d´optimisation sont déja écrite d´autre sont à ajouter. En ce qui me concerne j´ai concu mon editeur avec des outils simples tel que l´importation de models 3ds,creation de terrain,la creation de brush et le texturing (avec shader mais j´ai encore quelques bugs...),ETC..., j´ai donc l´intention de rajouter des zone de portals ainsi qu´une profondeur de brouillard customisable dans les options in-game. Pour le LOD, il n´y a pas de souci, en ce qui concerne les octrees, j´ai souvent entendu parler de ce procédé mais je ne sais pas trop comment il fonctionne, il me semble que cest la division d´une scene en 8 mais je suis pas sur.
D´ailleurs je viens de trouver un lien très interessant :
http://jeux.developpez.com/faq/3d/?page=partitionnement#PARTITIONNEMENT_choix
Je ne crois pas que le moteur que j´utilise contient le code sur les octrees....est ce vraiment efficace (ce que je veux dire c´est que est-il vraiment necessaire que je prenne 1mois à programmer cette partie ? si c´est pour obtenir 2-3 FPS en + ...)
Pour le geomipmorphing (jme souvenais plus du nom ) je pense qu´il est vraiment efficace mais cette partie est à faire dans mon editeur.
Merci de m´avoir aider :D

Fvirtman
Fvirtman
Niveau 10
28 août 2006 à 18:09:55

un sujet intéressant !!

Quelques optimisations qui n´ont pas été évoquées : pour le calcul des normales, il faut utiliser des racines carrées. Cette opération est lente : évite les racines carrées comme la peste -> précalcule tout ce que tu peux.
poru les calculs de distance, par exemple, une optimisation classique : si tu veux comparer 2 distances, compare leur carré si ça peut t´éviter une racine : en effet, une distance est toujours positive, donc, dans ce cas la a<b <=> a²<b².

Sinon, un octree est un découpage récursif malin du monde :
http://cfd.enginsoft.it/st/software/immagini/octree.gif

ce dessin montre un résultat visuel de la chose.
Tu ranges ensuite les triangles dans le bon petit cube, si ce triangle est a cheval sur plusieurs cubes, tu ranges dans le pere commun a ces cubes.
Apres cela, tu calcules, avec ton frustrum, quels cubes de l´octree sont visibles, et tu ne rends que les triangles inclus dedans.
Bonne optimisation.

godrik
godrik
Niveau 30
28 août 2006 à 18:57:37

"Sinon, un octree est un découpage récursif malin du monde"
Qu´est ce que tu entends par malin ?
tu veux dire que tu ne coupes pas en 8 parties égales ?

Fvirtman
Fvirtman
Niveau 10
28 août 2006 à 21:16:38

sisi, les parties sont égales.
Apres, le mot "malin" est peut etre de trop, c´est juste une opinion personnelle, je trouve cet algorithme malin et astucieux :)

On pourrait imaginer des variantes d´octree ou les parties ne seraient pas égales, mais je pense que ce serait plus complexe ensuite de déterminer quel cube est dans le frustrum.

Sinon, le BSP tree est un peu la meme chose : il découpe le monde en 2 parties par un plan, puis refait ça récursivement : ça fait un arbre binaire. Toute la puissance de l´algo revient a choisir correctement les plans de coupe !

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