DXF Minimisation

1
zener
7/7/2006 3:21 AM

Hi Wout

Not urgent request - but can you advise what would be the best format to use in CADLIB for speed.
The BIN files are smaller, but if your code converts these to ASCII before manipulation then there is nothing to be gained in using this format.
Some of the DXF ASCII files I am zooming around are 900k plus in size and things really slow down in zoom and pan.

Regards

Wout
7/7/2006 9:13 AM

Hi Gordon,

Ascii or binary doesn't matter with respect to drawing, in memory they are exactly the same (there maybe some difference in terms of loading time).

Panning could be sped up by rendering to a bitmap and dragging that around.

For zooming there's no quick solution. At some point there are just a lot of lines to be drawn. Tol solve this drawing should be done in parts, so during zooming not the whole drawing is redrawn for better interactivity. That's currently not implemented, but I'll put it on the feature request list (will take some time before I get to it).

In the mean time as a compromise you can possibly draw less accurately by passing a tweaked GraphicsConfig object for drawing that uses less line pieces to approximate arcs and such. You can also have to GraphicsConfig objects around, one for during interaction, and one for display during idling when there's enough time. Let me know if this maybe works out.

Thanks!

Wout

zener
8/3/2006 9:54 AM

Have tried that ,I suspect the best way of people not worrying too much about the speed is to generate more information that 'adds value'( - by default of using DXF rather than paper space DWF.)

It should be easy to get the scaling value and put a 'real life' scale along the side of the picture box. The more useful information like that which the application supplies the less people worry about it's speed.

 

Wout
8/3/2006 6:36 PM

You mean distract the user with bells and whistles? Cunning plan!

At some point in the medium remote future I'll add a cheaper drawing methods which just draw e.g. bounding boxes during interaction. More viewers do similar cheap rendering during interaction, and then when the processor is idle, the nice rendering is done.

Thanks,

Wout

zener
10/24/2006 1:34 AM

Any more progress on this Wout
I am starting to use your excellent tool in production environments and the draw speed is an issue of large drawings.

Wout
10/24/2006 4:54 AM

Hi Gordon,

I haven't had time to implement a cheap rendering option yet. I did however optimise the math library, which results in noticably better drawing performance (I'd guess that it feels 20%-30% faster). I'm not very close to release though... still too much work in the OpenGL area, it might be a month from now...

Thanks!

Wout

1