<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX RT Crossover MCUsのトピックRe: emWin: Multi-buffering Optimization Question</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/2048337#M33540</link>
    <description>Thanks for the link!</description>
    <pubDate>Thu, 20 Feb 2025 15:51:15 GMT</pubDate>
    <dc:creator>remibusseuil</dc:creator>
    <dc:date>2025-02-20T15:51:15Z</dc:date>
    <item>
      <title>emWin: Multi-buffering Optimization Question</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1866599#M30368</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;This is a follow up to my previous post:&amp;nbsp;&lt;A href="https://community.nxp.com/t5/i-MX-RT/RT1170-EVKB-PXP-eLCDIF-LCDIFv2-and-emWin/m-p/1866522" target="_blank"&gt;https://community.nxp.com/t5/i-MX-RT/RT1170-EVKB-PXP-eLCDIF-LCDIFv2-and-emWin/m-p/1866522&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I observed a significant reduction in execution time if I commented out the multi-buffering feature of emWin, at the cost of horizontal tearing effects, especially while changing the entire screen.&lt;BR /&gt;&lt;BR /&gt;Before:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;        if(condition)
        {
            GUI_MULTIBUF_Begin();
            GUI_Exec();
            GUI_MULTIBUF_End();
        }&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;After:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;        if(condition)
        {
            //GUI_MULTIBUF_Begin();
            GUI_Exec();
            //GUI_MULTIBUF_End();
        }&lt;/LI-CODE&gt;&lt;P&gt;After reviewing &lt;A href="https://wiki.segger.com/emWin_Multi-Buffering" target="_blank"&gt;emWin Multi-Buffering - SEGGER Wiki&lt;/A&gt;, I think that "GUI_MULTIBUF_Begin()" is not as efficient with respect to copying frame buffers from front to back.&lt;/P&gt;&lt;P&gt;Is there a way to optimize "GUI_MULTIBUF_Begin()" or make it use a feature of the i.MX RT to copy the frame buffers faster?&lt;/P&gt;</description>
      <pubDate>Wed, 15 May 2024 22:19:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1866599#M30368</guid>
      <dc:creator>lsrbigfoot</dc:creator>
      <dc:date>2024-05-15T22:19:19Z</dc:date>
    </item>
    <item>
      <title>Re: emWin: Multi-buffering Optimization Question</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1867433#M30409</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/13847"&gt;@lsrbigfoot&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Seeing as this is an inquiry mainly regarding the functionality of a dedicated emWin routine, I would recommend you consult with SEGGER directly about the optimization of this function. With respect to general ways of optimizing from the i.MX RT perspective, I can think of executing from internal SRAM locations, and compiling with -O2 or -O3 compiler optimization levels.&lt;/P&gt;
&lt;P&gt;BR,&lt;BR /&gt;Edwin.&lt;/P&gt;</description>
      <pubDate>Thu, 16 May 2024 20:38:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1867433#M30409</guid>
      <dc:creator>EdwinHz</dc:creator>
      <dc:date>2024-05-16T20:38:50Z</dc:date>
    </item>
    <item>
      <title>Re: emWin: Multi-buffering Optimization Question</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1867477#M30413</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/186731"&gt;@EdwinHz&lt;/a&gt;!&lt;/P&gt;&lt;P&gt;So, I stumbled upon a function under emwin_support.c called 'emWin_memcpy'.&lt;/P&gt;&lt;LI-CODE lang="c"&gt;void *emWin_memcpy(void *pDst, const void *pSrc, long size)
{
  return memcpy(pDst, pSrc, size);
}&lt;/LI-CODE&gt;&lt;P&gt;From the looks of it this call seems like a means of replacing memcpy() with alternative function calls. However,&amp;nbsp;emWin_memcpy does not appear to be called during runtime.&lt;BR /&gt;How can emWin library be re-configured to call&amp;nbsp;emWin_memcpy() during runtime?&lt;/P&gt;</description>
      <pubDate>Thu, 16 May 2024 22:13:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1867477#M30413</guid>
      <dc:creator>lsrbigfoot</dc:creator>
      <dc:date>2024-05-16T22:13:26Z</dc:date>
    </item>
    <item>
      <title>Re: emWin: Multi-buffering Optimization Question</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1869908#M30519</link>
      <description>&lt;P&gt;After reviewing thread, &lt;A href="https://community.nxp.com/t5/i-MX-RT/Imxrt1064-slow-performance-with-Emwin/td-p/1157716" target="_blank"&gt;Imxrt1064 slow performance with Emwin - NXP Community&lt;/A&gt;&amp;nbsp;I was able to figure out a way to implement a custom Frame buffer call (with and without DMA techniques). However, the change did not appear to make a difference in performance (i.e., just as good if not much worse). And yes, I was executing code from ITCM SRAM.&lt;BR /&gt;&lt;BR /&gt;What really appeared to help was moving from Manual Multi-Buffering usage to Multi-Buffering usage that is automatically called by the Windows Manager which appears to depending on the result of GUI_Exec() call (i.e., more on-demand). [&lt;A href="https://wiki.segger.com/emWin_Multi-Buffering" target="_blank"&gt;emWin Multi-Buffering - SEGGER Wiki&lt;/A&gt;]&lt;/P&gt;</description>
      <pubDate>Tue, 21 May 2024 17:19:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/1869908#M30519</guid>
      <dc:creator>lsrbigfoot</dc:creator>
      <dc:date>2024-05-21T17:19:40Z</dc:date>
    </item>
    <item>
      <title>Re: emWin: Multi-buffering Optimization Question</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/2048337#M33540</link>
      <description>Thanks for the link!</description>
      <pubDate>Thu, 20 Feb 2025 15:51:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/emWin-Multi-buffering-Optimization-Question/m-p/2048337#M33540</guid>
      <dc:creator>remibusseuil</dc:creator>
      <dc:date>2025-02-20T15:51:15Z</dc:date>
    </item>
  </channel>
</rss>

