Hi, As recently Jean-Pierre has reported he had been running out of memory with complex boards, I decided to take another step to reduce memory footprint of OpenGL canvas.
Currently, the most expensive thing to draw is stroked text, as there are lots of labels on tracks and pads. To reduce the drawing cost (and memory requirements), texts that are not targeted to Gerber files (i.e. pad & track labels) might be displayed using bitmap fonts. This way, a single letter cost is reduced from tens of triangles to just two. Another gain is we can select any font for this purpose and easily change it. I picked one for testing, but I think we have to decide together which one shall be used. Bitmap fonts are also antialiased (I am sorry Lorenzo), so they might be a bit easier on eyes. As texts now do not occupy as much memory space as they used to, they might be stored in the video card memory. Thanks to that, they might be displayed on selected items as well (in the past selected items had labels removed). This should also reduce per-frame traffic and make rendering process smoother. I did my best to use the same character set as is available with the original stroke font, but I wonder if it is really necessary. It seems that net/pad names are limited to latin characters, so maybe we should limit the character set. Thoughts? At the moment bitmap fonts are only available in OpenGL canvas, as I believe they offer the greatest performance boost there. I am not sure if Cairo can really benefit from such solution, but it might be tested as well. Before I push the changes to the master repository, I will be grateful for some testing [1] and feedback. There are also two screenshots [2, 3] to demonstrate the difference. Regards, Orson 1. https://github.com/orsonmmz/kicad-source-mirror/tree/bitmap_fonts 2. https://orson.net.pl/pub/original_font.png 3. https://orson.net.pl/pub/bitmap_font.png
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

