SourceEngine +showbudget : C'est quoi? Ca dit quoi? Explications

  • Initiateur de la discussion
  • Administration
Seb

Seb

El Dictator
Membre du Staff
Messages
1 875
Score réaction
454
Points
370
Ce tutorial réalisé entièrement par NykO18 et provient des archives de mapping-area et modding-area.
Les archives sont anciennes, certains tutoriels peuvent ne plus correspondre aux dernière versions.


-

+showbudget

Showbudget est un outil intégré au moteur Source qui permet de voir combien de temps Source passe sur chacune de ses tâches.
C'est principalement un outil de détection des élements qui ralentissent trop le jeu.
Cet article traite de son usage à des fins d'optimisation.

Accès :

Showbudget est accessible depuis la console.
Il n'est pas necessaire d'activer le mode de triche pour l'utiliser.
Ouvre la console et tapez : +showbudget
Fermez ensuite la console. Il devrait normalement être apparu une fenêtre un peu intimidante sur votre écran, c'est le budget.
Vous pouvez également taper -showbudget pour le faire disparaître.

Signification :

Dans le coin en haut à droite, vous pouvez voir du texte traitant de "fps" et de "ms".
Le premier nombre vous dit combien d'images par secondes sont actuellement dessinées.
60 et plus sont généralement considérés comme bon.
Le second nombre est, lui, un meilleur indicateur en vous montrant combien de millisecondes (millièmes de secondes) cela prend au moteur pour dessiner une fois l'écran. Plus c'est bas, mieux c'est.
Le texte apparaît en rouge lorsque Source pense que ce temps est mauvais, et en vert lorsque c'est le contraire.

Ensuite, vous pourrez remarquer plusieurs barres de couleur dans la partie principale du graphique. Chaque barre représente combien de temps met Source pour effectuer chaque tâche. Quand ces barres sont petites (à gauche), votre ordinateur gère les choses plutôt bien. Si vous remarquez quelques barres flirtant avec la droite, c'est qu'il y a des endroits à retravailler dans votre map.
Voici un résumé de ce que chaque barre signifie :

Unaccounted : Probablement les autres processus tournant sur l'ordinateur. Fermez tous les programmes non-essentiels qui tournent en fond.
World Rendering : Concerne les brushes (blocs). Si c'est trop haut, réduisez la complexité de vos blocs.
Displacement Rendering : Concerne les displacements. Si c'est trop haut, vous aurez surement besoin de simplifier vos displacement. (en utilisant un "power" moins élevé par exemple)
Game : Autant que je sache, il n'y a rien à tirer de celle ci.
NPCs : Concerne tous les personnes non-joueurs. Si c'est trop haut, vous avez surement trop de NPCs sur votre carte ou trop de bots en multijoueurs.
Server Animation : Inconnu.
Client Animation : Inconnu.
Physics : Temps necessaire pour effectuer les simulations physiques. Si c'est trop haut, utilisez moins d'objets soumis à la phyique ou des moins compliqués. Utilisez tant que possible des prop_physics_multiplayer a la place des prop_physics en multijoueurs.
Static Prop Rendering : Temps necessaire pour dessiner les prop_static. Si c'est trop haut, c'est qu'il y en a trop. (recommandé entre des centaines à des milliers)
Other Model Rendering : Temps necessaire au dessin des prop_dynamic, prop_physics et leur variantes. Si c'est trop haut, vous utilisez surement trop de models déplaçables et/ou soumis à la physique.
Light Cache : Concerne l'éclairage. Pas plus de détails pour le moment mais on peut imaginer que trop haut signifie trop d'effets de lumière.
Brush Model Rendering : Inconnu.
Shadow Rendering : Concerne les ombres. Si c'est trop haut c'est probablement qu'il y a trop d'ombres à générer sur la carte (celles dynamiques des props par exemple)
Detail Prop Rendering : Temps necessaire au dessin des prop_detail.
Particle/Effect Rendering : Temps necessaire au dessin de tout ce qui utilise des particules. Fumée, nuages, étincelles et tout le reste.
Ropes : Concerne les cordes/cables. Si c'est trop haut, vous avez probablement trop de cordes/cables ou bien ils sont trop complexes (réduisez leur nombre de segments)
Dynamic Light Rendering : Temps necessaire au dessin des éclairages dynamiques. Si c'est trop haut, vous avez trop d'éclairage dynamique (souvent lorsque vous oubliez de cocher le flag "No Dynamic Light" en mettant un point_spotlight)
Networking : Temps necessaire pour effectuer tout ce qui est en rapport avec le réseau. Ce n'est pas la même chose que le lag. Si c'est trop haut, il faudra que vous pensiez à envoyer moins de données par le réseau, et donc à simplifier la carte ou réduire le nombre de joueurs.
Sound : Temps necessaire au traitement des sons. Les sons sont causés par les ambient_generic, plusieurs types de func_, les env_soundscape, etc.. Si c'est trop haut, vous avez surement trop de son au même endroit.
VGUI : Temps necessaire au dessin de tous les menus (HUD, menu principal, le showbudget en lui même, etc..)
FileSystem : Inconnu, mais ne semble pas avoir de rapport avec la carte.
Prediction : Pas certain, mais cela semble être le temps necessaire à la prédiction des mouvements des autres joueurs en réseau.
Interpolation : Inconnu.
Swap Buffers : Concerne les shaders et possiblement d'autres choses. Renseignez vous sur les shaders pour plus d'informations. (certains dont moi, ont eu un problème avec le Swap Buffer à cause de l'eau quelque part dans la map, à vérifier)
Swap Buffer; je me permet de signaler que ça peut etre un probléme qui n'a rien a voir avec la map, moi j'avait la barre au max, sur ma map et j'ai donc testé sur les maps officieles = pareil.
J'ai reboot le pc et sur ma map la barre était devenue toute petite comme sur les officieles.
AINet : Pas certain, mais semble être le temps necessaire pour traiter toutes les Intelligences Artificielles (NPCs, Bots, pathfinding..)
Occlusion : Pas certain, mais semble être le temps necessaire au traitement des func_occluder et probablement des areaportals.
Overlays : Pas certain, mais surement lié aux info_overlay. Si c'est trop haut, vous avez surement trop d'info_overlay ou d'info_decal.
CLagCompensationManager : Pas certain, mais semble lié à la gestion du réseau du côté client.
CViewRender::Render : Inconnu.
3D Skybox : Temps necessaire au traitement et au dessin des Skybox 3D. Si c'est trop haut, vous devrez probablement simplifier votre Skybox 3D


Assigner à une touche :

Si vous avez prévu de beaucoup utiliser +showbudget, inserez ces lignes dans votre fichier config.cfg.
Cela aura pour effet de réassigner la touche "J" pour afficher/cacher le budget.
Vous devrez redémarrer le jeu pour que les changements prennent effet.

Code:
alias showbudget_on "+showbudget; bind j showbudget_off"
alias showbudget_off "-showbudget; bind j showbudget_on"
bind "j" "showbudget_on"


Je ne suis pas l'auteur de cet article, je l'ai simplement traduit de l'anglais.
L'original peut être trouvé à cette adresse :
http://www.hl2world.com/wiki/index.php/Showbudget
 
Discord Hytale, Minecraft, Rust, ARK, FiveM

Découvrez mTxServ!

Discord d'entraide

Rejoignz-nous sur Discord