| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
max-4938 Floodeur prématuré

Inscrit le: 25 Juil 2008 Messages: 407 Sujets: 68
|
Posté le: 21/08/08 10:28 Sujet du message: Mon avis sur les "leaks" : quelques calculs |
|
|
Bonjour,
Comme certains d'entre vous on peut-être déjà pu le constater, je me préoccupe beaucoup de l'optimisation de ma map, étant donné que je veux à tout prix éviter le lagg en pleine partie. (voir topics sur les fuites de mémoire...)
J'ai donc fais quelques tests avec des déclencheurs très simples :
(je ne garantis pas l'exactitude de ces calculs)
Premier test : leak maximal :
La map passe de 90 Mo à 120 Mo en 30 secondes.
Deuxième test : on retire du jeu les unités inutiles :
Et là, grande surprise :
La map passe de 90 à 95 Mo en 30 secondes.
Dernier test : leak minimal grâce aux tuto du site :
La map passe de 90 Mo à 93 Mo en 30 secondes
Il s'agit donc de combiner la méthode de "remove unit" avec celle des "remove point" et "remove groupe unité".
Ma question est : pourquoi dans les tutoriaux on parle surtout des points et des groupes d'unités, alors que les unités utilisent encore plus de mémoire ? _________________
Dernière édition par max-4938 le 22/08/08 07:31; édité 1 fois |
|
| Revenir en haut |
|
 |
max-4938 Floodeur prématuré

Inscrit le: 25 Juil 2008 Messages: 407 Sujets: 68
|
Posté le: 21/08/08 10:32 Sujet du message: |
|
|
Pourquoi il faut utiliser la fonction "remove unit" ?
Les générique expiration ne suffisent pas ? _________________
|
|
| Revenir en haut |
|
 |
Keitaro_Ura Floodozaurus

Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
Posté le: 21/08/08 11:34 Sujet du message: |
|
|
Il reste encore le cadavre et sa décomposition.
Si on remove il disparait complètement de la carte. _________________
|
|
| Revenir en haut |
|
 |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
|
| Revenir en haut |
|
 |
max-4938 Floodeur prématuré

Inscrit le: 25 Juil 2008 Messages: 407 Sujets: 68
|
Posté le: 21/08/08 13:51 Sujet du message: |
|
|
Oui, mais l'unité met un certain temps à disparaître complètement une fois qu'elle est morte.
C'est ce point que je souligne : une fois que l'unité est morte, elle n'est plus utile (nous sommes d'accord là dessus ?) mais pourtant elle consomme de la mémoire.
Il faut donc la "remove", sous peine de voir l'utilisation de la mémoire monter en flèche. _________________
|
|
| Revenir en haut |
|
 |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
Posté le: 21/08/08 14:31 Sujet du message: |
|
|
Est-tu sur que si ont attend pas un moment (1-2 mn) , les unités finissent par lâché la mémoire ?
J'ai jamais fait le test mais sa me parait logique.
Fait un test de ton truc sur une durée de 10 mn , je pense que la ram commencera a être un peu plus stable (elle grimpera toujours je pense pour des raison d'enregistrement de se qui se passe mais montera moins). _________________
|
|
| Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 21/08/08 16:43 Sujet du message: |
|
|
La mémoire est libérée quand l'unité a fini sa décomposition et disparait.
C'est pas un leak, simplement tu crée plus d'unités que le temps de les faire disparaitre.
Genre on créé des unités toutes les 0.05 s koa ... _________________
|
|
| Revenir en haut |
|
 |
max-4938 Floodeur prématuré

Inscrit le: 25 Juil 2008 Messages: 407 Sujets: 68
|
Posté le: 21/08/08 16:57 Sujet du message: |
|
|
Bah, pour faire un sort, ça peut arriver.
On pourrait remplacer l'unité par un effet spécial, mais si on veut modifier sa taille, on fait comment ? _________________
|
|
| Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 21/08/08 17:01 Sujet du message: |
|
|
Je voulais dire ce n'est pas tout le long du jeu comme dans ton exemple.
Les unités ont le temps d'être supprimées naturellement. _________________
|
|
| Revenir en haut |
|
 |
Ayane Bot administrateur

Inscrit le: 17 Sep 2007 Messages: 2012 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 21/08/08 20:32 Sujet du message: |
|
|
Dans les tutoriels sur les fuites de mémoires je ne parle que des points et groupes d'unités parce que ce sont les seuls que l'on ne peut pas supprimer en GUI. Il s'agissait avant tout de donner une méthode afin de les supprimer, et non pas un court magistrale sur toutes les possibilités de fuites. _________________
|
|
| Revenir en haut |
|
 |
max-4938 Floodeur prématuré

Inscrit le: 25 Juil 2008 Messages: 407 Sujets: 68
|
Posté le: 21/08/08 21:51 Sujet du message: |
|
|
Et pourquoi ne ferait-on pas un "court magistrale sur toutes les possibilités de fuites" ?
Après tout, les points et les groupes d'unité ne sont qu'une petite partie de tout ce qui peut faire ramer une map ? _________________
|
|
| Revenir en haut |
|
 |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
Posté le: 21/08/08 23:29 Sujet du message: |
|
|
Car se sont les seuls que tes sensé faire , les rect(region) leaks si tu les supprime pas , mais habituellement en gui ont en crée pas (même si je crois qu'ont peut).
En gros c'est des leaks que tes pas sensé atteindre , et donc des cas suffisamment particulier pour que si ont doit en dire un , ont doit dire toutes les possibilité de leaks , se qui ferait que personne ne s'y retrouverai et que se serai encore pire.
Et puis les leaks peu nombreux ne sont pas réellement important. _________________
|
|
| Revenir en haut |
|
 |
Rhadamante Petit flooder

Inscrit le: 28 Aoû 2007 Messages: 1457 Sujets: 24 Spécialité en worldedit: Bêêh hé hé hé ! Médailles: 3 (En savoir plus...)
|
Posté le: 21/08/08 23:56 Sujet du message: |
|
|
| max-4938 a écrit: | | Et pourquoi ne ferait-on pas un "court magistrale sur toutes les possibilités de fuites" ? |
Parce que si t'as compris le principe, t'en as pas besoin.
| Ayane a écrit: | | [...] je ne parle que des points et groupes d'unités parce que ce sont les seuls que l'on ne peut pas supprimer en GUI. |
Les autres sources de fuites de mémoires, c'est pas difficile de les gérer et c'est possible en GUI. Et quand c'est pas évident c'est pour des trucs qui, à moins de chercher la petite bête, passeront totalement inaperçu. _________________
|
|
| Revenir en haut |
|
 |
max-4938 Floodeur prématuré

Inscrit le: 25 Juil 2008 Messages: 407 Sujets: 68
|
Posté le: 22/08/08 07:32 Sujet du message: |
|
|
Oh, tu sais, je n'aurais pas craché sur un tuto avec toutes les possibilités de fuite... ^^
J'ai vu sur un map quelqu'un qui effaçait ses variables unités en mettant par exemple :
Set variable (unité) = prédéfini - pas d'unité
ça peut fonctionner ? _________________
|
|
| Revenir en haut |
|
 |
Magus Membre a fort taux de post

Inscrit le: 13 Oct 2007 Messages: 994 Sujets: 25 Spécialité en worldedit: Codeur
|
Posté le: 22/08/08 09:52 Sujet du message: |
|
|
Si c'est une variable local ça sert juste a éviter le leak qui est produit lorsqu'on ne met pas une variable locale handle sur null a la fin de la fonction.
Si c'est une variable globale, ça ne sert a rien.
Et dans tout les cas, une affectation sur une variable n'aura jamais aucun effet sur l'unité qui est pointé par cette variable. _________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi. |
|
| Revenir en haut |
|
 |
|