From: Werner S. <sm...@ia...> - 2006-09-15 19:21:04
|
Hi, > Awesome. I believe that is the best-looking version of example 1 that I > have ever seen. I got similar good-looking results on my Ubuntu box. That's fine that it works also for you! > > That said, there are some issues with this new version of wxwidgets. There > are now a lot of debug messages when you use it. That's obviously easy to > fix. Yes, sorry, I forgot to remove the debug flag. I'll fix that with the next commit. > Another much more difficult problem is that any attempt to enhance > the look (either by using -drvopt text=1,smooth=1 to get good-looking fonts > or by using -drvopt antialized to get everything to look good regardless of > whether you are using Hershey or modern fonts) gives slow rendering (5-10 > seconds for example 1) on my Ubuntu box. Admittedly that is a pretty slow > box (600MHz Athlon which is roughly equivalent to a 1.2GHz pentium 3), but > slow rendering is a concern for a GUI. It's not optimized right now. e.g I update the window every 100 drawing operations - this might be set to higher values if we have freetype or antializing enabled. Than I also blit the whole bitmap onto screen - this is not necessary if only part of the bitmap is changed - so I'll add a "clipping box" soon, so that only changed parts of the plot will be updated. This should improve speed considerably. > I assume there is nothing you can > do about the speed of -drvopt antialized since that depends on the speed of > libagg and that library obviously does a lot to make everything including > plot lines look smooth, but I am a little surprised at how slow -drvopt > text=1,smooth=1 is. (BTW, -drvopt text=1 appears to do nothing for the > quality of the font look; you really need to combine it with smooth to see > a good-looking result.) I think I took this from the gd driver. text=1 adds freetype support and smooth=1 adds antializing support for the font. So if text=1 not the hershey fonts are used, freefont is used instead. You can test it with example 24. > The equivalent result (good looking fonts but > jagged plot lines) is rendered much quicker for other device drivers with > access to non-Hershey fonts (which is why text=1 is default for them). Which driver is this? The driver which are available on my system don't have freetype support, except wxwidgets (xwin and tk are the other interactive ones). But freetype with wxwidgets driver is especially very slow, since every point (freetype uses DrawPixel) is one drawing operation. So every 100 points the screen is refreshed. I'll change that, that doesn't make sense. > I refined the AGG CBS logic. Our CBS now looks for AGG from > wxwidgets.cmake only if pkg-config is defined. I changed WITH_AGG > everywhere to HAVE_AGG, and output some additional messages. Finally, I > made HAVE_AGG default to ON. > > This refined logic works fine in the absence of AGG (haven't had a chance > to download and build AGG on my Debian stable system) and also works well > when AGG is present (as for my Ubuntu system). I hope it works well for > you also. Yes, works also for me. Thanks for the changes - that is a lot better now. best regards, Werner -- Dipl. Ing. Werner Smekal Vienna University of Technology |