【问题标题】:Multithreading TeeChart & Media Element多线程 TeeChart 和媒体元素
【发布时间】:2009-08-21 09:53:45
【问题描述】:

我在 WPF 中工作,使用媒体元素和 WPF TeeChart(由 Steema 提供)。这两者都是可见的,并且会同时更新 - 在播放视频时,图表会定期更新,以显示与视频中当前位置相关的数据。

问题是 TeeChart 需要很长时间才能更新,这会阻止视频,从而导致播放变得不稳定。

我对多线程进行了一些试验,试图找到解决方案,但到目前为止还没有运气。我无法指定视频或图表何时更新,事实上我怀疑 WPF 的工作方式是任何 WPF 元素总是被绘制在一起。

谁能想到我可以做些什么来解决这个问题?目前我所能想到的就是用 Win32 等效项替换其中一个或两个元素并适当地托管它,但出于多种原因,我将其作为最后的手段。

【问题讨论】:

    标签: wpf multithreading mediaelement teechart


    【解决方案1】:

    以防万一您仍未解决该问题或供将来参考,您可以按照此处“实时图表”文章中的说明优化 TeeChart 的性能:

    http://www.teechart.net/reference/articles/index.php

    这是一篇 TeeChart VCL 文章,但其中大部分内容也适用于 TeeChart for .NET

    还要注意 .NET 的 TeeChart 不是线程安全的。您需要给图表足够的时间来绘制自己。您可以使用 sleep 调用来完成此操作,以便图表绘制在给定时间内完成,或者使用具有 AutoRepaint 属性的异步绘制技术,例如:

    tChart1.AutoRepaint = false;
    Random r = new Random();
    for(int i = 0; i <500; i++)
    {
          tChart1[0].Add (i,r.Next(800),Color.Blue);
    }
    tChart1.AutoRepaint = true;
    tChart1.Refresh(); 
    

    【讨论】:

      猜你喜欢
      • 2013-10-18
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多