[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pygame] speed problem: max 6 fps



[this email doesn't seem to have made it the first time...?]

Hi,

I have written a small pygame game which won't run at more than 6 fps.
Approx. 55 Sprites live in a Surface, sized 2500 by 3000.
The profiler tells me almost all time is in the main function.
What does this tell me about the bottleneck of my little game?

My game, consisting of 4 source files, has been attached, although
I don't think thats necesarry because my problem seems to be
more fundamental (maybe c.l.py is better for this question?).

The result of the profiler is:

Sat Feb  8 18:39:31 2003    brian.pfl

         6485 function calls (6424 primitive calls) in 10.640 CPU seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    9.950    9.950   10.620   10.620 brian.py:17(main)
       73    0.180    0.002    0.280    0.004 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:305(update)
        1    0.110    0.110    0.110    0.110 world.py:13(__init__)
     3942    0.070    0.000    0.070    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:143(update)
       73    0.040    0.001    0.060    0.001 sprites.py:141(adjustmove)
       65    0.040    0.001    0.080    0.001 sprites.py:83(__init__)
       65    0.040    0.001    0.040    0.001 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:104(add)
       19    0.030    0.002    0.030    0.002 sprites.py:341(update)
      256    0.030    0.000    0.030    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:204(sprites)
       60    0.030    0.000    0.040    0.001 sprites.py:120(falling)
       50    0.020    0.000    0.140    0.003 world.py:80(placerandomwall)
      228    0.020    0.000    0.030    0.000 /usr/local/lib/python2.3/random.py:179(randint)
       72    0.020    0.000    0.020    0.000 world.py:61(localwalls)
       61    0.010    0.000    0.110    0.002 sprites.py:319(__init__)
      228    0.010    0.000    0.010    0.000 /usr/local/lib/python2.3/random.py:128(randrange)
        1    0.010    0.010   10.640   10.640 profile:0(main())
        1    0.010    0.010   10.630   10.630 <string>:1(?)
       73    0.010    0.000    0.110    0.002 sprites.py:180(move)
       73    0.010    0.000    0.010    0.000 world.py:28(center)
        1    0.000    0.000    0.000    0.000 sprites.py:26(init)
        0    0.000             0.000          profile:0(profiler)
       65    0.000    0.000    0.040    0.001 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:95(__init__)
       92    0.000    0.000    0.040    0.000 sprites.py:243(falling)
        1    0.000    0.000    0.000    0.000 sprites.py:214(jumpgen)
        1    0.000    0.000    0.000    0.000 sprites.py:235(endjump)
       10    0.000    0.000    0.000    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:263(remove_internal)
       61    0.000    0.000    0.020    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:542(spritecollide)
        3    0.000    0.000    0.000    0.000 sprites.py:289(shoot)
      130    0.000    0.000    0.000    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:260(add_internal)
       10    0.000    0.000    0.000    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:147(kill)
        1    0.000    0.000    0.020    0.020 world.py:47(border)
       62    0.000    0.000    0.000    0.000 sprites.py:33(accelmove)
        1    0.000    0.000    0.000    0.000 sprites.py:227(startjump)
        1    0.000    0.000    0.000    0.000 sprites.py:208(__init__)
       73    0.000    0.000    0.000    0.000 sprites.py:138(update)
        3    0.000    0.000    0.000    0.000 sprites.py:332(__init__)
       16    0.000    0.000    0.000    0.000 sprites.py:350(collides)
       73    0.000    0.000    0.110    0.002 sprites.py:253(move)
       19    0.000    0.000    0.000    0.000 sprites.py:217(canjump)
        2    0.000    0.000    0.000    0.000 sprites.py:135(fallgen)
       10    0.000    0.000    0.000    0.000 /usr/local/lib/python2.3/site-packages/pygame/sprite.py:468(remove_internal)
  431/370    0.000    0.000    0.000    0.000 sprites.py:99(__setattr__)
        1    0.000    0.000    0.000    0.000 sprites.py:112(__init__)
       63    0.000    0.000    0.000    0.000 world.py:103(scroll)
        6    0.000    0.000    0.000    0.000 sprites.py:308(getbullet)
        7    0.000    0.000    0.000    0.000 errors.py:52(__init__)

yours,
Gerrit.

-- 
Asperger Syndroom - een persoonlijke benadering:
	http://people.nl.linux.org/~gerrit/
Het zijn tijden om je zelf met politiek te bemoeien:
	http://www.sp.nl/
____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org