<div dir="ltr"><div class="gmail_extra">Summary of the floating-point use of 2D libs:<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra" style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">  - AGG - single/double precision</div><div class="gmail_extra" style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">  - Blend2D - double precision</div>  - Cairo - double precision</div><div class="gmail_extra">  - Direct2D - single precision</div><div class="gmail_extra">  - Qt - single precision on ARM / double precision on X86 (qreal)</div><div class="gmail_extra">  - SKIA - single precision or fixed point - compile-time option (SkScalar)<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">All libraries mentioned have rasterizers that use fixed point, so floating point is only used to transform input coordinates and to convert them to fixed point. SKIA would probably be the best candidate for 2D graphics c<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">onsidering your hardware, however, </span>I would say that cairo is not really your issue here as you have just 64MB RAM and you use 2 gui toolkits to create a message box. I would consider replacing your entire stack in this case or using a more powerful hardware that can handle it.</div><div class="gmail_extra"><br></div><div class="gmail_extra">- Petr<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 21, 2018 at 10:21 AM,  <span dir="ltr"><<a href="mailto:Sathya.Narayana@mt.com" target="_blank">Sathya.Narayana@mt.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_2456541355150652888WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Following additional details:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hardware details: PXA270 (ARMV Architecture) with on-chip internal display controller, operating on 512 MHz processor speed, having 64 MB RAM, no FPU/GPU<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Linux kernel version: V2.6.35.9<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Stack is wxWidgets (V3.0.4) -> GTK+2 (V2.24.32) -> Pango (V1.3.0) -> Cairo (V1.14.12) -> XFbdev (X  server)<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:Symbol;color:#1f497d"><span>·<span style="font:7.0pt "Times New Roman"">      
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">For example, when calling wxMessgaeBox,<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph" style="margin-left:1.0in">
<u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">First, background of message box is drawn<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph" style="margin-left:1.0in">
<u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">After noticeable delay, the text and icon are drawn in the message box<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph" style="margin-left:1.0in">
<u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">When click on "OK" button, message box disappears immediately<u></u><u></u></span></p>
<p class="m_2456541355150652888MsoListParagraph" style="margin-left:1.0in"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Best regards<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Sathya<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Begin forwarded message:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><b>From:</b> Mike Gran <<a href="mailto:spk121@yahoo.com" target="_blank">spk121@yahoo.com</a>><br>
<b>Date:</b> 18 September 2018 at 18:39:22 IST<br>
<b>To:</b> <<a href="mailto:cairo@cairographics.org" target="_blank">cairo@cairographics.org</a>>, <<a href="mailto:Sathya.Narayana@mt.com" target="_blank">Sathya.Narayana@mt.com</a>><br>
<b>Subject:</b> <b>Re: [cairo] (no subject)</b><u></u><u></u></p>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div><span class="">
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">We see the rendering of screens being very slow and we suspect it<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">could be because of floating point operations. Since we do not have<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">complex graphics, it is possible to switch off floating point operations<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">or even switch off "double"?  Also I am not sure if this is the reason<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">for the poor rendering performance.<u></u><u></u></p>
</blockquote>
</span><p class="MsoNormal"><br>
I wonder if the problem actually might be the speed of writing to<br>
the framebuffer.<br>
<br>
I used to work on stuff like that, and I found that it was speedier to<br>
do all my drawing onto a cairo image surface instead of directly on the<br>
framebuffer.  I would draw an entire frame on the image surface,<br>
and then paint the completed image onto the framebuffer surface.<br>
<br>
-Mike Gran<u></u><u></u></p>
</div>
</blockquote>
</div>
</div>

<br>-- <br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="https://lists.cairographics.org/mailman/listinfo/cairo" rel="noreferrer" target="_blank">https://lists.cairographics.<wbr>org/mailman/listinfo/cairo</a><br></blockquote></div><br></div></div>