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.
Hi Paul,the blur does work on the prototyper. Both the "Filter Screen" and "Filter Image" blurs properly.However:
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
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.
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!