← Back to team overview

kicad-developers team mailing list archive

OpenGL rendering, etc

 

Hi

After testing the new OpenGL renderer on Eeschema I did some comparisons
and tried to find ways for improvement. The speed improvement is
enormous as expected. Thanks!

The attached screenshot compares Eeschema and Gschem rendering of
similar features. It is clear that Gschem grid fits everything on pixel
centres and pushes the rounding error to "white space". Everything but
grid fit lines is anti-aliased and nothing is scaled after rasterisation.

In general MSAA is not good for anti-aliasing of line drawing vector
source data. With vectors the AA is part of the rasterisation, not
something to do afterwards as the group of pixels that resulted from
rasterisation have already lost the meaning what they were about to
represent, so the quality is lost. Especially pixel grid fitting is lost
on scaling that shows as fuzzy lines in the example.

A couple of links regarding anti-aliased lines and arcs just in case
they were not found already:

https://blog.mapbox.com/drawing-antialiased-lines-with-opengl-8766f34192dc

https://github.com/glslify/glsl-circular-arc

I also remember the ocassional talk about Qt and by the effort that goes
to working around wx bugs and non-features something else could be done
on Qt. The OpenGL accelerated QPainter is pretty convincing these days.
Instead of deepfakes the wx to Qt porting AI would be more productive...

-Vesa

Attachment: eeschema-4xmsaa_gschem.png
Description: PNG image


Follow ups