[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: PCB+GL Progress



On Tue, 2009-02-24 at 01:05 +0000, Kai-Martin Knaak wrote:
> On Mon, 23 Feb 2009 20:51:31 +0000, Peter Clifton wrote:
> 
> > Long story short.. send slow examples, and they might well get profiled
> > and used to help optimise PCB's speed for that kind of case.
> 
> The layout I used to benchmark the GL-enabled pcb version can be 
> retrieved from
> 	http://lilalaser.de/tmp/lasertreiber.pcb

I've had a quick poke at it. I'm getting about 5fps full screen (zoomed
out), with polygon fill.

If I turn off all layers but silk, including pads and vias, I'm not
getting a huge frame-rate increase, and it would appear that the large
number of triangles created by the end-caps of each line making up a
piece of text is the killer here.

This might somewhat explain why you're not seeing vast improvements in
rendering speed when you zoom in. For circular objects (arcs, vias,
pins, line-end caps), the number of triangles used increases with the
size of the primitive on-screen. As you zoom, there might be less text
on-screen, but there is more complexity used in rendering those which
are.

Once I've deleted text from your silk-screen, I stop being CPU bound,
and end up with my profile hot-spots of about 30% copying data to the
GPU. (Need to revive my code to use mapped VBOs to try and reduce that
overhead). It is possible that doing this would also improve performance
in the case which has lots of text on-screen, although it would appear
that the graphics card is just not dealing with the triangles
particularly fast. I'm getting about 24fps with your silk-screen
stripped of (almost) all text.

I've love to have found some magic element in the design which was the
root-cause of the slowness by some bug which caused it to use far too
many triangles, but unfortunately I've not found anything like that.
Perhaps I need to start thinking about how the text glyphs could be
pre-tessellated into triangles (or textures) and cached. However.. I
think that is too much complexity for the moment.

Whilst it isn't quite video frame-rate, the speed achieved (on my box
anyway) seems quite usable as far as I can tell.


You forgot the attachment of glxinfo output when you replied to my
original survey on what GL capabilities people have. Both your glxgears
benchmarks are faster than mine, so it is interesting to note your PCB
frame-rates are lower. (Perhaps the stencil hardware is different). I
guess when the Xorg guys keep saying "glxgears is not a benchmark", it
is with good reason.

If you could send me your glxinfo output, that would be interesting.

Best wishes,

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user