• AVR Freaks

AnsweredHot!GFX, problem with multilayer, single buffer screen (PIC32MZDA with DDR)

Author
ivan.gioia
New Member
  • Total Posts : 8
  • Reward points : 0
  • Joined: 2019/08/30 05:53:27
  • Location: 0
  • Status: offline
2019/09/16 01:43:51 (permalink)
0

GFX, problem with multilayer, single buffer screen (PIC32MZDA with DDR)

Hi all,
I am having some issues drawing a single buffer double layer screen. 
The display size is 480x272 and I am working with 90° Orientation.
I first show a screen with 3 layers that is shown correctly (actually I see for a fraction of second the first layer which should not be visibile until later) and then switch to another screen, which is the one I am having problems with. Simply, the second layer doesn't show up. The second layer background is set to fill and its scheme background has an alpha of 0.
Everything works with double buffering, but I want to use a single buffer layer since the drawing is much faster.
I am using Libaria and frame buffers in the internal 32MB DDR.
Any idea why the second layer wouldn't draw?
Thank you,
Ivan
#1
Ed@Microchip
Super Member
  • Total Posts : 152
  • Reward points : 0
  • Joined: 2017/04/06 09:39:29
  • Location: 0
  • Status: offline
Re: GFX, problem with multilayer, single buffer screen (PIC32MZDA with DDR) 2019/09/16 08:57:48 (permalink) ☼ Best Answerby ivan.gioia 2019/09/16 10:41:05
0
Is this with Harmony 2 or Harmony 3? We typically don't do single-buffered, multiple-layer projects in PIC32MZ DA since the advantages of double-buffering in terms of visual quality usually outweighs the slower rendering time. What kind of update rates do you get with double-buffering, what's your target? Maybe you can optimize your project to speed up the rendering time - are you using the GPU? Can you use RAW/RAW RLE images or pre-process images for faster rendering?
#2
ivan.gioia
New Member
  • Total Posts : 8
  • Reward points : 0
  • Joined: 2019/08/30 05:53:27
  • Location: 0
  • Status: offline
Re: GFX, problem with multilayer, single buffer screen (PIC32MZDA with DDR) 2019/09/16 10:55:26 (permalink)
0
Hi Ed,
I am working with Harmony v2.06. Not really a matter of refresh rate at this stage, but just the time that is needed to draw and show the screen for the first time (takes around 1 sec after the event that triggers the screen change).
GPU is used, 2 arc widgets and 3 large images + 1 big button with image are dislayed on the screen. 1 image is in png format, the others are RLE. Image format is 24bits and the output format is RGBA8888.
I will try to preprocess the images (not feasible with the png though right?) and let you know about performance improvements.
Thanks for the suggestions!
Ivan
#3
Ed@Microchip
Super Member
  • Total Posts : 152
  • Reward points : 0
  • Joined: 2017/04/06 09:39:29
  • Location: 0
  • Status: offline
Re: GFX, problem with multilayer, single buffer screen (PIC32MZDA with DDR) 2019/09/16 11:01:26 (permalink)
5 (1)
Pre-processing should work with PNGs, given enough heap. Pre-processing will add some delay at boot since it will decode the images, but it should make transitions to screens with images faster, specifically for multi-screen applications or if you are dynamically showing images at run-time, those images should show up faster.
 
 
#4
ivan.gioia
New Member
  • Total Posts : 8
  • Reward points : 0
  • Joined: 2019/08/30 05:53:27
  • Location: 0
  • Status: offline
Re: GFX, problem with multilayer, single buffer screen (PIC32MZDA with DDR) 2019/09/17 00:33:48 (permalink)
0
Ed,
the performance improved at a definetly acceptable level. I had to set the output mode of the preprocessed PNG image to ARGB8888 to make it work, which makes sense.
It is still unclear why the second layer wouldn't show when using single buffer, but this is no priority now.
Thanks for your suggestions!
#5
Jump to:
© 2019 APG vNext Commercial Version 4.5