问题列表 - 第23894页

如何提高WinForms MSChart的性能?

我用MSChart创建了一些简单的图表(类型为FastLine),并使用实时数据更新它们,如下所示:

MSCharts等级图表

为此,我将自定义类型的可观察集合绑定到图表,如下所示:

                // set chart data source
            this._Chart.DataSource = value; //is of type ObservableCollection<SpectrumLevels>

            //define x and y value members for each series
            this._Chart.Series[0].XValueMember = "Index";
            this._Chart.Series[1].XValueMember = "Index";
            this._Chart.Series[0].YValueMembers = "Channel0Level";
            this._Chart.Series[1].YValueMembers = "Channel1Level";

            // bind data to chart
            this._Chart.DataBind(); //lasts 1.5 seconds for 8000 points per series
Run Code Online (Sandbox Code Playgroud)

每次刷新时,数据集都会完全更改,而不是滚动更新!

通过分析器,我发现DataBind()呼叫大约需要1.5秒.其他电话可以忽略不计.

我怎样才能让它更快?

  • 我应该使用除ObservableCollection之外的其他类型吗?一个阵列可能?
  • 我应该使用其他形式的数据绑定吗?
  • 我可能错过了MSChart的一些调整吗?
  • 我应该使用一组稀疏的日期,每个像素只有一个值吗?
  • 我是否只是达到了MSCharts的性能限制?

从应用程序的类型来保持它"流畅",我们应该每秒多次刷新.

谢谢你的任何提示!

编辑:leppie提出的解决方案:

                this._Chart.Series[0].Points.Clear();
            foreach (var item in value) //iterates over the list of custom objects
            {
                    this._Chart.Series[0].Points.Add(new DataPoint
                    {
                        XValue …
Run Code Online (Sandbox Code Playgroud)

c# performance mschart winforms

9
推荐指数
1
解决办法
5142
查看次数

.NET的Debug.Write()输出到哪里?

我没有在控制台或Visual Studio的输出面板中看到任何输出:

Debug.Write("WriteStatements() was reached")
Run Code Online (Sandbox Code Playgroud)

输出在哪里?

.net

17
推荐指数
2
解决办法
1万
查看次数

将用户名和用户ID放入数组中

我想要我的阵列,像这样:

array("userid"=>"username","1"=>"ganeshfriends","2"=>"tester")
Run Code Online (Sandbox Code Playgroud)

mysql查询这样的东西:

$query = select username, userid from tbluser

$result = mysql_query($query);

while($row = mysql_fetch_array($result)){
    $items = array($row['userid']=>$row['username']);
}
print_r($items);
Run Code Online (Sandbox Code Playgroud)

如何将userid作为密钥和用户名作为val?

php arrays

0
推荐指数
1
解决办法
961
查看次数

jquery-ui对话框:在对话框中创建一个默认操作按钮(Enter键)

在jquery模式对话框中,有没有办法选择按钮作为默认操作(当用户按下回车时要执行的操作)?

jquery网站示例: jquery对话框模态消息

在上面的示例中,当用户按下Esc时,对话框将关闭.我想在用户按Enter时调用"Ok"按钮动作.

javascript jquery jquery-ui modal-dialog

55
推荐指数
6
解决办法
5万
查看次数

log4j属性文件:如何配置?

我使用log4j的过程是这样的:

  1. .properties文件放在项目文件夹中的某个位置
  2. 在初始化方法中,只运行一次,调用PropertyConfigurator.configure("path_to_file")
  3. 在我们需要使用logger的每个方法中,我们定义一个静态记录器变量并简单地调用getLogger(class)

它是否正确?如果未定义初始化模块会发生什么?我在哪里可以放置"log4j.properties"文件,以便我根本不必调用propertyconfigurator.configure?如果那是不可能的,可以在每个使用记录器的方法中调用PropertyConfigurator.configure("path_to_file")吗?

java logging log4j

5
推荐指数
1
解决办法
1万
查看次数

Hibernate中的SessionFactory

我在我的spring项目中使用了hibernate-2.1和"net.sf.hibernate.SessionFactory"类.

现在我切换到Spring 2.5.6.A,他们正在使用hibernate3,我无法在其中找到"net.sf.hibernate"包.

但是我在包"org.springframework.orm.toplink"中找到了SessionFactory类.

hibernate-2.1"net.sf.hibernate.SessionFactory"中的类和"org.springframework.orm.toplink.SessionFactory"中的另一个是同一个吗?

我可以先替换第二个吗?

谢谢,Komal

spring hibernate sessionfactory hibernate3

0
推荐指数
1
解决办法
1208
查看次数

Python - 字典是否很难找到每个字符的频率?

我试图使用O(n)复杂度的算法在任何给定文本中找到每个符号的频率.我的算法看起来像:

s = len(text) 
P = 1.0/s 
freqs = {} 
for char in text: 
    try: 
       freqs[char]+=P 
    except: 
       freqs[char]=P 
Run Code Online (Sandbox Code Playgroud)

但我怀疑这个字典方法足够快,因为它取决于字典方法的底层实现.这是最快的方法吗?

更新:如果使用集合和整数,速度不会增加.这是因为该算法已经具有O(n)复杂度,因此不可能实现必要的加速.

例如,1MB文本的结果:

without collections:
real    0m0.695s

with collections:
real    0m0.625s
Run Code Online (Sandbox Code Playgroud)

python algorithm probability frequency

24
推荐指数
5
解决办法
5131
查看次数

提升智能指针和BOOST_NO_MEMBER_TEMPLATES

经过一番挣扎之后,我设法在警告级别4获得了为Windows CE/Mobile构建的智能指针.

我找到了阻止编译错误和警告的最小阻力方法

#define BOOST_NO_MEMBER_TEMPLATES
Run Code Online (Sandbox Code Playgroud)

它究竟意味着什么?我把自己的灵魂卖给了魔鬼吗?当我真正使用这些类型时,一切都会破裂吗?

c++ templates boost windows-mobile

5
推荐指数
1
解决办法
333
查看次数

如何在latex中获取文档标题的值?

我想知道如何在latex中获取文档标题,以便在文档的其他地方使用.我只是希望能够回应它.

latex

29
推荐指数
3
解决办法
1万
查看次数

.NET中的托管和非托管代码

根据.NET框架,托管代码和非托管代码之间有什么区别?

.net

3
推荐指数
1
解决办法
417
查看次数