gpt4 book ai didi

silverlight - 测量 Silverlight 图表加载时间

转载 作者:行者123 更新时间:2023-12-04 02:42:51 28 4
gpt4 key购买 nike

我正在尝试测量不同 Silverlight 图表库(例如 Silverlight Control Toolkit、Visifire、Telerik)在屏幕上加载所需的时间。

我的问题是我只能测量加载控件和开始在屏幕上绘制之前的时间,但是由于动画效果(例如点淡入),渲染需要更多时间。

我有没有机会设置一些自动检测渲染何时结束的方法?我的问题是我只在 Silverlight Framework 元素上找到了 Loaded 事件处理程序,以挂接它只通知何时开始呈现。

我目前用于 Silverlight Control Toolkit 的示例代码如下:

public void Init()
{
Chart chart = new Chart(); // Init chart object
DataPointSeries series;
(...)// Init series, add lots of points, set data binding
Chart.Series.Add(series); // Add series to chart
chart.Loaded += new RoutedEventHandler(Chart_Loaded);
LayoutRoot.Children.Add(chart);
StartTimer(); // Start timer and wait for control to load
}

public void Chart_Loaded(object sender, RoutedEventArgs e)
{
StopTimer(); // Problem: rendering just started at this point, hasn't finished yet!
}

最佳答案

我为一些图表库找到了一些解决方法,而对于其他一些我没有找到的解决方法。以下是我可以连接的事件以获得真实的测量时间:

登打士图表:

Chart chart;
Chart.ImageReady += new ImageDownloaded(Chart_ImageReady); // Stop timer at this event

Silverlight 工具包:
Chart chart;
DataPointSeries series;
Chart.Series.Add(series);
Chart.Series[0].Loaded += new RoutedEventHandler(Chart_Loaded); // Stop timer at this event

Steema TeeChart:
TChart chart;
chart.AfterDraw += new PaintChartEventHandler(chart_AfterDraw); // Stop timer at this event

Telerik RAD 图表:
RadChart chart;
chart.DefaultView.ChartArea.Loaded += new RoutedEventHandler(Chart_Loaded); // Stop timer at this event

Visifire
Chart chart;
chart.AnimationEnabled = false; // Turn off animation
chart.Loaded += new RoutedEventHandler(Chart_Loaded); // Stop timer at this event

我无法连接到在正确时间触发的事件的唯一库是 Infagristics Netadvantage。

关于silverlight - 测量 Silverlight 图表加载时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1578774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com