← Back to team overview

kicad-developers team mailing list archive

Fwd: Re: Graphics Abstraction Layer for KiCad

 

Hi Lorenzo,

> Well, in opengl you're forced to redraw *everything* at each frame
> (excluding clever FBO usage),

Nope, for example I don't redraw everything for the cursor. At the moment I'm copying the pixels to the main memory.

> Yep, the 'clever' FBO usage is exactly what you called an 'aux buffer'
> (which in opengl is another kind of thing:P) Also double buffering is
> mandatory for acceleration these days, anyway. OTOH maybe you could
> simply stuff the 'other' things in a display list and replay it. Just
> because FBO are not a core feature but yet another extension, IIRC.

Yes, I know the FBO extension, but I mean the auxiliary buffers - usually you have up to four - I'll try that at the weekend. I don't know if they work with any OpenGL implementation, because these are optional.

> I keep wondering what kind of graphic primitive do you need to use
> opengl instead of 2D graphics primitives (which are already being
> accelerated by the X server). 

Depends on the graphics library - Cairo isn't accelerated (there are backends in development) - I don't know if wxDC has some hardware acceleration.

>Also keep in mind that most consumer cards
> are optimized for full screen opengl only (at least in the times of
> nvidia-8, years ago, I know). 

Perhaps it was in history, today hardware acceleration works in the windowed mode well.

> /me is usually working more in software to go on cheaper hardware since
> we produce the hardware too (so, in the end, hardware is *more expensive*
> than development time). And don't forget that kicad is, at the moment,
> an entry level product... while Mentor could ask for a ginormous box
> (since anyway with their licence you can buy about 4-6 top-class PCs,
> these days:D) we would risk to loss some of the eagle-level audience.

Well, almost any entry PC has these days a 3D accelerator. Also OpenGL doesn't mean that its suited only 3D drawing, there are a lot of operations for manipulating 2D surfaces.
Eagle should be no reference for us - why only entry level? Eagle seems not to be much further developed, I've used 10 years ago and it looks still the same. I know myself Mentor Expedition - have used it for my diploma thesis. The router is the best on the market (fast push&shove), but the schematic entry sucks - IMHO its much quicker to draw schematics with KiCad.
 
> At the moment the only thing is a little slow on kicad is zone filling
> (which I usually keep disabled anyway because it distracts from the
> track layout...). I guess it could be a little sluggish on my box with
> an 8-plane in 6 mil technology (well, such a board could use a faster
> box anyway).

I'd assume that you have tried only the Linux version. On Windows7 (and Jerry has written on OS X) the drawing is really pretty slow - the OpenGL 3D view is much faster. This is a motivation for such a backend. On Windows you have usually no problems with an OpenGL driver.

> Cairo is slow by definition until it isn't accelerated some way... gerbv
> with cairo is absolutely not useful! (BTW transparency in a gerber
> viewer is not useful for checking stuff. XOR combining IS useful)

I don't know if that can be said without trying; sure its slower than the OpenGL variant - but I've found it for my examples still OK. However, it has to be tried with many objects on the screen. I don't know how efficiently it was implemented in gerbv.

Another backends are possible if required; wxDC isn't my favorite because it has several restictions compared to other graphics APIs - but with some work its possible to integrate it too.

Bye..
Torsten
-- 

PS: Sorry, again the wrong reply address :( 
-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01