silverlight 画面图形 周期填充 CPU占用逐渐增长??

chmdcr 2011-08-23 11:47:01
问题是这个样子滴
我周期(1s)修改画面上几个图形的fill属性
发现浏览器的CPU占用会随着时间不断的升高 ,刚开始的时候还很正常 但开了1个多小时候浏览器的CPU占用均值是20 峰值能达到50 估计如果一直开下去 还会持续升高 现在已经能确定就是填充惹的货 这到底是为了什么呢??
代码如下

public partial class FlowChart1 : Page
{
DispatcherTimer TimerClock;
RTDBServiceClient client = new RTDBServiceClient();
SolidColorBrush clBlue = new SolidColorBrush(Colors.Blue);
SolidColorBrush clRed = new SolidColorBrush(Colors.Red);
SolidColorBrush clGreen = new SolidColorBrush(Colors.Green);

public FlowChart1()
{
InitializeComponent();
BeginMy();
}

public void BeginMy()
{
TimerClock = new System.Windows.Threading.DispatcherTimer();
TimerClock.Interval = new TimeSpan(0, 0, 1);
TimerClock.Start();
TimerClock.Tick += new EventHandler(TimerClock_Tick);

}
void TimerClock_Tick(object sender, EventArgs e)
{
client.GetSnapValues1Completed += new EventHandler<GetSnapValues1CompletedEventArgs>(client_GetSnapValues1Completed);

client.GetSnapValues1Async(4);
}

void client_GetSnapValues1Completed(object sender, GetSnapValues1CompletedEventArgs e)
{
string strRes = e.Result;
string[] strTemp = strRes.Split(new char[1] { ',' });
int[] da = { Convert.ToInt32(strTemp[0]), Convert.ToInt32(strTemp[1]), Convert.ToInt32(strTemp[2]), Convert.ToInt32(strTemp[3]) };
SetBkColor(da);
//throw new NotImplementedException();
}
public void SetBkColor(int[] arr)
{
int nTemp=0;
for (int i = 0; i < arr.Length; i++)
{
nTemp = arr[i] % 3;
switch(i)
{
case 0:

receive1.Text = nTemp.ToString();
switch(arr[i]%3)
{
case 0:
ChangeColor0(clRed);
break;
case 1:
ChangeColor0(clBlue);
break;
case 2:
ChangeColor0(clGreen);
break;
}
break;
case 1:
receive2.Text = nTemp.ToString();
switch(arr[i]%3)
{
case 0:
ChangeColor1(clRed);
break;
case 1:
ChangeColor1(clBlue);
break;
case 2:
ChangeColor1(clGreen);
break;
}
break;
default:
receive3.Text = nTemp.ToString();
switch(arr[i]%3)
{
case 0:
ChangeColor2(clRed);
break;
case 1:
ChangeColor2(clBlue);
break;
case 2:
ChangeColor2(clGreen);
break;
}
break;
}


}

}

public void ChangeColor0(SolidColorBrush br)
{
valve1.Fill = br;//new SolidColorBrush(color);
valve2.Fill = br;
valve3.Fill = br;
valve4.Fill = br;
}

public void ChangeColor1(SolidColorBrush br)
{

valve5.Fill = br;
valve6.Fill = br;
valve7.Fill = br;
valve8.Fill = br;
}

public void ChangeColor2(SolidColorBrush br)
{
valve9.Fill = br;
valve10.Fill = br;
valve11.Fill = br;
valve12.Fill = br;
valve13.Fill = br;
valve14.Fill = br;
}

}
...全文
50 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kakaniuren 2011-08-25
  • 打赏
  • 举报
回复
可怜的LZ,帮顶。顺便学习.
chmdcr 2011-08-23
  • 打赏
  • 举报
回复
哇靠 又三连发 公司的破电脑 破网络 我的分啊
忘了说 我的浏览器是 IE6

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧