1

我有一个 Silverlight 应用程序,它为用户提供了一个非常简单的表单来填写。标签 (TextBlocks) 和字段 (TextBoxes) 如您所料在网格中布局。我们遇到了一个问题,当一个 TextBlock 的 Opacity 设置为 0 时,应用程序会不断地重新渲染自己,并通过打开 enableRedrawRegions 参数来验证(顺便说一句非常有用)。这种不断的重新渲染会使 CPU 使用率高达 85% 左右,即使它只是一种静态形式。我们从将 Opacity 设置为 0 更改为将 Visibility 设置为 Collapsed 并固定 Grid RowDefinition 上的高度以免改变布局,这停止了这种行为,CPU 现在再次处于 0%。

至少在 PC 上是这样……但是在 Mac 上,只要我打开这个表单,我的 CPU 使用率就会达到 24%(在 8 核 Mac Pro 上),并且无论如何都不会回到这个值以下。有没有其他人见过类似的行为?有什么解决办法吗?应用程序本身根本没有做任何事情,只是等待用户输入......

卡尔

4

1 回答 1

0

我在mac上看到过类似的行为,但还没有弄清楚原因。当页面什么都不做时,我的图片库视图只需要大约 20% 的 cpu。有时,当用户进入不同的页面并返回时,cpu 会下降,但没有可以重现的清晰模式。在 windows 上不存在这个问题。

于 2009-12-12T08:12:35.330 回答