Re: [Pythoncad-developer] Pushed many changes to the R38 branch
CAD Application entire developed in Python
Status: Beta
Brought to you by:
matteoboscolo
From: Matteo B. <mat...@bo...> - 2010-01-08 09:57:46
|
Hi Gertwin, I've done some test and is seems to go faster then the previous version. It's hard to make some test without some drawing functionality like lines circles .... I've done some tests importing the dxf files under doc folder and it seems faster then the older system but not as much as I expected. In my installation the pan mouse functionality dose not work. And i get some strange message when i close PythonCad __imageRemovedChild remaining connections for obj: <PythonCAD.Generic.layer.Layer object at 0x97a1d6c> message: added_child connected to obj: <PythonCAD.Interface.Gtk.gtkimage.GTKImage object at 0x97ab68c> message: removed_child connected to obj: <PythonCAD.Interface.Gtk.gtkimage.GTKImage object at 0x97ab68c> >At least the panning is faster now (but after pan a redraw it needed >which can be slow for large drawings). Could be use Tread for beach Redraw ? so the user can work and in the batch mode we get the redraw. I made some Test with treading while importing dxf file but i get some bad error and i stop developing it. I can make some test on it to get it work .. >I think for really good performance you need display lists as used in >opengl. We can think of it .. i like to do e good job and performance in zooming/redrawing are very important in a cad program. So if you think that the display list will be the right choice.. we can work on it we can share the work. Regards, Matteo On Thu, 2010-01-07 at 22:26 +0000, ger...@gm... wrote: > Hello, > > I just pushed many changed into the R38 repository. > > This means the old drawing methods are mostly replaced by the new > cairo ones. > All draw functions (entity draw and rubberbanding and future selection > draw) are now in the <entity>draw.py modules. > > Not all entity draw functions are replaced by new ones, I will convert > them one by one the next days. > There are issues with drawings when a very large part of the entity is > off screen (maybe need some clipping). > There are issues with rubberbanding which can be slow at some times > (after dynamic zoom with mouse wheel while drawing). > Mouse wheel zoom is pointer position sensitive, zooming is done around > the mouse pointer and not screen center. > > At this stage the cairo drawing should give a good indication of the > performance which can be achieved. > I have not done any optimizations but I don't think it will be more > than 1.5x faster as it is now. > At least the panning is faster now (but after pan a redraw it needed > which can be slow for large drawings). > Also each dynamic zoom with the wheel mouse button requires a redraw. > When zoomed into a small part of the drawing less entities are drawn > than redraw is faster, whole drawing redraw is still slow. > > Please look at the drawing performance and share your feelings (is it > fast enough, does it need changes). > I think for really good performance you need display lists as used in > opengl. > > Regards, > Gertwin |