We are currently using 300 * 300 Filled Path for RPM and the viewport is 800 * 480. Whenever there is a rapid change in the updation of Filled Path there is a performance drop visible stuttering. Similary we tried using Gauge Widget for the same , there also drop in performance is seen .
Anyway to improve this performance drop?
Anyother alternative way instead of FilledPath/Gauge (like Masking)?
Any possibility of smooth transition(animation) if there is jump in input value to Filled Path. i.e. how the animation can be handled for smooth transition within filled path?
have you tried to disable the antialiasing? Also interesting to understand the problem, which target are you using?
Generally, vector graphic is rasterized by using the CPU. The performance is limited by the used HW. Also important, if you are using an OpenGL or WebGL platform package, you should take in account that on these targets the rasterized vector images need to be copied to texture memory. This may impact the performance significatly if the underlying OpenGL/WebGL API is not well optimized.
From your question I understood you want to display a rotating pointer (needle). Have you tried to achieve the same by using the Warp Image view?
IMXRT1050 does not contain OpenGL core. As such the hint in my preceding answer is obsolete. The target is powerful (~600 MHz) and 80 ms time to draw a 300x300 pixel large filled path content seems to be much.
What can we do?
One cause for the problem could be an excessively high number of path segments. The more segments, the more iterations are needed during the rasterization to find out whether a pixel does lie inside/outside of the path. With the Arc Path view you can configure the number of segments. Have you tried to configure this value with e.g. 50?
Other reason for the problem can be related to other screen contents lying e.g. behind the Filled Path view. Every time the Filled Path view is invalidated, all the views intersecting its area need also an update. Can you try to simplify the application, so that it consists of the Filled Path view only? Now no other views should interfere with the update. Is it better?
From your answer I understood, that you are using a color gradient. Gradients in fact will reduce the performance (especially if theye are horizontal on a system with screen rotation = 0/180 degree or vertical on system with screen rotation = 90/270 degree). You have disabled the gradient. Can you verify once more that the properties ColorTL, ColorBL, ColorTR and ColorBR of the Filled Path view all are deinitialized so no gradient is used?
So far few ideas, what you can try out.
Since Bosch booked support contingent, we can also evaluate your project more in detail. May be we can detect the cause of the problem. You can send the project (together with all needed images) to us by using the e-mail email@example.com.
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!