Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=ee6c7e8ab7bf6c000aa8338e07b11a1bMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

au rythme des marées
Aller à la page Précédente  1, 2, 3, 4
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Présentation de vos cartes
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 29/06/13 13:54    Sujet du message: Citer

Normalement cela n'influe pas sur la vitesse d'exécution mais sur le temps de chargement. Map Optimizer génère ainsi des noms pour les différents éléments afin de réduire la taille de ceux-ci et donc du temps de chargement ainsi que de réduire la taille de la carte.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 29/06/13 18:37    Sujet du message: Citer

Ayane a écrit:
Normalement cela n'influe pas sur la vitesse d'exécution mais sur le temps de chargement. Map Optimizer génère ainsi des noms pour les différents éléments afin de réduire la taille de ceux-ci et donc du temps de chargement ainsi que de réduire la taille de la carte.


Et pourtant ca influe la vitesse du code, du moins c'est visible avec un "stress test" en comparant la chute de fps avec 2 codes identiques sauf la longueur des noms.
Et oui bien entendu faut le faire plusieurs fois dans les mêmes conditions (ressources machines réservées essentiellement à ce test et pas à autre chose)
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 07/07/13 19:47    Sujet du message: Citer

Et voilà Ayane t'as encore fait fuir un nouveau Evil or Very Mad

Je ne me sens pas du tout coupable Rolling Eyes
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Helheim
Ptit Nouveau


Inscrit le: 03 Fév 2013
Messages: 37
Sujets: 7



MessagePosté le: 08/07/13 20:35    Sujet du message: Citer

Coucou !

Nan, vous inquiétez pas, je ne me suis pas enfui, j'étais juste parti en vac' Laughing

Bref. Je reviens parce que j'ai un déclencheur qui fait... Ben qui fait rien en fait, ce qui n'est pas son objectif.

J'utilise des variables locales. Déjà, première question, est ce que les variables locales sont utiles pour éviter les memory leaks ou est ce qu'il faut s'y prendre comme dans le tuto sur les ML en créant une variable globale et en l'effaçant à la fin du déclencheur ?

Ensuite, j'ai une question à propos des variables locales. J'ai fait le déclencheur suivant :

Jass:
function Trig_Mar_Actions takes nothing returns nothing

    // Déclaration des variables. Variables locales pour éviter les memory leaks

    local real temps_2 = 0
    local real transparence_de_l_eau_2 = 0

    // procédure

    set temps_2 = temps_2 + 1
    set transparence_de_l_eau_2 = ( -25.00 * CosBJ( ( 360.00 * temps_2 ) / udg_douze_heures_virtuelles ) ) + 25
    call SetWaterBaseColorBJ( 100, 100, 100, transparence_de_l_eau_2 )

    // Bon, ça marche pas...
    // Il faudrait penser à mettre un test pour que le temps soit remis à 0 quand il dépasse un seuil

endfunction

//===========================================================================
function InitTrig_Mar takes nothing returns nothing
    set gg_trg_Mar = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Mar, 1.00 )
    call TriggerAddAction( gg_trg_Mar, function Trig_Mar_Actions )
endfunction


C'est un déclencheur périodique qui s'éxécute toutes les secondes. Il ne fonctionne pas parce que la variable temps_2 est sensée augmenter de 1 à chaque éxécution du déclencheur, or cette variable est redéclarée à la valeur 0 à chaque fois. Comment est ce que je peux contourner le problème ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 08/07/13 20:58    Sujet du message: Citer

Ben utilise une variable globale :O
Alternativement, tu pourrais utiliser "GetTriggerExecCount" comme ça, mais jte le conseille pas vraiment, ça fait bricole :
Jass:
    set transparence_de_l_eau_2 = ( -25.00 * CosBJ( ( 360.00 * GetTriggerExecCount(GetTriggeringTrigger()) ) / udg_douze_heures_virtuelles ) ) + 25

_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ectelion
Membre reconnu


Inscrit le: 12 Nov 2011
Messages: 1062
Sujets: 107
Spécialité en worldedit: Inactif(Enfin presque)
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 09/07/13 09:24    Sujet du message: Citer

Tirlititi a écrit:
Ben utilise une variable globale :O

Ouais, mais prend celles du vJass, comme ça on est moins perdu (et puis lorsqu'on est sur un gros projet, chercher sa variable parmi 784115551054 différentes du même type, ça devient très vite énervant).
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 09/07/13 10:43    Sujet du message: Citer

Il suffit de les nommer correctement, c'est la base lorsqu'on développe un programme.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Helheim
Ptit Nouveau


Inscrit le: 03 Fév 2013
Messages: 37
Sujets: 7



MessagePosté le: 09/07/13 23:04    Sujet du message: Citer

D'accord, merci.

Mais vous n'avez pas vraiment répondu à une de mes questions. Est ce que les variables locales permettent d'éviter les memory leaks ou est ce qu'il vaut mieux faire comme dans le tuto, c'est à dire passer par une variable udg qu'on détruit ensuite ? Mon objectif est d'éviter le leak parce que ma carte a des déclencheurs très lourds que j'ai du mal à optimiser.

Ah, et une autre question aussi...

J'appartiens à la secte des Linuxiens et je fais tourner warcraft sur Linux avec un émulateur windows. Le problème, c'est que ça marche pas super super bien. J'utilise wine. Est ce que vous connaissez un émulateur plus performant que wine ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 09/07/13 23:21    Sujet du message: Citer

Wine Is Not an Emulator

Pense à créer un sujet pour chaque question (oui oui c'est chiant mais ca permet de construire une base de donnée accessible facilement avec l'outil recherche).
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 10/07/13 01:38    Sujet du message: Citer

Les leaks n'ont pas vraiment de rapport avec le variables locales / globales (sauf les handles non-nullifiés.. mais c'est une autre histoire). L'apport principal des variables locales est d'avoir des variables uniques, non accessible en dehors de la fonction et spécifique à celle-ci. En général, dès que tu n'as pas besoin de la variable en dehors de la fonction, tu utilises une locale. Sinon une globale. C'est juste un coup à prendre.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 10/07/13 09:25    Sujet du message: Citer

Wine n'est pas un émulateur tel que son nom l'indique, les programmes ELF et Win32 sont conçus pour tourner sous architecture x86, donc les instructions sont les mêmes, la principale différence consiste dans le format du fichier; au lancement du programme le système d'exploitation lit les entêtes afin de mapper correctement le programme en mémoire vive en résolvant les liens dynamiques. Un système d'exploitation peut donc tout à fait exécuter des programmes de différents formats de la même manière que Word lis aussi bien les .doc que les .rtf.
La principale difficulté se trouve dans les appels à l'API Win32, c'est à dire aux fonctions spécifiques à Windows tel que DirectX. Wine est donc un projet où ils ont recodé une grande partie des librairies Windows en s'appuyant notamment sur la documentation MSDN.
Au final les performances de Wine sont équivalentes à celles de Windows, quelques fois elles peuvent même être supérieure parce que par exemple l'allocation mémoire est un peu plus performante sous Linux que sous Windows. Pour les applications 3D outre le fait que Wine mette du temps à implémenter les nouvelles versions de DirectX, la librairie DirectX de Wine est un wrapper OpenGL, les performances peuvent varier d'une opération à une autre.
DirectX 8 ne pose normalement pas de problème à Wine, Warcraft3 étant codé pour pouvoir également tourner sous OpenGL ce serait sans doute plus performant, pour cela il faut ajouter à la ligne de commande le paramètre -opengl. Si ce n'est toujours pas cela alors c'est peut être l'accélération matérielle OpenGL qui n'est pas exploitée sur ton ordinateur, auquel cas tu as MESA qui calcul tout sur ton processeur, peut être que ton option dans le fichier de config de MESA sur l'accélération matérielle est tout simplement désactivé.
Il n'existe rien de mieux que Wine, tout ce que tu trouveras sont des fork de Wine où ils ont mis une interface graphique et qu'ils te font payer...
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 10/07/13 10:10    Sujet du message: Citer

si tu fais parti des sceptiques qui ne croient pas en ayane (vade retro Surprised), tu peux toujours essayer quelque chose comme virtualbox.
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 10/07/13 16:50    Sujet du message: Citer

Faudrait renommer ce topic "au rythme de mes questions"
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Présentation de vos cartes Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3, 4
Page 4 sur 4

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com