Почему анимация в pylab замедляется с каждым обновлением?

Я хочу отобразить простую анимацию, вызвав imshowв цикле for. Вот демонстрация моей проблемы:

import pylab,time
images = [pylab.uniform(0,255,(50,50)) for _ in xrange(40)]
pylab.ion()
timings = []
for img in images:
  tic = time.time()
  pylab.imshow(img)
  pylab.draw()
  toc = time.time()
  timings.append(toc-tic)
pylab.clf()
pylab.plot(timings)
pylab.title('elapsed time per iteration')
pylab.ioff()
pylab.show()

Обратите внимание, что я генерирую изображения перед запуском цикла, и что единственные части, которые я использую, — это функции imshowи draw. Я получаю результаты, которые выглядят следующим образом: Result of running my demo

Как избежать этого замедления?

10
задан perimosocordiae 22 April 2012 в 21:57
поделиться