Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf FlowDocument在呈现大量数据时卡住_Wpf_Performance_Controls_Rendering_Flowdocument - Fatal编程技术网

Wpf FlowDocument在呈现大量数据时卡住

Wpf FlowDocument在呈现大量数据时卡住,wpf,performance,controls,rendering,flowdocument,Wpf,Performance,Controls,Rendering,Flowdocument,我曾经有一个性能问题,我通过交换控件的创建顺序来解决这个问题。 这一切都很好,直到最近,我还不知道这是怎么发生的。但现在生成速度仍然足够快(10k记录只需几秒钟),但一旦他完成了代码,cpu就会达到25%,内存使用率也会急剧上升,直到卡住为止 它实际上就在我的最后一行代码之后,之后没有其他事情发生,所以我假设他正在忙于渲染控件。(控件是一个包含UIElements的表) 任何人都可能对什么可能是问题有任何线索或提示?提前谢谢 我的工作流程: -从数据库异步加载数据 -在GUIThread中生成

我曾经有一个性能问题,我通过交换控件的创建顺序来解决这个问题。

这一切都很好,直到最近,我还不知道这是怎么发生的。但现在生成速度仍然足够快(10k记录只需几秒钟),但一旦他完成了代码,cpu就会达到25%,内存使用率也会急剧上升,直到卡住为止

它实际上就在我的最后一行代码之后,之后没有其他事情发生,所以我假设他正在忙于渲染控件。(控件是一个包含UIElements的表)

任何人都可能对什么可能是问题有任何线索或提示?提前谢谢

我的工作流程: -从数据库异步加载数据
-在GUIThread中生成FlowDocument、表及其子元素(UIElements)

-无法进行渲染(我猜)

您是否已加载SP1?VisualStudio 2010?如果第2步需要数据,为什么要异步加载数据?您使用什么控件来显示FlowDocument?您是否使用过VisualTextEnderingMode和VisualTextHintingMode.VS2010,不确定它是否是SP1。我异步加载它,因为这样我会得到一个很好的状态窗口。我使用FlowDocumentScrollViewer来显示,不,我还没有玩过这些,我现在就去看看。谢谢。)SP1提高了我的FlowDocument性能。很明显,我没有SP1(我以为我有),它现在正在安装中,所以我希望它对我有帮助,因为我已经没有想法了。如果你把1K记录作为一个测试,它还会锁定吗?可能是dispatcher挂起,因为FlowDocument是从dispatcher派生的。您可以尝试序列化为字符串(不是从dispatcher派生的),然后使用转换器反序列化。我怀疑这会解决它,但也许值得一试。即使它不能解决问题,它也可能隔离出问题所在。