Hey everyone,
The following piece of code appears to keep consuming memory for the
duration of its runtime, at least under Windows XP. I hadn't noticed
it until I cranked up the number of animated sprites on screen at one
time, at which point performance began to slowly crawl the longer it
was run. I _think_ I'm handling everything correctly, but would
appreciate some feedback before filing it as an actual bug report.
Here's an example that leaks on my machine:
----
import pyglet
from pyglet import resource, window
from pyglet.sprite import Sprite
resource.path = ['res']
resource.reindex()
batch = pyglet.graphics.Batch()
z_order = lambda x: pyglet.graphics.OrderedGroup(x)
Z_BACK = z_order(0)
Z_ENEMY = z_order(1)
def load_anim(imagename, rows, cols, row_pad=0, col_pad=0,
framerate=0.1):
img = resource.image(imagename)
map = pyglet.image.ImageGrid(img, rows, cols,
row_padding=row_pad,
column_padding=col_pad
)
return map.get_animation(framerate, loop=True)
enemy_image = load_anim('tyrian_ship_01.png', 1, 8, 0, 10)
class Game(pyglet.window.Window):
def __init__(self):
super(Game, self).__init__(800, 600, caption="memleak test",
visible=False)
self.background = Sprite(resource.image('planet2.png'),
batch=batch, group=Z_BACK
)
self.enemy = Sprite(enemy_image, batch=batch, group=Z_ENEMY)
self.enemy.set_position(400,300)
def on_draw(self):
self.clear()
batch.draw()
def start(self):
self.set_visible(True)
pyglet.app.run()
if __name__ == '__main__':
game = Game()
game.start()
----
If I replace the animation with a static sprite like so:
enemy_image = resource.image('tyrian_ship_01.png')
...no further memory is used after the program runs. But with the
animation, it steadily ticks over without halt.
Am I doing something blatantly wrong here that could be causing it?
Cheers!
- alex23
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---