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

为此,我将自定义类型的可观察集合绑定到图表,如下所示:
// 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秒.其他电话可以忽略不计.
我怎样才能让它更快?
从应用程序的类型来保持它"流畅",我们应该每秒多次刷新.
谢谢你的任何提示!
编辑: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) 我没有在控制台或Visual Studio的输出面板中看到任何输出:
Debug.Write("WriteStatements() was reached")
Run Code Online (Sandbox Code Playgroud)
输出在哪里?
我想要我的阵列,像这样:
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?
在jquery模式对话框中,有没有办法选择按钮作为默认操作(当用户按下回车时要执行的操作)?
jquery网站示例: jquery对话框模态消息
在上面的示例中,当用户按下Esc时,对话框将关闭.我想在用户按Enter时调用"Ok"按钮动作.
我使用log4j的过程是这样的:
它是否正确?如果未定义初始化模块会发生什么?我在哪里可以放置"log4j.properties"文件,以便我根本不必调用propertyconfigurator.configure?如果那是不可能的,可以在每个使用记录器的方法中调用PropertyConfigurator.configure("path_to_file")吗?
我在我的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
我试图使用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) 经过一番挣扎之后,我设法在警告级别4获得了为Windows CE/Mobile构建的智能指针.
我找到了阻止编译错误和警告的最小阻力方法
#define BOOST_NO_MEMBER_TEMPLATES
Run Code Online (Sandbox Code Playgroud)
它究竟意味着什么?我把自己的灵魂卖给了魔鬼吗?当我真正使用这些类型时,一切都会破裂吗?
.net ×2
algorithm ×1
arrays ×1
boost ×1
c# ×1
c++ ×1
frequency ×1
hibernate ×1
hibernate3 ×1
java ×1
javascript ×1
jquery ×1
jquery-ui ×1
latex ×1
log4j ×1
logging ×1
modal-dialog ×1
mschart ×1
performance ×1
php ×1
probability ×1
python ×1
spring ×1
templates ×1
winforms ×1