> XCircuit version 3.9 is up on the opencircuitdesign.com site!

Oops, I forgot to also do the diff on Makefile.am and configure.in. On my 
system the fontconfig library is not linked.
The attachment fixes this.

I now know for sure the configure has been rebuild. On my Opensude 12.3 system 
I still need to perform "autoreconf -fi" to be able to build everything.

Also I noticed that when just compiling from scratch, in the Xlib version, no 
libraries appear anymore by default.

> I would avoid a major paradigm shift at first;  it's a good
> long-term project, but it's going to involve a lot of coding.
> It would probably be a better first step to see how much of the
> redrawing can be replaced by copying blocks out of the pixmap.

I played with this a little and I agree with you. There are lots of little 
tricks happening in xcircuit and I discovered that it will involve much more 
than just restructuring the code.

Furthermore, from a code perspective I also struggle keeping the XOR drawing in 
place.
I am now thinking indeed of using a pixmap for the 'fixed' elements and 
overdraw it with the edited elements. A quick test on my machine showed that 
this can be done in roughly 3 ms, for both X-primitives and cairo.
So I am now trying this way. If I succeed this would mean that double buffering 
is obligatory and all XOR drawing stuff is removed.

> It's possible that I'm missing hardware acceleration.  I'm not sure
> how to know if I am or am not getting slowed down by software
> emulation, and I have not yet investigated that.

Just as a reference, I added some timing around drawwindow

#include 
void drawarea(xcWidget w, caddr_t clientdata, caddr_t calldata)
{
   struct timespec t1, t2;
   float dt;
   clock_gettime( CLOCK_REALTIME, &t1 );

.....

   clock_gettime( CLOCK_REALTIME, &t2 );
   dt = (t2.tv_sec - t1.tv_sec) + (1e-9)*(t2.tv_nsec - t1.tv_nsec);
   printf("Redraw time: %f ms (%f fps)\n", dt * 1000., 1. / dt);
}

On my 4 year old laptop 2.3 GHz i3 with just the onboard intel hd 3000 graphics 
card I get around 60 ms redrawing time (eq. to 17 fps) when I open 
examples/diffamp_test3.ps, page 2.

I also played around a little with buffering everything fixed and drawing the 
editing on top. With this I got around 2.5 ms redrawing time (eq. to 400 fps) 
when editing, regardless of the complexity underneath.

Erik.


_______________________________________________
Xcircuit-dev mailing list
Xcircuit-dev@opencircuitdesign.com
http://www.opencircuitdesign.com/mailman/listinfo/xcircuit-dev

Reply via email to