cancel
Showing results for 
Search instead for 
Did you mean: 

Partial Buffer draws only 20 lines of pixels at a time

MSecr.1
Associate II

Hello

I'm working on a 320x240 SPI LCD using partial frame buffer strategy

The number of blocks is configured to 2 and the block size is configured to 19200 bytes.

The problem is that flushFrameBuffer draws only 240x20 pixels at a time, however I would expect it to draw 240x40 at a time (240x40x2(16-bits) = 19200 bytes)

Does anybody know if that's a TouchGFX limitation, or it can be changed ?

3 REPLIES 3

Hello @MSecr.1,

Yes, breaking the height into block of 20px is currently a limitation of TouchGFX, and cannot be changed by the users.

Best regards,

Mohammad MORADI
ST Software Developer | TouchGFX
codebuk
Associate III

Hi,

Thanks for the clarification. I note that this has been raised earlier - maybe it should be documented - I also wasted some time on this.

https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/partial-frame-buffer-4-15-maximum-transmitted-lines/m-p/175466

Can you advise what is the optimal maximal allocation for partial buffers?

Is it 20 x bytes_per_pixel * display_width?

What is the optimal number of buffers?

Dan

 

 

 

 

 

 

 

I apologize for the inconvenience. We will definitely add this point to the documentation of Partial Framebuffer. 

The size of the block is as what you have stated, but about the number of buffers, it depends on your use case. 2 is the minimum, and we usually use 3 in the TouchGFX Board Setups that are available in TouchGFX, and if you have enough RAM then maybe 4 would be better. 

I hope this helps you!

Mohammad MORADI
ST Software Developer | TouchGFX