Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#851 Le 21/08/2010, à 23:32

edge_one

Re : Ultimate Smash Friends: un smash bros like en python

ok je vais tester ça sous vista! mad

#852 Le 22/08/2010, à 12:39

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

ok smile
Je viens de remettre à jour le setup, je crois que j'ai trouvé pourquoi USF freezait sans raison... (ou au moins pourquoi il ne disait pas pourquoi ^^)

Hors ligne

#853 Le 22/08/2010, à 14:13

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

ah? beaucoup de bugs avaient tendance à me déclancher ça, si t'as une explication, c'était un peu relou pour débugger hmm

Hors ligne

#854 Le 22/08/2010, à 14:18

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

tshirtman a écrit :

ah? beaucoup de bugs avaient tendance à me déclancher ça, si t'as une explication, c'était un peu relou pour débugger hmm

En fait, c'est de ma faute... pour avoir un écran de chargement, il me fallait un système d'exceptions pour pouvoir terminer son thread si il y avait une erreur... sauf que je me suis planté, et j'ai mis self.go() dedans...

J'en ai profité pour que si il y a une erreur pendant le chargement, et que debug et sur False, l'erreur est affiché dans la fenêtre. (sinon, ça fait l'erreur normal dans la console)

Si tu as encore des freeze, je vais virer mon système de thread, tant pis pour l'écran de chargement... (mais normalement, c'est bon maintenant).

Hors ligne

#855 Le 22/08/2010, à 14:40

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

ah ok ça arrive ^^

tant mieux si c'est corrigé. Après si tu trouve une solution sans Thread plus tard, c'est pas un mal, ça pose souvent des problèmes pour débugger.

Hors ligne

#856 Le 22/08/2010, à 15:36

edge_one

Re : Ultimate Smash Friends: un smash bros like en python

Installation OK sur vista, (rhooo y'as un cluf tongue ) si on choisit de mettre une icone sur le bureau il n'y a pas d'icone (icone par défaut de ouinouin)
je trouve la musique un peu forte dans les menus et pendant le jeu.

si on ne selectionne pas de personnage pour l'IA ou que l'on ne coche pas la case IA pour un autre joueur on est "bloqué" à l'écran resume il faudrait un tirage aléatoire pour au moins un joueur ou un bouton pour revenir au menu principal.

#857 Le 22/08/2010, à 15:47

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

tshirtman a écrit :

tant mieux si c'est corrigé. Après si tu trouve une solution sans Thread plus tard, c'est pas un mal, ça pose souvent des problèmes pour débugger.

Mais du coup, USF est obligé de freezer pendant le démarrage hmm L'idéal serait peut-être d'avoir une option qui active/désactive le thread...


Installation OK sur vista, (rhooo y'as un cluf tongue ) si on choisit de mettre une icone sur le bureau il n'y a pas d'icone (icone par défaut de ouinouin)
je trouve la musique un peu forte dans les menus et pendant le jeu.

cool smile
Pour l'icône, je vais regarder, ça ne doit pas être très compliqué...

si on ne selectionne pas de personnage pour l'IA ou que l'on ne coche pas la case IA pour un autre joueur on est "bloqué" à l'écran resume il faudrait un tirage aléatoire pour au moins un joueur ou un bouton pour revenir au menu principal.

Tu as téléchargé le setup hier ? parce que j'ai mis en ligne une nouvelle version cet après-midi qui ne doit plus "bloquer", ça doit carrément crasher... enfin, ce bug là non plus ne doit pas être très grave smile

Hors ligne

#858 Le 22/08/2010, à 15:50

edge_one

Re : Ultimate Smash Friends: un smash bros like en python

xapantu a écrit :

Pour l'icône, je vais regarder, ça ne doit pas être très compliqué...

si on ne selectionne pas de personnage pour l'IA ou que l'on ne coche pas la case IA pour un autre joueur on est "bloqué" à l'écran resume il faudrait un tirage aléatoire pour au moins un joueur ou un bouton pour revenir au menu principal.

Tu as téléchargé le setup hier ? parce que j'ai mis en ligne une nouvelle version cet après-midi qui ne doit plus "bloquer", ça doit carrément crasher... enfin, ce bug là non plus ne doit pas être très grave smile

non je l'ai téléchargé vers 16h aujourd'hui.

j'oublié j'ai une erreur à la fermeture, car il y  a un problème de droit en écriture sur le fichier de log.

#859 Le 22/08/2010, à 16:09

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

Le fichier de log, c'est pas grave, il faut ignorer l'erreur, c'est parce qu'il écrit dans un fichier les trucs qui sont écrits dans la console normalement, il faut juste l'ignorer jusqu'à que on ait supprimé tous les print smile

que l'on ne coche pas la case IA pour un autre joueur on est "bloqué" à l'écran resume

Ça par contre, c'est bizarre...
Donc si j'ai bien compris :
- Tu lances le jeu
- Tu cliques sur "Jeu local"
- Tu sélectionnes deux joueurs : BiX et BiX par exemple (et tu ne coches aucune case IA)
- Tu clique surs "Suivant"
- Tu cliques sur "jouer"
- Et là, ça reste bloqué et tu ne peux plus rien faire ?

Hors ligne

#860 Le 22/08/2010, à 16:13

edge_one

Re : Ultimate Smash Friends: un smash bros like en python

xapantu a écrit :

Le fichier de log, c'est pas grave, il faut ignorer l'erreur, c'est parce qu'il écrit dans un fichier les trucs qui sont écrits dans la console normalement, il faut juste l'ignorer jusqu'à que on ait supprimé tous les print smile

que l'on ne coche pas la case IA pour un autre joueur on est "bloqué" à l'écran resume

Ça par contre, c'est bizarre...
Donc si j'ai bien compris :
- Tu lances le jeu
- Tu cliques sur "Jeu local"
- Tu sélectionnes deux joueurs : BiX et BiX par exemple (et tu ne coches aucune case IA)
- Tu clique surs "Suivant"
- Tu cliques sur "jouer"
- Et là, ça reste bloqué et tu ne peux plus rien faire ?

non c'est si je coche la case IA mais que je sélectionne pas de personnage pour l'IA, je me retrouve à l'écran resume et il faut faire quit the game pour revenir à l'écran principal.

#861 Le 22/08/2010, à 16:22

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

Ah ! Bon bah ça, je l'ai aussi, c'est pas propre à Windows, donc ça sera vite corrigé !

Merci pour le retour smile

Hors ligne

#862 Le 22/08/2010, à 19:00

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

Quelqu'un d'opengameart a testé, à part les bugs reportés par edge_one, ça a l'air de marcher smile

Hors ligne

#863 Le 22/08/2010, à 21:58

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

\o/

edit: par contre je ne vois pas pourquoi on a besoin de charger toutes les images et les sons au démarrage du jeu… c'est en effet un peu long…

oh, et en plein écran sur mon vieux 3000+ avec 1G de ram, ça rame méchamment (les menus) et ça mets à genous le processeur, il va falloir trouver pourquoi… en jeu ça marche bien…

je vais peut être utiliser le truc de benchmark dans les menus pour voir ce qui coute aussi cher…

Dernière modification par tshirtman (Le 22/08/2010, à 22:00)

Hors ligne

#864 Le 23/08/2010, à 07:17

doudoulolita

Re : Ultimate Smash Friends: un smash bros like en python

firefox-portrait.png A noter que le perso Firefox n'apparaissait pas en jeu et le faisait bloquer quand je le mettais dans les data sur Ubuntu. sad
Ca vient du frame portrait.png qui doit à la place être appelé firefox-portrait.png.
Il faut mieux aussi le recadrer car il apparaît tout ratatiné. J'ai aussi viré le Bix.xml qui trainait dans son dossier et qui risquait de perturber le truc.
__________________________________
J'avance sur le nounours Miks, qui fait de + en + de bisous. En plus, j'ai récupéré le petit coeur qui est dans le jeu pour renforcer les attaques de bisous !

miks_kiss2.png     miks_kiss3.png     miks_kiss4.png      miks_smackup2.png   miks_kiss.gif       miks_roll2.png

Pour voir en jeu l'effet de ces attaques (différent selon le nombre de coeurs) : dossier compressé de miks

Dernière modification par doudoulolita (Le 23/08/2010, à 07:36)

Hors ligne

#865 Le 23/08/2010, à 07:44

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

@tshirtman : oui, je me disais la même chose hmm J'espère juste qu'on va pas devoir réécrire toute la GUI.

@doudoulolita : en fait, on abandone fiefox, tshirtman l'a supprimé, il n'est pas dans le style et les animations que j'ai fait ne sont pas terribles.

Hors ligne

#866 Le 23/08/2010, à 10:50

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

@xapantu: sans trop de surprise c'est les méthode draw de tes différents widgets qui bouffent le plus apparement, mais j'ai pas pu tester sur mon gros pc (pas d'accès net dessus pour installer python-profiler)

avec python -m cProfile ultimate-smash-friends

et en retriant un peu les résultats (retiré les fonctions appelées une seule fois, mis la colonne cumtime en première et triée par rapport a elle) j'obtiens ça:

regarder de bas en haut, la deuxième colonne est le nombre d'appele (toute optimisation de la fonction désigné est multiplié par ce nombre) et la troisième le temps par appel, c'est normal que blit et flip coutent cher, dans l'idéal le jeu devrait passer 80% du temps dedans.

  0.000         100    0.000    0.000      0.000 posixpath.py:42(normcase)
  0.000          10    0.000    0.000      0.000 {built-in method findall}
  0.000          10    0.000    0.000      0.000 core.py:2108(__init__)
  0.000          10    0.000    0.000      0.000 core.py:2114(getdoc)
  0.000          10    0.000    0.000      0.000 ElementTree.py:1025(__init__)
  0.000          10    0.000    0.000      0.000 ElementTree.py:1041(close)
  0.000          10    0.000    0.000      0.000 {pyexpat.ParserCreate}
  0.000          10    0.000    0.000      0.000 sre_compile.py:57(fixup)
  0.000          10    0.000    0.000      0.000 {thread.allocate_lock}
  0.000          10    0.000    0.000      0.000 UserDict.py:57(get)
  0.000         104    0.000    0.000      0.000 {method 'translate' of 'str' objects}
  0.000         107    0.000    0.000      0.000 pkg_resources.py:2585(cls)
  0.000          11    0.000    0.000      0.000 numerictypes.py:162(english_capitalize)
  0.000          11    0.000    0.000      0.000 opcode.py:31(name_op)
  0.000          11    0.000    0.000      0.000 threading.py:59(__init__)
  0.000          11    0.000    0.000      0.000 UserDict.py:69(__contains__)
  0.000         113    0.000    0.000      0.000 animations.py:94(__del__)
  0.000         113    0.000    0.000      0.000 opcode.py:27(def_op)
  0.000         114    0.000    0.000      0.000 {max}
  0.000          12    0.000    0.000      0.000 box.py:133(__init__)
  0.000          12    0.000    0.000      0.000 ctypeslib.py:255(prep_simple)
  0.000          14    0.000    0.000      0.000 __init__.py:560(filter)
  0.000          15    0.000    0.000      0.000 ElementTree.py:375(get)
  0.000          15    0.000    0.000      0.000 nosetester.py:9(get_package_name)
  0.000          16    0.000    0.000      0.000 {built-in method release}
  0.000          18    0.000    0.000      0.000 numerictypes.py:197(_evalname)
  0.000          18    0.000    0.000      0.000 {numpy.core.multiarray.empty}
  0.000          18    0.000    0.000      0.000 {_struct.calcsize}
  0.000          19    0.000    0.000      0.000 threading.py:64(_note)
  0.000          19    0.000    0.000      0.000 tokenize.py:44(group)
  0.000          20    0.000    0.000      0.000 spinner.py:115(get_index)
  0.000           2    0.000    0.000      0.000 atexit.py:37(register)
  0.000           2    0.000    0.000      0.000 checkbox.py:96(set_value)
  0.000           2    0.000    0.000      0.000 copy_reg.py:14(pickle)
  0.000           2    0.000    0.000      0.000 copy_reg.py:27(constructor)
  0.000           2    0.000    0.000      0.000 core.py:579(__init__)
  0.000           2    0.000    0.000      0.000 core.py:589(__init__)
  0.000           2    0.000    0.000      0.000 coverflow.py:192(launch_anim)
  0.000           2    0.000    0.000      0.000 {_ctypes.POINTER}
  0.000           2    0.000    0.000      0.000 index_tricks.py:149(__init__)
  0.000           2    0.000    0.000      0.000 index_tricks.py:483(__init__)
  0.000           2    0.000    0.000      0.000 __init__.py:368(__init__)
  0.000           2    0.000    0.000      0.000 __init__.py:417(__init__)
  0.000           2    0.000    0.000      0.000 __init__.py:540(__init__)
  0.000           2    0.000    0.000      0.000 {math.log}
  0.000           2    0.000    0.000      0.000 {method 'play' of 'Sound' objects}
  0.000           2    0.000    0.000      0.000 {method 'random' of '_random.Random' objects}
  0.000           2    0.000    0.000      0.000 {method 'setter' of 'property' objects}
  0.000           2    0.000    0.000      0.000 {method 'set_volume' of 'Sound' objects}
  0.000           2    0.000    0.000      0.000 {method 'sort' of 'list' objects}
  0.000           2    0.000    0.000      0.000 {numpy.core.multiarray.array}
  0.000           2    0.000    0.000      0.000 {numpy.core.multiarray.set_string_function}
  0.000           2    0.000    0.000      0.000 {numpy.core.umath.geterrobj}
  0.000           2    0.000    0.000      0.000 {numpy.core.umath.seterrobj}
  0.000           2    0.000    0.000      0.000 opcode.py:39(jabs_op)
  0.000           2    0.000    0.000      0.000 pkg_resources.py:1137(__init__)
  0.000           2    0.000    0.000      0.000 pkg_resources.py:1676(find_nothing)
  0.000           2    0.000    0.000      0.000 {posix.uname}
  0.000           2    0.000    0.000      0.000 {pygame.display.list_modes}
  0.000           2    0.000    0.000      0.000 {pygame.event.Event}
  0.000           2    0.000    0.000      0.000 {pygame.event.post}
  0.000           2    0.000    0.000      0.000 random.py:259(choice)
  0.000           2    0.000    0.000      0.000 screen_screen.py:70(callback)
  0.000           2    0.000    0.000      0.000 sre_parse.py:219(isdigit)
  0.000           2    0.000    0.000      0.000 string.py:220(lower)
  0.000           2    0.000    0.000      0.000 threading.py:221(_is_owned)
  0.000           2    0.000    0.000      0.000 threading.py:359(Event)
  0.000           2    0.000    0.000      0.000 threading.py:366(__init__)
  0.000           2    0.000    0.000      0.000 tokenize.py:46(maybe)
  0.000          21    0.000    0.000      0.000 {method 'get_size' of 'pygame.Surface' objects}
  0.000          22    0.000    0.000      0.000 ConfigParser.py:218(__init__)
  0.000          22    0.000    0.000      0.000 ConfigParser.py:229(sections)
  0.000          24    0.000    0.000      0.000 {issubclass}
  0.000          24    0.000    0.000      0.000 {method 'add' of 'set' objects}
  0.000          27    0.000    0.000      0.000 {method 'splitlines' of 'str' objects}
  0.000          28    0.000    0.000      0.000 {pygame.key.name}
  0.000          28    0.000    0.000      0.000 {sys._getframe}
  0.000          28    0.000    0.000      0.000 widget.py:90(set_id)
  0.000          29    0.000    0.000      0.000 inspect.py:209(iscode)
  0.000          29    0.000    0.000      0.000 <string>:8(__new__)
  0.000          30    0.000    0.000      0.000 collections.py:60(<genexpr>)
  0.000          30    0.000    0.000      0.000 collections.py:61(<genexpr>)
  0.000          30    0.000    0.000      0.000 {method '__contains__' of 'frozenset' objects}
  0.000          30    0.000    0.000      0.000 {method 'isdigit' of 'str' objects}
  0.000           3    0.000    0.000      0.000 core.py:540(__init__)
  0.000           3    0.000    0.000      0.000 {dir}
  0.000           3    0.000    0.000      0.000 index_tricks.py:231(__init__)
  0.000           3    0.000    0.000      0.000 __init__.py:104(CFunctionType)
  0.000           3    0.000    0.000      0.000 __init__.py:480(PYFUNCTYPE)
  0.000           3    0.000    0.000      0.000 __init__.py:481(CFunctionType)
  0.000           3    0.000    0.000      0.000 __init__.py:78(CFUNCTYPE)
  0.000           3    0.000    0.000      0.000 main_screen.py:34(callback)
  0.000           3    0.000    0.000      0.000 {method 'find_module' of 'imp.NullImporter' objects}
  0.000           3    0.000    0.000      0.000 nosetester.py:62(_docmethod)
  0.000           3    0.000    0.000      0.000 pkg_resources.py:1637(register_finder)
  0.000           3    0.000    0.000      0.000 pkg_resources.py:164(register_loader_type)
  0.000           3    0.000    0.000      0.000 pkg_resources.py:1720(register_namespace_handler)
  0.000           3    0.000    0.000      0.000 pkg_resources.py:1832(_set_parent_ns)
  0.000           3    0.000    0.000      0.000 pkgutil.py:249(_reopen)
  0.000           3    0.000    0.000      0.000 slider.py:86(set_value)
  0.000           3    0.000    0.000      0.000 string.py:511(replace)
  0.000           3    0.000    0.000      0.000 threading.py:101(__init__)
  0.000           3    0.000    0.000      0.000 threading.py:96(RLock)
  0.000           3    0.000    0.000      0.000 widget.py:78(set_align)
  0.000          33    0.000    0.000      0.000 {thread.get_ident}
  0.000          34    0.000    0.000      0.000 numerictypes.py:135(english_upper)
  0.000          38    0.000    0.000      0.000 inspect.py:142(isfunction)
  0.000          38    0.000    0.000      0.000 inspect.py:67(ismethod)
  0.000          38    0.000    0.000      0.000 pkg_resources.py:1532(__init__)
  0.000           4    0.000    0.000      0.000 core.py:88(doc_note)
  0.000           4    0.000    0.000      0.000 __init__.py:49(normalize_encoding)
  0.000           4    0.000    0.000      0.000 threading.py:176(Condition)
  0.000           4    0.000    0.000      0.000 threading.py:181(__init__)
  0.000          42    0.000    0.000      0.000 sre_parse.py:73(__init__)
  0.000          43    0.000    0.000      0.000 inspect.py:836(<lambda>)
  0.000          45    0.000    0.000      0.000 checkbox.py:43(init)
  0.000          46    0.000    0.000      0.000 {_ctypes.sizeof}
  0.000          47    0.000    0.000      0.000 {method 'extend' of 'list' objects}
  0.000          49    0.000    0.000      0.000 {repr}
  0.000           5    0.000    0.000      0.000 configure.py:39(callback)
  0.000           5    0.000    0.000      0.000 core.py:2121(__get__)
  0.000           5    0.000    0.000      0.000 {method 'insert' of 'list' objects}
  0.000           5    0.000    0.000      0.000 special.py:67(handle_mouse)
  0.000          59    0.000    0.000      0.000 {built-in method __new__ of type object at 0x82357c0}
  0.000          59    0.000    0.000      0.000 sre_parse.py:216(isident)
  0.000           6    0.000    0.000      0.000 checkbox.py:64(handle_mouse)
  0.000           6    0.000    0.000      0.000 core.py:567(__init__)
  0.000           6    0.000    0.000      0.000 core.py:817(__init__)
  0.000           6    0.000    0.000      0.000 {locals}
  0.000           6    0.000    0.000      0.000 {method 'pop' of 'dict' objects}
  0.000          64    0.000    0.000      0.000 {globals}
  0.000          70    0.000    0.000      0.000 pkg_resources.py:665(_added_new)
  0.000           7    0.000    0.000      0.000 ElementPath.py:103(find)
  0.000           7    0.000    0.000      0.000 __future__.py:75(__init__)
  0.000           7    0.000    0.000      0.000 gui.py:219(screen_back)
  0.000           7    0.000    0.000      0.000 __init__.py:148(getLevelName)
  0.000           7    0.000    0.000      0.000 __init__.py:289(getMessage)
  0.000           7    0.000    0.000      0.000 __init__.py:617(acquire)
  0.000           7    0.000    0.000      0.000 __init__.py:624(release)
  0.000           7    0.000    0.000      0.000 __init__.py:749(flush)
  0.000           7    0.000    0.000      0.000 __init__.py:76(<lambda>)
  0.000           7    0.000    0.000      0.000 {method 'flush' of 'file' objects}
  0.000           7    0.000    0.000      0.000 {method 'reverse' of 'list' objects}
  0.000           7    0.000    0.000      0.000 opcode.py:35(jrel_op)
  0.000           7    0.000    0.000      0.000 posixpath.py:109(basename)
  0.000           7    0.000    0.000      0.000 string.py:351(find)
  0.000           7    0.000    0.000      0.000 threading.py:662(name)
  0.000           7    0.000    0.000      0.000 UserDict.py:17(__getitem__)
  0.000          75    0.000    0.000      0.000 {imp.acquire_lock}
  0.000          75    0.000    0.000      0.000 {imp.release_lock}
  0.000          75    0.000    0.000      0.000 inspect.py:825(strseq)
  0.000          76    0.000    0.000      0.000 {_sre.getlower}
  0.000           8    0.000    0.000      0.000 ElementTree.py:554(getroot)
  0.000           8    0.000    0.000      0.000 image.py:49(set_size)
  0.000           8    0.000    0.000      0.000 __init__.py:1222(getEffectiveLevel)
  0.000           8    0.000    0.000      0.000 __init__.py:1236(isEnabledFor)
  0.000           8    0.000    0.000      0.000 {math.cos}
  0.000           8    0.000    0.000      0.000 {math.sin}
  0.000           8    0.000    0.000      0.000 {method 'get_alpha' of 'pygame.Surface' objects}
  0.000           8    0.000    0.000      0.000 optparse.py:579(_check_opt_strings)
  0.000           8    0.000    0.000      0.000 optparse.py:588(_set_opt_strings)
  0.000           8    0.000    0.000      0.000 optparse.py:629(_check_action)
  0.000           8    0.000    0.000      0.000 optparse.py:635(_check_type)
  0.000           8    0.000    0.000      0.000 optparse.py:665(_check_choice)
  0.000           8    0.000    0.000      0.000 optparse.py:678(_check_dest)
  0.000           8    0.000    0.000      0.000 optparse.py:693(_check_const)
  0.000           8    0.000    0.000      0.000 optparse.py:699(_check_nargs)
  0.000           8    0.000    0.000      0.000 optparse.py:708(_check_callback)
  0.000           8    0.000    0.000      0.000 optparse.py:832(isbasestring)
  0.000           8    0.000    0.000      0.000 optparse.py:980(_check_conflict)
  0.000           8    0.000    0.000      0.000 threading.py:116(acquire)
  0.000           8    0.000    0.000      0.000 threading.py:136(release)
  0.000           8    0.000    0.000      0.000 threading.py:808(currentThread)
  0.000           8    0.000    0.000      0.000 utils.py:79(_set_function_name)
  0.000           8    0.000    0.000      0.000 utils.py:83(deprecate)
  0.000          81    0.000    0.000      0.000 coverflow.py:292(sizex)
  0.000          84    0.000    0.000      0.000 {method 'upper' of 'str' objects}
  0.000          89    0.000    0.000      0.000 {method 'copy' of 'dict' objects}
  0.000           9    0.000    0.000      0.000 {filter}
  0.000           9    0.000    0.000      0.000 {posix.getpid}
  0.001          10    0.000    0.000      0.000 ElementPath.py:71(__init__)
  0.001          10    0.000    0.000      0.000 ElementTree.py:1253(close)
  0.001         102    0.001    0.000      0.000 pkg_resources.py:1480(__init__)
  0.001         103    0.001    0.000      0.000 {method 'update' of 'dict' objects}
  0.001         103    0.001    0.000      0.000 sre_parse.py:78(opengroup)
  0.001         103    0.001    0.000      0.000 sre_parse.py:89(closegroup)
  0.001         104    0.001    0.000      0.000 controls.py:49(__init__)
  0.001         113    0.001    0.000      0.000 sprite.py:112(__init__)
  0.001          12    0.001    0.000      0.000 sre_parse.py:222(isname)
  0.001         138    0.001    0.000      0.000 coverflow.py:178(handle_mouse)
  0.001          14    0.000    0.000      0.000 box.py:144(__init__)
  0.001          14    0.000    0.000      0.000 __init__.py:147(_check_size)
  0.001          15    0.000    0.000      0.000 nosetester.py:108(__init__)
  0.001         154    0.001    0.000      0.000 pkg_resources.py:1483(has_metadata)
  0.001         158    0.001    0.000      0.000 {hasattr}
  0.001         168    0.001    0.000      0.000 slider.py:83(get_value)
  0.001         175    0.001    0.000      0.000 pkgutil.py:173(__init__)
  0.001          18    0.000    0.000      0.000 core.py:677(__init__)
  0.001          19    0.000    0.000      0.000 button.py:41(set_size)
  0.001         190    0.001    0.000      0.000 {method '__enter__' of 'file' objects}
  0.001         191    0.001    0.000      0.000 {method 'remove' of 'list' objects}
  0.001           2    0.000    0.000      0.000 pkg_resources.py:1236(__init__)
  0.001           2    0.000    0.000      0.000 pkg_resources.py:1240(_setup_prefix)
  0.001           2    0.000    0.000      0.000 pkg_resources.py:173(get_provider)
  0.001           2    0.000    0.000      0.000 threading.py:426(__init__)
  0.001         214    0.001    0.000      0.000 {method 'isalnum' of 'str' objects}
  0.001          22    0.001    0.000      0.000 {posix.mkdir}
  0.001         225    0.001    0.000      0.000 sre_parse.py:140(__setitem__)
  0.001          23    0.001    0.000      0.000 numerictypes.py:210(bitname)
  0.001         232    0.001    0.000      0.000 {numpy.lib._compiled_base.add_docstring}
  0.001          25    0.001    0.000      0.000 core.py:611(__init__)
  0.001         256    0.001    0.000      0.000 {chr}
  0.001         257    0.001    0.000      0.000 gettext.py:191(gettext)
  0.001          26    0.001    0.000      0.000 {posix.access}
  0.001          29    0.001    0.000      0.000 {posix.getcwd}
  0.001          30    0.000    0.000      0.000 numerictypes.py:402(_add_array_type)
  0.001           3    0.000    0.000      0.000 pkgutil.py:235(load_module)
  0.001           3    0.001    0.000      0.000 {imp.load_module}
  0.001          34    0.001    0.000      0.000 posixpath.py:79(split)
  0.001          42    0.000    0.000      0.000 sre_parse.py:184(__init__)
  0.001          42    0.001    0.000      0.000 {_sre.compile}
  0.001          44    0.000    0.000      0.000 pyexpat.c:877(DefaultHandlerExpand)
  0.001          44    0.001    0.000      0.000 ElementTree.py:1190(_default)
  0.001          44    0.001    0.000      0.000 {method 'fill' of 'pygame.Surface' objects}
  0.001         487    0.001    0.000      0.000 sre_compile.py:24(_identityfunction)
  0.001           6    0.000    0.000      0.000 extras.py:181(__init__)
  0.001           6    0.000    0.000      0.000 extras.py:185(getdoc)
  0.001           6    0.000    0.000      0.000 gettext.py:130(_expand_lang)
  0.001           6    0.000    0.000      0.000 locale.py:316(normalize)
  0.001          61    0.001    0.000      0.000 pkg_resources.py:1840(yield_lines)
  0.001          63    0.001    0.000      0.000 widget.py:72(handle_mouse)
  0.001          65    0.001    0.000      0.000 {method 'set_colorkey' of 'pygame.Surface' objects}
  0.001          66    0.000    0.000      0.000 numerictypes.py:108(english_lower)
  0.001          66    0.001    0.000      0.000 sre_parse.py:231(_class_escape)
  0.001           7    0.000    0.000      0.000 ElementPath.py:185(find)
  0.001           7    0.000    0.000      0.000 ElementTree.py:329(find)
  0.001           7    0.000    0.000      0.000 __init__.py:1113(findCaller)
  0.001           7    0.000    0.000      0.000 __init__.py:423(format)
  0.001           7    0.000    0.000      0.000 __init__.py:637(format)
  0.001           7    0.001    0.000      0.000 loaders.py:47(memoize)
  0.001          71    0.001    0.000      0.000 pkg_resources.py:465(__iter__)
  0.001           8    0.000    0.000      0.000 core.py:5624(__init__)
  0.001           8    0.000    0.000      0.000 core.py:5628(getdoc)
  0.001           8    0.000    0.000      0.000 optparse.py:609(_set_attrs)
  0.001          81    0.001    0.000      0.000 pkgutil.py:229(__init__)
  0.001          84    0.001    0.000      0.000 sre_compile.py:480(isstring)
  0.002          14    0.002    0.000      0.000 {pygame.event.clear}
  0.002         166    0.001    0.000      0.000 stat.py:40(S_ISDIR)
  0.002         190    0.002    0.000      0.000 {setattr}
  0.002         244    0.002    0.000      0.000 collections.py:43(<genexpr>)
  0.002          29    0.001    0.000      0.000 inspect.py:731(getargs)
  0.002           3    0.002    0.001      0.001 font.py:62(__init__)
  0.002           3    0.002    0.001      0.001 numeric.py:142(extend_all)
  0.002         444    0.002    0.000      0.000 coverflow.py:300(sizey)
  0.002         444    0.002    0.000      0.000 {method 'rfind' of 'str' objects}
  0.002         464    0.002    0.000      0.000 widget.py:112(optimize_size)
  0.002           7    0.000    0.000      0.000 __init__.py:1134(makeRecord)
  0.002           7    0.000    0.000      0.000 __init__.py:660(handle)
  0.002           7    0.000    0.000      0.000 __init__.py:756(emit)
  0.002           7    0.001    0.000      0.000 __init__.py:226(__init__)
  0.002           8    0.000    0.000      0.000 optparse.py:1007(add_option)
  0.002           8    0.000    0.000      0.000 optparse.py:560(__init__)
  0.002         870    0.002    0.000      0.000 {method 'get_height' of 'pygame.Surface' objects}
  0.003         133    0.002    0.000      0.000 animations.py:67(addAgressivPoint)
  0.003         136    0.002    0.000      0.000 sre_parse.py:263(_escape)
  0.003         180    0.003    0.000      0.000 pkgutil.py:358(get_importer)
  0.003          22    0.001    0.000      0.000 os.py:136(makedirs)
  0.003          29    0.002    0.000      0.000 inspect.py:832(formatargspec)
  0.003         296    0.003    0.000      0.000 {method 'set_alpha' of 'pygame.Surface' objects}
  0.003          30    0.001    0.000      0.000 {all}
  0.003           3    0.003    0.001      0.001 {method 'readlines' of 'file' objects}
  0.003         506    0.003    0.000      0.000 sre_parse.py:96(__init__)
  0.003         609    0.003    0.000      0.000 {ord}
  0.003           7    0.000    0.000      0.000 __init__.py:1167(handle)
  0.003           7    0.000    0.000      0.000 __init__.py:1196(callHandlers)
  0.003          74    0.003    0.000      0.000 {method 'close' of 'file' objects}
  0.003         808    0.003    0.000      0.000 {method 'get_fps' of 'Clock' objects}
  0.003          88    0.003    0.000      0.000 config.py:36(__init__)
  0.004          10    0.002    0.000      0.000 ElementTree.py:1113(__init__)
  0.004         109    0.002    0.000      0.000 posixpath.py:117(dirname)
  0.004        1243    0.004    0.000      0.000 widget.py:84(update_size)
  0.004         147    0.003    0.000      0.000 genericpath.py:85(_splitext)
  0.004         168    0.004    0.000      0.000 ConfigParser.py:369(set)
  0.004         188    0.004    0.000      0.000 {_codecs.utf_8_decode}
  0.004           2    0.000    0.000      0.002 coverflow.py:158(next)
  0.004           2    0.000    0.000      0.002 gettext.py:542(dgettext)
  0.004           2    0.000    0.000      0.002 gettext.py:580(gettext)
  0.004          38    0.001    0.000      0.000 inspect.py:791(getargspec)
  0.004         536    0.004    0.000      0.000 {method 'get_rect' of 'pygame.Surface' objects}
  0.004           7    0.000    0.000      0.001 coverflow.py:168(previous)
  0.004         784    0.004    0.000      0.000 special.py:61(draw)
  0.004          83    0.001    0.000      0.000 pkg_resources.py:1218(_fn)
  0.005        1040    0.005    0.000      0.000 ElementTree.py:190(__init__)
  0.005        1075    0.005    0.000      0.000 {method 'pop' of 'list' objects}
  0.005        1093    0.005    0.000      0.000 stat.py:24(S_IFMT)
  0.005        1122    0.005    0.000      0.000 {min}
  0.005        1615    0.005    0.000      0.000 {method 'get_width' of 'pygame.Surface' objects}
  0.005         188    0.002    0.000      0.000 utf_8.py:15(decode)
  0.005          26    0.001    0.000      0.000 pkg_resources.py:1274(_get)
  0.005           3    0.000    0.000      0.002 gettext.py:476(translation)
  0.005           3    0.001    0.000      0.002 gettext.py:421(find)
  0.005          56    0.002    0.000      0.000 pkg_resources.py:1262(_has)
  0.005         570    0.005    0.000      0.000 {method 'setdefault' of 'dict' objects}
  0.005           8    0.005    0.001      0.001 entity_skin.py:208(__del__)
  0.005         806    0.005    0.000      0.000 {method 'get_length' of 'Sound' objects}
  0.005         925    0.005    0.000      0.000 {getattr}
  0.005         928    0.005    0.000      0.000 checkbox.py:80(draw)
  0.006         102    0.002    0.000      0.000 genericpath.py:15(exists)
  0.006          26    0.000    0.000      0.000 pkg_resources.py:1157(get_metadata)
  0.006         490    0.004    0.000      0.000 posixpath.py:50(isabs)
  0.006           6    0.000    0.000      0.001 checkbox.py:38(__init__)
  0.006           6    0.001    0.000      0.001 checkbox.py:46(set_size)
  0.006           7    0.000    0.000      0.001 __init__.py:1050(warning)
  0.006           7    0.000    0.000      0.001 __init__.py:1147(_log)
  0.007        1579    0.007    0.000      0.000 {method 'find' of 'str' objects}
  0.007          26    0.000    0.000      0.000 pkg_resources.py:1167(get_metadata_lines)
  0.007          28    0.001    0.000      0.000 pkg_resources.py:1647(find_distributions)
  0.007         336    0.007    0.000      0.000 slider.py:54(handle_mouse)
  0.007         385    0.007    0.000      0.000 button.py:79(handle_mouse)
  0.007           7    0.000    0.000      0.001 __init__.py:1457(warning)
  0.007         728    0.005    0.000      0.000 sre_parse.py:144(append)
  0.007         807    0.007    0.000      0.000 {method 'tick' of 'Clock' objects}
  0.008        1991    0.008    0.000      0.000 {method 'get' of 'dict' objects}
  0.008           2    0.000    0.000      0.004 paragraph.py:182(animation)
  0.008           2    0.008    0.004      0.004 paragraph.py:54(update_defil)
  0.008         225    0.004    0.000      0.000 sre_compile.py:360(_simple)
  0.008          25    0.008    0.000      0.000 sre_compile.py:264(_mk_bitmap)
  0.008        2948    0.008    0.000      0.000 {method 'isspace' of 'str' objects}
  0.008          55    0.001    0.000      0.000 pkg_resources.py:1153(has_metadata)
  0.008          69    0.001    0.000      0.000 {built-in method fromkeys}
  0.008         805    0.008    0.000      0.000 {method 'items' of 'dict' objects}
  0.009        1047    0.007    0.000      0.000 sre_parse.py:132(__len__)
  0.009         137    0.002    0.000      0.000 pkg_resources.py:1097(safe_version)
  0.009         147    0.005    0.000      0.000 posixpath.py:94(splitext)
  0.009         149    0.009    0.000      0.000 {imp.find_module}
  0.009         188    0.004    0.000      0.000 {method 'decode' of 'str' objects}
  0.009        2911    0.009    0.000      0.000 {method 'rstrip' of 'str' objects}
  0.009         377    0.006    0.000      0.000 pkg_resources.py:2206(__getattr__)
  0.009         445    0.009    0.000      0.000 {built-in method sub}
  0.009          81    0.002    0.000      0.000 pkg_resources.py:1799(file_ns_handler)
  0.010          11    0.000    0.000      0.001 label.py:68(set_text)
  0.010         490    0.006    0.000      0.000 pkg_resources.py:2106(key)
  0.010           8    0.000    0.000      0.001 image.py:42(__init__)
  0.010         807    0.010    0.000      0.000 {pygame.mouse.get_pos}
  0.011        1243    0.011    0.000      0.000 widget.py:81(update_pos)
  0.012          10    0.000    0.000      0.001 image.py:62(setImage)
  0.012         140    0.001    0.000      0.000 pkg_resources.py:1089(safe_name)
  0.012          28    0.008    0.000      0.000 special.py:31(__init__)
  0.012        3353    0.011    0.000      0.000 {method 'join' of 'str' objects}
  0.012         820    0.012    0.000      0.000 image.py:59(draw)
  0.012         927    0.008    0.000      0.000 stat.py:55(S_ISLNK)
  0.013        1369    0.007    0.000      0.000 sre_parse.py:201(match)
  0.013        1447    0.013    0.000      0.000 {range}
  0.013        1613    0.013    0.000      0.000 {pygame.time.get_ticks}
  0.013         166    0.003    0.000      0.000 genericpath.py:38(isdir)
  0.013           2    0.003    0.001      0.006 __init__.py:9(<module>)
  0.014          12    0.001    0.000      0.001 characters.py:127(callback)
  0.014         294    0.014    0.000      0.000 {posix.stat}
  0.014           9    0.000    0.000      0.002 ElementTree.py:643(findall)
  0.015         113    0.002    0.000      0.000 animations.py:101(update)
  0.015         189    0.007    0.000      0.000 spinner.py:79(handle_mouse)
  0.015        3088    0.015    0.000      0.000 {built-in method group}
  0.017         111    0.015    0.000      0.000 pkg_resources.py:2582(_get_mro)
  0.017        1648    0.012    0.000      0.000 ElementTree.py:1064(data)
  0.017          20    0.017    0.001      0.001 {built-in method acquire}
  0.017          22    0.002    0.000      0.001 config.py:111(__get_locations)
  0.017         277    0.004    0.000      0.000 re.py:144(sub)
  0.017        4544    0.017    0.000      0.000 {method 'has_key' of 'dict' objects}
  0.017           6    0.012    0.002      0.003 collections.py:13(namedtuple)
  0.018        1659    0.012    0.000      0.000 string.py:308(join)
  0.018           3    0.000    0.000      0.006 slider.py:31(__init__)
  0.018         941    0.013    0.000      0.000 ElementPath.py:172(_compile)
  0.019         111    0.002    0.000      0.000 pkg_resources.py:2589(_find_adapter)
  0.019          18    0.001    0.000      0.001 coverflow.py:199(animation)
  0.019          36    0.019    0.001      0.001 {posix.listdir}
  0.020         140    0.008    0.000      0.000 pkg_resources.py:478(add)
  0.020          15    0.001    0.000      0.001 screen.py:57(set_name)
  0.020          28    0.006    0.000      0.001 gui.py:326(get_text_transparent)
  0.020         935    0.020    0.000      0.000 {posix.lstat}
  0.021        1235    0.006    0.000      0.000 pkg_resources.py:1825(_normalize_cached)
  0.021        1636    0.021    0.000      0.000 imagebutton.py:66(draw)
  0.021         168    0.010    0.000      0.000 ConfigParser.py:656(set)
  0.021        3168    0.021    0.000      0.000 {method 'readline' of 'file' objects}
  0.022        3250    0.022    0.000      0.000 widget.py:58(draw)
  0.023          48    0.023    0.000      0.000 {method 'read' of 'file' objects}
  0.024          16    0.003    0.000      0.002 coverflow.py:281(get_text_transparent)
  0.024         256    0.013    0.000      0.000 posixpath.py:308(normpath)
  0.025        1030    0.015    0.000      0.000 ElementTree.py:726(iselement)
  0.025        1386    0.016    0.000      0.000 ConfigParser.py:618(_interpolate_some)
  0.026        3584    0.026    0.000      0.000 ElementTree.py:223(__getitem__)
  0.026     729/267    0.021    0.000      0.000 sre_parse.py:146(getwidth)
  0.027         102    0.004    0.000      0.000 widget.py:114(get_scale)
  0.027         140    0.006    0.000      0.000 pkg_resources.py:2048(__init__)
  0.028          20    0.000    0.000      0.001 widget.py:96(start_anim)
  0.028           3    0.028    0.009      0.009 {pygame.mixer.init}
  0.029         243    0.005    0.000      0.000 pkg_resources.py:2169(_get_metadata)
  0.031         184    0.030    0.000      0.000 copy.py:65(copy)
  0.031          42    0.003    0.000      0.001 sre_compile.py:367(_compile_info)
  0.031        4348    0.031    0.000      0.000 skin.py:96(get_pos)
  0.032         256    0.004    0.000      0.000 posixpath.py:337(abspath)
  0.033         204    0.007    0.000      0.000 imagebutton.py:44(set_size)
  0.033        2212    0.021    0.000      0.000 sre_parse.py:136(__getitem__)
  0.036       11347    0.036    0.000      0.000 {method 'values' of 'dict' objects}
  0.036        1948    0.026    0.000      0.000 sre_parse.py:188(__next)
  0.036         5/4    0.000    0.000      0.009 pkg_resources.py:1758(declare_namespace)
  0.039          21    0.005    0.000      0.002 slider.py:43(init)
  0.039        7080    0.039    0.000      0.000 {method 'index' of 'list' objects}
  0.040        1566    0.011    0.000      0.000 sre_parse.py:207(get)
  0.042        1030    0.013    0.000      0.000 ElementTree.py:285(append)
  0.042        2780    0.037    0.000      0.000 font.py:76(__getitem__)
  0.043          21    0.011    0.001      0.002 coverflow.py:258(load_main_frame)
  0.044        1386    0.014    0.000      0.000 ConfigParser.py:610(_interpolate)
  0.044         235    0.035    0.000      0.000 function_base.py:2851(add_newdoc)
  0.044        4447    0.043    0.000      0.000 {method 'encode' of 'unicode' objects}
  0.044        5631    0.044    0.000      0.000 {isinstance}
  0.045       11472    0.045    0.000      0.000 {method 'keys' of 'dict' objects}
  0.046         935    0.014    0.000      0.000 posixpath.py:129(islink)
  0.047       15885    0.047    0.000      0.000 {method 'append' of 'list' objects}
  0.047        4698    0.041    0.000      0.000 ElementTree.py:1156(_fixname)
  0.047        7534    0.047    0.000      0.000 {time.time}
  0.048       12900    0.048    0.000      0.000 {method 'lower' of 'str' objects}
  0.048         140    0.008    0.000      0.000 pkg_resources.py:2062(from_location)
  0.048        5861    0.048    0.000      0.000 {built-in method match}
  0.049   1620/1261    0.040    0.000      0.000 box.py:112(handle_mouse)
  0.051       12818    0.051    0.000      0.000 {method 'endswith' of 'str' objects}
  0.052           9    0.001    0.000      0.006 screen.py:34(add)
  0.053         188    0.053    0.000      0.000 {method 'render' of 'pygame.font.Font' objects}
  0.053         462    0.010    0.000      0.000 slider.py:89(draw)
  0.055          21    0.002    0.000      0.003 coverflow.py:122(draw_main)
  0.056        1040    0.026    0.000      0.000 ElementTree.py:1091(end)
  0.056           3    0.012    0.004      0.019 __init__.py:2(<module>)
  0.057       12314    0.057    0.000      0.000 {method 'startswith' of 'str' objects}
  0.057          21    0.057    0.003      0.003 {pygame.transform.flip}
  0.057          88    0.011    0.000      0.001 ConfigParser.py:547(items)
  0.058          22    0.011    0.001      0.003 config.py:186(save)
  0.060         102    0.004    0.000      0.001 imagebutton.py:32(__init__)
  0.060        2080    0.042    0.000      0.000 ElementTree.py:1046(_flush)
  0.060        2780    0.049    0.000      0.000 font.py:52(__getitem__)
  0.062       12638    0.062    0.000      0.000 {method 'replace' of 'str' objects}
  0.062          28    0.000    0.000      0.002 special.py:56(set_size)
  0.062           5    0.000    0.000      0.012 spinner.py:46(__init__)
  0.067         137    0.067    0.000      0.000 widget.py:51(init)
  0.067          21    0.004    0.000      0.003 coverflow.py:146(draw_left)
  0.067          85    0.001    0.000      0.001 pkg_resources.py:1821(normalize_path)
  0.068         188    0.006    0.000      0.000 loaders.py:170(text)
  0.072         600    0.023    0.000      0.000 image.py:35(init)
  0.073           2    0.004    0.002      0.037 paragraph.py:79(draw)
  0.073         807    0.073    0.000      0.000 {pygame.event.get}
  0.074         186    0.025    0.000      0.000 sre_compile.py:213(_optimize_charset)
  0.076          70    0.003    0.000      0.001 pkg_resources.py:2317(check_version_conflict)
  0.077          21    0.005    0.000      0.004 coverflow.py:135(draw_right)
  0.077        4447    0.033    0.000      0.000 ElementTree.py:749(_encode)
  0.079         184    0.004    0.000      0.000 loaders.py:164(image_layer)
  0.080       11348    0.080    0.000      0.000 {zip}
  0.081        1040    0.013    0.000      0.000 ElementTree.py:1187(_end)
  0.081 21361/21082    0.080    0.000      0.000 {len}
  0.084         186    0.007    0.000      0.000 sre_compile.py:184(_compile_charset)
  0.090        1040    0.009    0.000      0.000 pyexpat.c:656(EndElement)
  0.094         275    0.094    0.000      0.000 {open}
  0.096        1648    0.031    0.000      0.000 ElementTree.py:1184(_data)
  0.096          70    0.006    0.000      0.001 pkg_resources.py:2265(insert_on)
  0.100          73    0.001    0.000      0.001 widget.py:64(set_size)
  0.101        2763    0.101    0.000      0.000 {pygame.event.poll}
  0.103          92    0.007    0.000      0.001 label.py:45(__init__)
  0.108       26043    0.108    0.000      0.000 {method 'strip' of 'str' objects}
  0.110        1648    0.014    0.000      0.000 pyexpat.c:479(CharacterData)
  0.110          70    0.002    0.000      0.002 pkg_resources.py:1789(fixup_namespace_packages)
  0.111         149    0.006    0.000      0.001 pkgutil.py:176(find_module)
  0.113       13498    0.113    0.000      0.000 {method 'write' of 'file' objects}
  0.116           6    0.061    0.010      0.019 paragraph.py:60(init)
  0.119        1040    0.033    0.000      0.000 ElementTree.py:1075(start)
  0.124       14261    0.124    0.000      0.000 {method 'split' of 'str' objects}
  0.131         934    0.087    0.000      0.000 ElementPath.py:133(findall)
  0.135         166    0.032    0.000      0.001 pkg_resources.py:1680(find_on_path)
  0.137        4447    0.060    0.000      0.000 ElementTree.py:1149(_fixtext)
  0.142         152    0.005    0.000      0.001 pkg_resources.py:1737(_handle_ns)
  0.147           9    0.009    0.001      0.016 screen.py:61(update_pos)
  0.155      242/47    0.048    0.000      0.003 sre_parse.py:385(_parse)
  0.157      167/42    0.009    0.000      0.004 sre_parse.py:307(_parse_sub)
  0.159         234    0.029    0.000      0.001 posixpath.py:351(realpath)
  0.161          42    0.002    0.000      0.004 sre_parse.py:669(parse)
  0.163      506/42    0.043    0.000      0.004 sre_compile.py:38(_compile)
  0.166          28    0.004    0.000      0.006 pkg_resources.py:400(add_entry)
  0.169         116    0.166    0.001      0.001 {pygame.transform.smoothscale}
  0.172         934    0.023    0.000      0.000 ElementPath.py:197(findall)
  0.180         934    0.008    0.000      0.000 ElementTree.py:354(findall)
  0.189          24    0.000    0.000      0.008 core.py:4822(__init__)
  0.189          24    0.001    0.000      0.008 core.py:4826(getdoc)
  0.190          38    0.004    0.000      0.005 core.py:105(get_object_signature)
  0.194           7    0.024    0.003      0.028 coverflow.py:54(init)
  0.195          42    0.001    0.000      0.005 sre_compile.py:486(_code)
  0.197        4348    0.146    0.000      0.000 skin.py:87(get_image)
  0.212         113    0.029    0.000      0.002 animations.py:75(__init__)
  0.215           4    0.006    0.002      0.054 skin.py:73(__init__)
  0.231           7    0.020    0.003      0.033 __init__.py:1(<module>)
  0.253          70    0.002    0.000      0.004 pkg_resources.py:2174(activate)
  0.254         646    0.115    0.000      0.000 label.py:34(init)
  0.254          70    0.001    0.000      0.004 pkg_resources.py:2675(<lambda>)
  0.261        4405    0.169    0.000      0.000 posixpath.py:59(join)
  0.266         149    0.007    0.000      0.002 {map}
  0.271         266    0.047    0.000      0.001 special.py:39(init)
  0.305          44    0.162    0.004      0.007 ConfigParser.py:434(_read)
  0.311          22    0.002    0.000      0.014 ConfigParser.py:266(read)
  0.315          51    0.017    0.000      0.006 spinner.py:61(init)
  0.327        1040    0.077    0.000      0.000 ElementTree.py:1175(_start_list)
  0.336        1040    0.009    0.000      0.000 pyexpat.c:604(StartElement)
  0.360          42    0.002    0.000      0.009 sre_compile.py:501(compile)
  0.362          41    0.000    0.000      0.009 re.py:188(compile)
  0.367     470/227    0.040    0.000      0.002 box.py:56(update_pos)
  0.369         318    0.006    0.000      0.001 re.py:229(_compile)
  0.378          22    0.005    0.000      0.017 config.py:190(read)
  0.416         190    0.240    0.001      0.002 ConfigParser.py:380(write)
  0.454          22    0.002    0.000      0.021 config.py:96(__init__)
  0.468          10    0.001    0.000      0.047 ElementTree.py:542(__init__)
  0.482          71    0.047    0.001      0.007 coverflow.py:96(draw)
  0.588          10    0.000    0.000      0.059 ElementTree.py:1244(feed)
  0.588          20    0.052    0.003      0.029 {built-in method Parse}
  0.598         168    0.118    0.001      0.004 config.py:48(__setitem__)
  0.610          10    0.001    0.000      0.061 ElementTree.py:577(parse)
  0.610         169    0.010    0.000      0.004 sound.py:40(callback)
  0.675         468    0.039    0.000      0.001 animations.py:41(__init__)
  0.743     479/295    0.034    0.000      0.003 box.py:33(update_size)
  0.777     262/142    0.018    0.000      0.005 box.py:86(add)
  0.866        1966    0.155    0.000      0.000 button.py:55(draw)
  0.898         458    0.898    0.002      0.002 {pygame.imageext.load_extended}
  1.322           2    0.000    0.000      0.661 music.py:92(change_music)
  1.327          18    0.001    0.000      0.074 screen.py:47(load)
  1.367     536/497    0.048    0.000      0.003 loaders.py:65(image)
  1.397        9939    1.102    0.000      0.000 config.py:55(__getitem__)
  1.535         807    0.058    0.000      0.002 music.py:73(update)
  1.660           8    0.070    0.009      0.207 entity_skin.py:51(__init__)
  3.018           9    0.000    0.000      0.335 screen.py:28(__init__)
  4.233         948    4.233    0.004      0.004 {pygame.display.update}
  4.700         140    4.700    0.034      0.034 {time.sleep}
  5.969           2    5.969    2.985      2.985 loaders.py:192(track)
  8.060        4082    8.060    0.002      0.002 {method 'convert_alpha' of 'pygame.Surface' objects}
  8.111 11347/11269    0.441    0.000      0.001 loaders.py:55(decorated_function)
  9.138        3808    9.138    0.002      0.002 {method 'convert' of 'pygame.Surface' objects}
 12.959          14    0.121    0.009      0.926 gui.py:265(transition_fading)
 14.002         193    0.014    0.000      0.073 gui.py:163(handle_reply)
 14.752        1956    0.055    0.000      0.008 gui.py:122(handle_mouse)
 15.843        1087    7.565    0.007      0.015 skin.py:64(get_background)
 28.989       22502   28.989    0.001      0.001 {method 'blit' of 'pygame.Surface' objects}
 33.393         807    0.079    0.000      0.041 screen.py:43(update)
 33.654    3624/853    1.751    0.000      0.039 box.py:77(draw)
 62.293         807    0.146    0.000      0.077 gui.py:82(update)

si ça peut t'aider à optimiser :]

Hors ligne

#867 Le 23/08/2010, à 13:06

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

Je vais regarder ça. hmm

Hors ligne

#868 Le 23/08/2010, à 13:15

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

J'ai trouvé un moyen de réduire les blit... je vais essayer de finir ça.

Hors ligne

#869 Le 23/08/2010, à 13:35

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

  8.111 11347/11269    0.441    0.000      0.001 loaders.py:55(decorated_function)

cette ligne m'étonne aussi…

Hors ligne

#870 Le 23/08/2010, à 14:00

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

tshirtman a écrit :
  8.111 11347/11269    0.441    0.000      0.001 loaders.py:55(decorated_function)

cette ligne m'étonne aussi…

C'est le @memoize ?

Hors ligne

#871 Le 23/08/2010, à 15:21

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

Quelqu'un d'autre chez qui ça marche: http://forum.freegamedev.net/viewtopic. … 5797#p5793 On va dire que ça fonctionne.

Hors ligne

#872 Le 23/08/2010, à 15:35

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

xapantu a écrit :

J'ai trouvé un moyen de réduire les blit... je vais essayer de finir ça.

J'ai commité, mais je pensais que ça serait mieux que ça.... à suivre.

Hors ligne

#873 Le 23/08/2010, à 16:20

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

pour la ligne c'est en effet une fonction memoizé, mais je ne comprends pas pourquoi elle est appelé aussi souvent, plus de mille fois en environ une minute, sans lancer de partie, c'est bizarre…

sinon cool pour le test, t'as fais du bon boulot avec cet installeur smile

bon maintenant faut paufiner le jeu tongue, les persos sont pas tout à fait au point, et il reste un peu de bugs, (le bug de l'animation de marche que je comprends pas tout, on dirait que çà dépends du temps entre l'action précédente et le début de la marche), y'a un bug bizarre avec xeon quand on fait b+b+↓ en étant dirigé vers la gauche, la méthode pour les zoom crèe des déformations avec ton patch récent pour les résolutions différentes (mais cette façon de faire est sympa smile).

et j'ai un accès au net pourris >_<

Hors ligne

#874 Le 23/08/2010, à 16:54

xapantu

Re : Ultimate Smash Friends: un smash bros like en python

tshirtman a écrit :

et j'ai un accès au net pourris >_<

Moi aussi... Je suis déconnecté à peu près toutes les minutes, donc déjà, je peux plus me connecter sur IRC (ou sinon, je fais du flood intensif...).

Hors ligne

#875 Le 23/08/2010, à 23:33

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

Bon, ta correction pour les autres résulotions n'était pas complete, j'ai appliqué le même traitement aux autres SIZE[0]/800 et SIZE[1]/480 qui trainaient, et ça marche bien, j'aime bien par ce que ça vire ces horreurs, et en fait elles étaient le seul problème à ce niveau… comme quoi, faut pas grand chose pour pourrir un truc qui marche bien smile

ta correction pour accélérer l'affichage marche bien par contre, ça va beaucoup beaucoup plus vite, par contre le sélecteur de niveau est cassé (on ne voit les niveaux) et y'a des trucs qui apparaissent rapidement pendant le chargement, c'est marrant… sinon ton menu de pause est completement décalé, je sais pas pourquoi (j'ai pas trop cherché ^^).

quand on change de résolution dans les menus, faudrait faire gaffe a pas adapter tout de suite pour l'effacement de l'écran, ou alors le faire aussi pour les dessins de boutons… sinon ça fait des bugs pas super jolis…

enfin c'est pas mal quand même, on s'approche d'un truc propre là avec la gestion des résolutions différentes! smile

Hors ligne