217 views
in GUI Development by
Hello,

the blur effect for the filter image or filter screen views either does not work on the RA6M3G Evaluation kit or simply makes the whole application freeze.
Other image effects like warping and tints work fine.

It is not a huge issue but out of curiosity: why doesn't the blur work on this microprocessor?

1 Answer

+2 votes
by
 
Best answer

Hello Tinus,

the blur effect should work on RA6M3G. Let me analyze the possible error sources:

1. Does the blur effect work in the Prototyper? If not, the Filter view is probably not configured correctly.

2. If you observe the issue on the target system only, do you get any error messages on the Console? Possibly an 'out of memory error'? The blur effect requires memory to store the blurred image contents temporarily while the algorithm is processing it. The larger the source image, the more memory is needed.

Best regards

Paul Banach

by

Hi Paul,

the blur does work on the prototyper. Both the "Filter Screen" and "Filter Image" blurs properly.
However:

  • "Filter Screen" simply makes it so nothing is blurred on target hardware.
  • "Filter Image" makes it so that the application crashes when loading into the page with the filtered image (on large images!)

I tried using a much smaller bitmap to blur, and that didn't crash the application on hardware; so I suppose I ran out of memory with the larger image (480x272). The maximum size seems to about 90x90 pixels before it crashes. For instance, the WidgetSet::MiniGaugeTrackMedium resource (128x114 resolution) with a blur radius of 1 still makes the system run out of memory. 
Sadly I do not have acces to an RS232 MikroBus adapter at the moment so I cannot be 100% sure.

It's still odd that Filter Screen does not seem to work, although if it did I think it might also make my system run out of memory considering the screen resolution. 

Thanks for answering! If you do happen to know why screen filtering might not work, please tell me. I'm satisfied with this answer regardless 

by

Hello Tinus,

It's still odd that Filter Screen does not seem to work, although if it did I think it might also make my system run out of memory considering the screen resolution. 

unfortunately Filter Screen also requires additional memory. Even more memory because it also needs a temporary off-screen frame buffer with the content of the screen background. This buffer acts as the 'source image' to blur. How much memory is needed is in fact not as easy to calculate. Assuming you want to filter an area of 100x100 pixel then the algorithm would allocate approximately:

1. 100x100x4 Bytes (~40 kB) for a temporary off-screen frame buffer containing the screen area to filter. This will act as source image.

2. (100+B*2)x100x4 for the intermediate buffer. B is blur radius. With blur radius = 8 it would occupy ~45 kB.

The intermediate buffer is used to store the source image blurred row-wise. Then the intermediate blurred rows are blurred again, now columns-wise, and the results are alpha-blended into the final (destination) frame buffer. This approach is optimized for performance.

Well, blur is an expensive filter. According to the above estimation the blur would require temporarily ~85 kB RAM for the 100x100 pixel area. Now the interesting question, how much RAM is available in RA6M3G system? Unfortunately this question is beyond my knowledge. I have to ask my colleagues.

A hint: using the Memory (RAM) Usage window, you can observe the RAM usage at the prototyping time.

Best regards

Paul Banach

by
Hello Paul,

thanks a lot for your extensive answer!
The RA6M3G Evaluation Kit that I'm using has 640kB of RAM.
Now, using the RAM usage window, the estimated RAM usage when opening the screen with the filter applied over the whole screen and a blur radius of just 1 was 1050 kB!

Even when the filter is reduced to 0 blur radius and no tint (no visual effect), creating this screen filter alone uses 543 kB. Indeed, reducing the size of the screen filter greatly reduced estimated RAM usage.

It seems blurring is possible when used sparingly, screen filters also will have to be used with care considering the RAM limitations. Thanks again for answering.

Kind regards

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...