btashton commented on pull request #1778:
URL: https://github.com/apache/incubator-nuttx/pull/1778#issuecomment-692200063


   @patacongo Here is what the it looks like when NXGraphics writes
   
![image](https://user-images.githubusercontent.com/173245/93116730-87024900-f672-11ea-95fc-c6760b2825e2.png)
   
   What we see on the left is the setup of the region it is going to write 
which is a single row at 0x00c5.  The first bit is spaced out because it sends 
a command byte and then has to toggle the DC line and send parameter bytes.  I 
could improve the ili9341 driver to send the parameters in one transfer which 
would improve things quite a bit in that section.
   
   Then there is a gap where I'm guessing it is byte swapping the buffer.
   
   Then we see two DMA transfers of 0xdcdc grams.  This is actually one 
transfer but it has to be split because of the nRF SPI driver which only allows 
0xff bytes to be sent at a time unless you use the DMA list feature which I 
dont quite understand.  We are still limited by the size of the swap buffer 
anyway. 
   
   Then we see the start of the next row where we send the same selection 
region for writting just one row down. This row did not need a new setup to 
happen if we had just extended the region in the previous setup.
   
   Now I understand there are complexities here.  If we are going to clear the 
background we are not going to allocate a whole buffer for the entire display, 
but if I was going to draw a thin rectangle from the top to the bottom of the 
screen this would 240 full row transactions just to send 480 bytes of data.
   
   Here is an example of drawing a skinny rectangle:
   
![image](https://user-images.githubusercontent.com/173245/93118087-98e4eb80-f674-11ea-8ee2-4e3273cfc642.png)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to