Hello Greg,
in your application case you want to display a large graph with 690x300 pixel size with at least 10 FPS per second. That is in fact an ambitious requirement for the STM32F469 with 144 MHz.
What can you do?
Step 1: Clarify the reason why EwProcessSignals() is consuming so much CPU.
EwProcessSignals() is responsable for the execution of all actually waiting postsignal operations. I suppose this can be caused by the data processing in your project. The following questions should clarify the cause:
Q1. Have you configured the Stroked Path view to be Buffered? If yes, the view will draw the path into an internal bitmap during the EwProcessSignals() phase. This would make it understandable why EwProcessSignals() consumes so much time.
Q2. Otherwise, what happens if you make the Stroke Path View invisible (you set the property Visible of the view to false). Does it improve the screen refresh rate?
If not, EwProcessSignals() does spend the time for other processing within your application. This can be the code you have implemented to load the path data.
Q3. Try to comment out or better simplify the code to reload the path. Does the performance improve?
Step 2: Optimize the code to load the path data.
Deleting and completely reloading the path with new data is superfluos. Try to optimize the code according to the explication in the section Evaluate and modify the coordinates stored in the Path Data object. The best would be to use the ShiftNodes() method which removes old entries from the path so you can append new data easily. The method automatically moves all remaining path nodes.
Step 3: Reduce the area of the curve
The time needed to draw a shape depends on the area enclosing this shape. As you have observed, the higher the area the longer the processing. This is because the underlying raster algorithm has to process more pixel rows with a higher shape. This costs CPU time.
Step 4: Disable the anti-aliasing
With the property Quality you can control whether the raster algorithm applies the anti-aliasing or not. However, according to your description you have already tried to do this. With disabled anti-aliasing the performance should be much better.
If this is not the case, the problem seems to be related to other tasks in your application than the drawing of the vector graphic. Can you verify it again?
Best regards
Paul Banach