2020-04-15 09:40 PM
How to improve the rendering speed of graph widget, especially when there are many dots?
Solved! Go to Solution.
2020-04-15 11:52 PM
That really depends on what you're trying to do. And you're not providing a lot of info here, so i'll have to guess. The "Graph widget" is not really an official, optimized widget. It's something that was used in a demo at some point and has gotten a life of its own :) So there are a few things to consider here.
Generally, the "Graph" uses the Canvas/Shape renderer which is calculated by CPU solely.
1) If you're targeting a very live graph with lots of updates or fast updates, this will be heavy on the CPU
2) If you're targeting a graph that only updates a small, new segment of the graph at certain intervals (like EEG / medical applications) then it will perform a lot better of course because you're only calculating a little at a time.
3) You could maybe use Cacheable Container to your advantage where you render a container (with graph) to a piece of memory and use that as input to a dynamic bitmap which can then be transferred using DMA2D at no cost to CPU.
So what're you trying to do? :)
/Martin
2020-04-15 11:52 PM
That really depends on what you're trying to do. And you're not providing a lot of info here, so i'll have to guess. The "Graph widget" is not really an official, optimized widget. It's something that was used in a demo at some point and has gotten a life of its own :) So there are a few things to consider here.
Generally, the "Graph" uses the Canvas/Shape renderer which is calculated by CPU solely.
1) If you're targeting a very live graph with lots of updates or fast updates, this will be heavy on the CPU
2) If you're targeting a graph that only updates a small, new segment of the graph at certain intervals (like EEG / medical applications) then it will perform a lot better of course because you're only calculating a little at a time.
3) You could maybe use Cacheable Container to your advantage where you render a container (with graph) to a piece of memory and use that as input to a dynamic bitmap which can then be transferred using DMA2D at no cost to CPU.
So what're you trying to do? :)
/Martin
2020-04-17 01:16 AM
Thank you for your reply. I am using the graph widget from the "TouchGFX Demo 1 v1.2.0" project imported by designer 4.13. At the same time, the cache container has not been used.
Has the graph widget in this project been optimized? If not, where can I get the optimized graph widget? thank!
2020-04-17 01:17 AM
Thank you for your reply. I am using the graph widget from the "TouchGFX Demo 1 v1.2.0" project imported by designer 4.13. At the same time, the cache container has not been used.
Has the graph widget in this project been optimized? If not, where can I get the optimized graph widget? thank!
2020-04-17 01:49 AM
There's no optimized graph widget. Applications are so specific in what they're trying to do it's impossible to create a generic widget that can do everything.
The Graph is not an official widget - The one in the demo is just a sample usage of the Canvas Widget Renderer to do e.g. a graph.
You didn't tell me what you're trying to do :)
/Martin