← Back to team overview

kicad-developers team mailing list archive

Re: Bitmap fonts

 

Le 21/04/2016 16:25, Maciej Sumiński a écrit :
> I got rid off the artifacts resulting from mipmapping, and I think the
> branch [1] is ready for merging. Apart from bitmap fonts, there are also
> a few other changes that should improve performance a bit.
> 
> If there are no objections, I would like to merge the branch next week.
> 
> Regards,
> Orson

I just tested it.
I have a serious issue when switching to OpenGL

I have this error:
Error: allocating video memory for cached container: invalid enum
then
VERTEX_MANAGER::Reserve: Vertex allocation error

and Pcbnew crashes.

I also noticed an issue for pcb texts: the vertical justification has changed:
when changing the horizontal justification, the vertical justification is also changed.
(This is a bug which break compatibility: currently the vertical justification is expected always
centered)

Thanks.
> 
> 1.
> https://github.com/orsonmmz/kicad-source-mirror/tree/cached_container_refactor
> 
> On 04/14/2016 11:33 AM, Maciej Sumiński wrote:
>> 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
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


-- 
Jean-Pierre CHARRAS


Follow ups

References