Python 为什么matplotlib动画在保存每个连续帧时会变慢?
我注意到,当我使用Matplotlib制作动画时,保存每一帧所需的时间会越来越长。我知道这一点,因为我在Python 为什么matplotlib动画在保存每个连续帧时会变慢?,python,animation,matplotlib,Python,Animation,Matplotlib,我注意到,当我使用Matplotlib制作动画时,保存每一帧所需的时间会越来越长。我知道这一点,因为我在figureCanvabase类的print\u figure方法中引入了一个计时检查/usr/lib/pymodules/python2.7/matplotlib/backend\u base.py: import time t3=time.time() result = print_method( filename
figureCanvabase类的print\u figure
方法中引入了一个计时检查/usr/lib/pymodules/python2.7/matplotlib/backend\u base.py
:
import time
t3=time.time()
result = print_method(
filename,
dpi=dpi,
facecolor=facecolor,
edgecolor=edgecolor,
orientation=orientation,
bbox_inches_restore=_bbox_inches_restore,
**kwargs)
t4=time.time()
print("LOG: backend_bases -----",t4-t3)
我花了一些时间才达到这一点,现在我达到了收益递减的点,因为print_方法似乎是动态确定的
有人知道为什么保存动画的第100帧要比保存第一帧花费更长的时间吗
我可以通过制作几个较短的动画,然后将它们缝合在一起来避免这个问题,但我更愿意首先理解为什么存在这个问题
我会理解周期性地需要获得更多内存是如何为保存每个第n个图像引入周期性延迟的,但我不理解保存每个后续帧所需时间的稳定、几乎线性的增长率。这是由于每次向动画添加新帧时都会进行某种压缩造成的吗?是否每次动画增长时都会重新分配内存?或者是别的什么?发布您正在使用的版本会很有用-我不能说我经历过这种情况,但我从来没有看过。@Ajean-我正在使用matplotlib 1.3.1和Python 2.7.6发布您正在使用的版本会很有用-我不能说我经历过这种情况,但是我从来没有看过。@Ajean-我使用的是matplotlib 1.3.1和Python 2.7.6