Thanks, objo! I did some more tests based on your suggestions.
I think all of this means that optimizing the existing code just can't make that much of a difference. So what about switching to retained graphics mode? My tests don't give any data about that. Is there some way to test the concept without doing a major rewrite first?
-
Enabled DisconnectCanvasWhileUpdating. I couldn't see or measure any change in performance.
-
Implemented a FontFamily cache (just like the brush cache). No change.
-
Eliminate all calls to TextBlock.Measure() by commenting out the whole if{} block in DrawText(). Still no change!
-
Turn off all ticks and tick labels on the axes. Still no change???
I think all of this means that optimizing the existing code just can't make that much of a difference. So what about switching to retained graphics mode? My tests don't give any data about that. Is there some way to test the concept without doing a major rewrite first?