def func(): start = summon.get_time() vis = [] for i in xrange(nlines): vis.extend([i, 0, i, 100]) win.add_group(lines(*vis)) print "1 thread ", summon.get_time() - start
def draw_frame(): """Draw one frame of the animation""" global last, frames, fps_vis frames += 1 # update frames per second display if frames > 20: frames = 0 now = summon.get_time() fps_text = "FPS: %.1f" % (20.0/ (now - last)) fps_vis = fps_vis.replace_self( group( color(1, 1, 1), text(fps_text, 5, 5, 300, 25, "left", "bottom"))) last = now for ball in balls: # move ball ball.move() ball.bounce(winsize) # update ball's drawing ball.draw()
group( color(1, 1, 1), text(fps_text, 5, 5, 300, 25, "left", "bottom"))) last = now for ball in balls: # move ball ball.move() ball.bounce(winsize) # update ball's drawing ball.draw() # frame rate information last = summon.get_time() frames = 0 # create balls x = winsize / 2 y = winsize / 2 balls = [] for i in range(nballs): angle = random.random() vx = 5 * math.cos(angle) vy = 5 * math.sin(angle) size = maxballsize * i/ float(nballs) x = size + (winsize - 2 * size) * random.random() y = size + (winsize - 2 * size) * random.random()
#!/usr/bin/env python-i import summon from summon.core import * nlines = 50000 win = summon.Window("lines") win.set_visible(0, 0, nlines, 500) #============================================================================= start = summon.get_time() for i in xrange(nlines): win.add_group(lines(i, 0, i, 100)) print "add_group ", summon.get_time() - start win.clear_groups() #============================================================================= start = summon.get_time() vis = group() for i in xrange(nlines): vis.append(lines(i, 0, i, 100)) win.add_group(vis) print "append ", summon.get_time() - start win.clear_groups()