Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 12/07/08 15:09 Sujet du message:
Ayane a écrit:
Pour certains cas on pourrait simplement faire le contour du cercle, où alors on peut passer outre le système de région et vérifier périodiquement les positions.
Sa fait un peu beaucoup je trouve en ressource , sa reviendrai peut-être moins bien que de continuer a crée un cercle , non ? _________________
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...)
Posté le: 12/07/08 15:53 Sujet du message:
Darkfeyt a écrit:
J'ai ajouté ta version (étant donné que c'est du VJass (et flemme de convertir en Jass) , je la remplace pas mais simplement l'ajoute) , mais j'ai fait un peu a la barbare , je dirai qu'il y 4% que j'ai fait une erreur en remplacent.
(Il n'y a pas d'erreur de syntaxe , j'ai au moins verifié )
Sinon tes sur que c'est plus rapides ?
En tout cas si sa peut augmenté le rayon avant de tomber dans la limitop.
Honnêtement je n'ai pas testé mais je dirais oui étant donné que désormais j'évite de vérifier un certain nombre de cellules. (les rectangles noirs)
Et aussi le rectangle principal (bleu clair) n'a pas besoin de vérification de distance (pas de calcul).
Il reste seulement les rectangles blancs à vérifier chaque cellule.
Donc à moins que la fonction R2I est très lente, ce qui m'étonnerait beaucoup quand même, oui ca devrait être plus rapide.
Secret:
Ayane a écrit:
Le problème c'est que warcraft va tester chaque cell de cette région pour voir si l'unité est à cette position, ce qui n'est pas très optimal puisqu'il pourrait dans l'absolu vérifier seulement la distance entre les deux points.
Pour certains cas on pourrait simplement faire le contour du cercle, où alors on peut passer outre le système de région et vérifier périodiquement les positions.
Je suis tout à fait d'accord que le temps d'une création d'une telle région demande beaucoup de ressources, par contre une fois que c'est fait, je demande à avoir un test de performance entre mettons IsUnitInRegion et une vérification de distance.
Même si c'est (beaucoup) moins performant l'event une unité entre/sort d'une région est tout de même très intéressant.
Sinon on peut facilement adapter ma fonction CirclePathing pour faire seulement le tour du cercle. _________________
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...)
Posté le: 12/07/08 16:24 Sujet du message:
Darkfeyt a écrit:
Citation:
Sinon on peut facilement adapter ma fonction CirclePathing pour faire seulement le tour du cercle.
Le problème c'est que c'est pas rare d'avoir des héros avec des compétence de tp à la warden dans des carte personnalisé.
Oui c'est sûr, comme l'a dit Ayane c'est pour certains cas , comme pourquoi pas un spell ultime, le héros crée une barrière infranchissable pour les unités volantes/marchantes,etc.
Imba mais à ne pas utiliser dans une grosse mêlée ennemie
EDIT : C'est ma faute mais la fonction devrait s'appelait plutôt Disk au lieu de Circle
Car c'est un disque et non un cercle. _________________
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...)
Posté le: 13/07/08 16:59 Sujet du message:
Mézofète étant donné qu'il s'agit d'une région, pour le rectangle principal (bleu clair) au lieu de rajouter cellule par cellule, je pense qu'il serait quand même Achement + performant d'ajouter un rect.
Peut être même qu'il serait plus intéressant de découper en plus de rectangles les autres zones, mais ca reste à voir ^^
PS : Regarde mon édit du post précédent pour le nom de la fonction.
Et y'a une erreur dans ta fonction tu transforme un réel en région (je me demande ce ca peux donner tient).
Jass:
if xMax< x then
return R
endif
Et tu déclares des variables globales que tu n'utilises pas dans le code.
Mais j'avoue que les noms de mes variables sont horriblement minimalistes, et qu'il est très chiant d'éditer un code non réalisé par soi même, de surcroit non commenté
C'est pourquoi je posterais surement moi même la version améliorée d'ici peu (tout est relatif).
J'en profiterais pour faire un test avec les fonctions natives de japi pour savoir si c'est réellement plus performant ou non.
HS : Pour répondre plus amplement à ta boutade :
Darkfeyt a écrit:
Sinon tes sur que c'est plus rapides ?
Secret:
Jsé pas je n'ai pas encore testé
Mais comme tu le sais bien, une fonction ne peut être comparé avec une autre, sur la différence du nombre de lignes de code entre elles.
Performance et nombre de lignes de code ne sont pas forcément liés (lé moche hein ?)
Ah et aussi, je sais que c'est chiant de répéter tout le temps la même chose, mais il faudrait expliquer la différence entre une region et un rect. _________________
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 13/07/08 23:17 Sujet du message:
Citation:
Et y'a une erreur dans ta fonction tu transforme un réel en région (je me demande ce ca peux donner tient).
J'ai pensé que une fois X supérieur a son max sa veut donc dire qu'il a fini de faire le cercle , non ?
Citation:
C'est pourquoi je posterais surement moi même la version améliorée d'ici peu (tout est relatif).
Je préfère souligné "moi même" , c'est mieux.
(Déjà que j'ai la fonction d'integer pool que je réfléchi quelle est la meilleur façon de la réalisé en multi-type , peut être par macro. (oupa?) , mais surtout de me motiver. )
Citation:
Ah et aussi, je sais que c'est chiant de répéter tout le temps la même chose, mais il faudrait expliquer la différence entre une region et un rect.
Sachant que 80% des utilisateur de cette fonction (y'en aura 5 déjà ? ) seront des jass-eur qui connaitront cette particularité , le reste je vois pas l'intérêt d'expliquer cela pour la simple raison que la différence est au fond minime.
Citation:
Mais comme tu le sais bien, une fonction ne peut être comparé avec une autre, sur la différence du nombre de lignes de code entre elles.
Performance et nombre de lignes de code ne sont pas forcément liés Wink (lé moche hein ?)
T'avait pas essayé de récupérer la méthode pour calculé le temps d'exécution d'une fonction , a toi de faire le test. (d'ailleurs je suis un peu intéressé par la méthode , si sa relève pas d'un exploit de la faire fonction avec la 1.22)
Inscrit le: 21 Aoû 2007 Messages: 915 Sujets: 47 Spécialité en worldedit: Faire des maps avec 500 déclos en GUI alors que 2 en JASS suffisent Médailles: 1 (En savoir plus...)
Posté le: 14/07/08 11:08 Sujet du message:
Comment on s'en sert ? Je suis assez noob en jass et je sais pas utiliser une fonction dans un déclo :'(
Vous pouriez donner une petite map d'exemple ? Genre, quand une unité entre dans la région ronde ^^
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...)
Posté le: 14/07/08 11:29 Sujet du message:
Citation:
J'ai pensé que une fois X supérieur a son max sa veut donc dire qu'il a fini de faire le cercle , non ?
C'est presque cela, mais regarde ces lignes :
Jass:
private constant real R= SquareRoot(2.0)/2.0
Jass:
function CirclePathing takes real xc,real yc,real radius returns region
Jass:
if xMax< x then
return R
endif
Capiche ?
Citation:
Je préfère souligné "moi même" , c'est mieux.
Pas vraiment compris.
Citation:
(Déjà que j'ai la fonction d'integer pool que je réfléchi quelle est la meilleur façon de la réalisé en multi-type , peut être par macro. (oupa?) , mais surtout de me motiver. )
Ouai bah quitte à utiliser du vJass supprime les vilains udg_.
Sinon par multi-type tu veux dire comme feu mon système Any Type Group System ?
C'est sûr que ca allègerait de beaucoup le nombre de lignes visibles dans l'éditeur.
Et donc ca ferait moins peur
Citation:
Sachant que 80% des utilisateur de cette fonction (y'en aura 5 déjà ? ) seront des jass-eur qui connaitront cette particularité , le reste je vois pas l'intérêt d'expliquer cela pour la simple raison que la différence est au fond minime.
Faudra que tu m'expliques d'où tu sors tes statistiques
Quand bien même 20% c'est pas négligeable
Citation:
T'avait pas essayé de récupérer la méthode pour calculé le temps d'exécution d'une fonction , a toi de faire le test. (d'ailleurs je suis un peu intéressé par la méthode , si sa relève pas d'un exploit de la faire fonction avec la 1.22)
Tout simplement en utilisant les fonctions natives de japi qui permettent de savoir le temps écoulé entre les marqueurs que tu définis.
Y'a un ex dans le dossier du JNGP.
L'exploit consiste à remplacer le worldedit.exe du nouveau patch par celui du patch précédent, et éventuellement de configurer les fichiers du JNPG si ce n'était pas déjà fait.
Toutes les heures sont au format GMT + 1 Heure Aller à la page Précédente1, 2
Page 2 sur 2
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