From: Ken M. <km...@gm...> - 2005-08-30 15:26:31
|
On Aug 30, 2005, at 9:31 AM, Arnd Baecker wrote: > Many thanks for the update of the patch. > It turned out that I could not apply it to this mornings CVS checkout > because John's time machine was already active and he has put your > patch into CVS ;-) Really? Yay for me! ;-) > During installation I encountered two glitches: > > a) debian problem: > Very interestingly debian stable (sarge) > does not have wxPython.h It does have wxPython.h, it's just not in the libwxgtk2.4 package. You'll need to install the libwxgtk2.4-dev package as well to get the headers. > GTKAgg FPS: 131.897223221 > TkAgg FPS: 65.5153012595 > WXAgg FPS: 100.55 > (200 frames: 1.99 seconds, 200 blits: 0.95 seconds) > (FPS: 100.55 BPS: 211.00) > WXAgg --no-accel FPS: 53.21 > (200 frames: 3.76 seconds, 200 blits: 2.55 seconds > (FPS: 53.21 BPS: 78.40) > > > I am running debian sarge, on a PIV, 2.8 GHz and an nVdia Quadro4 NVS > graphics card (@1600x1200). > So WXAgg is almost on par with GTGAgg - great!! That's very exciting news. I hadn't had a chance to test and profile the accelerator under Debian, nor had I bothered profiling it against GtkAgg and TkAgg under OSX. I should probably get those backends up and running (darn macs) and do so. > Ken, in _wxagg.cpp you mention that you planned to write a > agg_to_wx_bitmap() > which draws directly to a bitmap, but that this might not speed up > things > much because of: AGG->wx.Image->wx.Bitmap before you can blit using a > MemoryDC. Yes, I am concerned that re-implementing that part of the blit into C++ won't speed things up enough. I can understand doing the whole Image/Bitmap thing for portability (especially when wxWindows got started in 1992), but it's rather obnoxious when all it does is make extra copies of RGB data. However, I think there are a couple pieces of lower-handing fruit, like not making an extra source copy when blitting (_wxagg.cpp:159-190), that will offer speedups. Unfortunately, they'd be portable across Agg backends, so GtkAgg would get faster too. ;-) > Maybe you can contact Chris Barker if he has an idea on this (or are > there any > solutions available in the context of wxart2d or chaco? - quick > googling did not > reveal anything ...) I'll do so, if he doesn't see this part of the message than chime in. I have come across some old wxWindows mailing list exchanges indicating that there's no way to avoid the Image->Bitmap conversion as a requirement for drawing RGB images, so I'm not planning to loose too much sleep over it. I hadn't heard about wxart2d before, but will look into it to see how their agg canvas is implemented. I'll see if I can find the chaco repository and do the same there. Thanks for sharing your anim.py profiling results. It's heartening to see WXAgg's full-redraw speed being limited by the rest of matplotlib, rather than the backend. Ken |