I should have some time today to look at this, unless any other 
developers already know an obvious solution.

Cheers,
Mike

Darren Dale wrote:
> I have been working on an application which is basically a dressed up version 
> of embedding_in_qt4.py. I have two canvases, one is just a plot, the other an 
> image with a colorbar, both of which should get updated about once a second 
> as data is acquired. I noticed that for larger images, it was taking longer 
> to update the canvases as time went on.
> 
> Attached is a script that demonstrates the problem (png's are also attached 
> for those who dont have PyQt4). At each timeout, I check the time, generate a 
> new random array, update the image's data, draw it, collect garbage, and 
> check the time again. The plot in the upper window shows how long it took to 
> update the image canvas as a function of iteration number.
> 
> When the image has a colorbar, the time to update the image canvas increases 
> linearly, about 0.3 ms/iteration. This can really add up: after 20,000 
> iterations it takes about 5-6 seconds to update the image canvas. If I 
> comment out the line that creates the colorbar (line 64), the time to update 
> the image canvas does not increase.
> 
> A couple other observations and benchmarks from this test:
> 
> * The intercept for the update time with a color bar was 0.17 seconds
> * With the colorbar enabled but garbage collection turned off, the 
> application 
> slowly consumed memory, roughly 12KB/iteration
> * Updating an image without a colorbar took 0.1 seconds per iteration, and 
> did 
> not increase
> * Turning off both garbage collection and the colorbar decreased the update 
> time to 0.043 seconds, with maybe 1.7 KB/iteration increase in memory usage.
> 
> I don't know if I'll get a chance to dig any further into this in the next 
> two 
> weeks. For now, I'll just disable the colorbar in my application.
> 
> Darren
> 
> 
> ------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Matplotlib-devel mailing list
> Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to