I've been doing some performance testing. Specifically, measuring the time it takes for an entire chart to be rendered. How I measured this is to start a stopwatch, call InvalidateVisual and measure the elapsed time. This would be a time for the entire chart and all indicators? I can then add or remove an indicator or plot and see the total render time change. All good (presumably). It seems to work. So, I found one of my indicators that has a couple of plots that would add around 10ms to render time. I have however already carefully profiled this indicator and the whole of OnRender and OnRenderTargetChanged takes less than 2ms, always. If I measure this by simply unticking 'Visible' in the indicator properties, my overall chart render time drops again by about 10 ms. So, my question is, what else runs and could be accounting for the additional render time? Because it seems that the overhead of OnRender&OnRenderTargetChanged does not reflect the additional time that this indicator consumes after an InvalidateVisual call.
Thanks.
Comment