<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Let&#x27;s speed up DrawLine and DrawPixel?]]></title><description><![CDATA[<p dir="auto">The esp32 is a beast and can fill byte arrays in a blink and the ILI is a fast controller when sent tons of data in one batch, as proof is the arkanoid example, and all other bitmap based M5 games.<br />
So I'm thinking that the Display.cpp library is doing things inefficiently. DrawPixel is writing to the SPI (hardware?) byte by byte as we send them.<br />
So a better way to feed the screen would be to batch commands.<br />
Display.BeginCommand();<br />
do the draw thingies and then<br />
Display.Dispatch()<br />
so DrawPixel would only fill a static array and the Dispatch command sends that to the ILI frame buffer.<br />
There are libraries for arduino that do just that.<br />
And if I know it, someone else already ported it over to M5. Google not collaborating, anyone has seen that?</p>
]]></description><link>https://community.m5stack.com/topic/155/let-s-speed-up-drawline-and-drawpixel</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 04:56:46 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/155.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Apr 2018 04:31:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Wed, 11 Apr 2018 20:17:54 GMT]]></title><description><![CDATA[<p dir="auto">Bodmer wrote a nice article on this <a href="https://github.com/Bodmer/TFT_eSPI/issues/121#issuecomment-380245040" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Bodmer/TFT_eSPI/issues/121#issuecomment-380245040</a><br />
When un-commenting Display.h/#define SPI_FREQUENCY  40000000, fillscreen nearly doubles.<br />
80M doesn't work on some M5.</p>
]]></description><link>https://community.m5stack.com/post/813</link><guid isPermaLink="true">https://community.m5stack.com/post/813</guid><dc:creator><![CDATA[daslolo]]></dc:creator><pubDate>Wed, 11 Apr 2018 20:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Tue, 10 Apr 2018 18:08:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/pkourany" aria-label="Profile: pkourany">@<bdi>pkourany</bdi></a> inside user_setup.h comment out the generic setups and uncomment m5. Then most examples work.<br />
Result: same performances as m5 lib.<br />
EDIT: even with SPI_FREQUENCY at 80,000,000 ... weird</p>
]]></description><link>https://community.m5stack.com/post/792</link><guid isPermaLink="true">https://community.m5stack.com/post/792</guid><dc:creator><![CDATA[daslolo]]></dc:creator><pubDate>Tue, 10 Apr 2018 18:08:33 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Sat, 07 Apr 2018 11:41:21 GMT]]></title><description><![CDATA[<p dir="auto">I compiled the first example after making the necessary changes doe the M5Stack without errors.  However, it would not load onto my M5Stack.</p>
]]></description><link>https://community.m5stack.com/post/763</link><guid isPermaLink="true">https://community.m5stack.com/post/763</guid><dc:creator><![CDATA[pkourany]]></dc:creator><pubDate>Sat, 07 Apr 2018 11:41:21 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Fri, 06 Apr 2018 23:57:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dda" aria-label="Profile: dda">@<bdi>dda</bdi></a> how much faster is it?</p>
]]></description><link>https://community.m5stack.com/post/754</link><guid isPermaLink="true">https://community.m5stack.com/post/754</guid><dc:creator><![CDATA[daslolo]]></dc:creator><pubDate>Fri, 06 Apr 2018 23:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Fri, 06 Apr 2018 16:08:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dda" aria-label="Profile: dda">@<bdi>dda</bdi></a> - good point!</p>
]]></description><link>https://community.m5stack.com/post/749</link><guid isPermaLink="true">https://community.m5stack.com/post/749</guid><dc:creator><![CDATA[reaper7]]></dc:creator><pubDate>Fri, 06 Apr 2018 16:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Fri, 06 Apr 2018 16:04:07 GMT]]></title><description><![CDATA[<p dir="auto">@jimit Now all we need is to have that officially included in the M5Stack library.</p>
]]></description><link>https://community.m5stack.com/post/748</link><guid isPermaLink="true">https://community.m5stack.com/post/748</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Fri, 06 Apr 2018 16:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Fri, 06 Apr 2018 15:53:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/reaper7" aria-label="Profile: reaper7">@<bdi>reaper7</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/dda" aria-label="Profile: dda">@<bdi>dda</bdi></a></p>
<p dir="auto">Nice work dda !</p>
<p dir="auto">Reaper those gui slice screens look awesome !! Glad you added M5Stack support and thanks for pointing them out</p>
]]></description><link>https://community.m5stack.com/post/747</link><guid isPermaLink="true">https://community.m5stack.com/post/747</guid><dc:creator><![CDATA[JJ]]></dc:creator><pubDate>Fri, 06 Apr 2018 15:53:27 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Fri, 06 Apr 2018 16:00:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dda" aria-label="Profile: dda">@<bdi>dda</bdi></a> 在 <a href="/post/744">Let's speed up DrawLine and DrawPixel?</a> 中说：</p>
<blockquote>
<p dir="auto">Yep. And I managed to integrate this to the M5Stack library. I am doing tests, but so far so good. I've run a few modified sketches without issue. The TFT_ArcFill example is quite impressive.<br />
.<br />
.<br />
.<br />
There may be others, I'll see what happens when I compile the non-touch examples.</p>
</blockquote>
<p dir="auto">TFT_eSPI is the best lib, we added m5stack support some time ago:<br />
<a href="https://github.com/Bodmer/TFT_eSPI/pull/88" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Bodmer/TFT_eSPI/pull/88</a><br />
btw, m5stack display lib based on the early version of TFT_eSPI<br />
but since then, TFT_eSPI has developed a LOT!!!</p>
<p dir="auto">P.S. for advanced GUI we also added m5stack support for  <a href="https://github.com/ImpulseAdventure/GUIslice" target="_blank" rel="noopener noreferrer nofollow ugc">GUIslice</a>:<br />
<a href="https://github.com/ImpulseAdventure/GUIslice/pull/34" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/ImpulseAdventure/GUIslice/pull/34</a><br />
which uses TFT_eSPI as display driver.</p>
]]></description><link>https://community.m5stack.com/post/746</link><guid isPermaLink="true">https://community.m5stack.com/post/746</guid><dc:creator><![CDATA[reaper7]]></dc:creator><pubDate>Fri, 06 Apr 2018 16:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Fri, 06 Apr 2018 13:35:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/daslolo" aria-label="Profile: daslolo">@<bdi>daslolo</bdi></a> Yep. And I managed to integrate this to the M5Stack library. I am doing tests, but so far so good. I've run a few modified sketches without issue. The TFT_ArcFill example is quite impressive.</p>
<p dir="auto">Replacing the Display.h/.cpp files with the TFT_eSPI library was pretty easy. The Display library has a couple of M5-specific functions, but once added to the driver, everything works well:</p>
<pre><code>void setBrightness(uint8_t); //Specific to M5Stack
void sleep();                //Specific to M5Stack
</code></pre>
<p dir="auto">There may be others, I'll see what happens when I compile the non-touch examples.</p>
]]></description><link>https://community.m5stack.com/post/744</link><guid isPermaLink="true">https://community.m5stack.com/post/744</guid><dc:creator><![CDATA[dda]]></dc:creator><pubDate>Fri, 06 Apr 2018 13:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to Let&#x27;s speed up DrawLine and DrawPixel? on Thu, 05 Apr 2018 21:11:27 GMT]]></title><description><![CDATA[<p dir="auto">It looks like someone already did it<br />
<a href="https://github.com/Bodmer/TFT_eSPI" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Bodmer/TFT_eSPI</a></p>
]]></description><link>https://community.m5stack.com/post/728</link><guid isPermaLink="true">https://community.m5stack.com/post/728</guid><dc:creator><![CDATA[daslolo]]></dc:creator><pubDate>Thu, 05 Apr 2018 21:11:27 GMT</pubDate></item></channel></rss>