首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

|ZYCWPF| 开源的WPF-Find-Replace-Dialog小弟我发现当文档内容大的时候查询替换非常之慢,怎么进行优化呢 多谢

2012-12-27 
|ZYCWPF| 开源的WPF-Find-Replace-Dialog我发现当文档内容大的时候查询替换非常之慢,如何进行优化呢 谢谢h

|ZYCWPF| 开源的WPF-Find-Replace-Dialog我发现当文档内容大的时候查询替换非常之慢,如何进行优化呢 谢谢
http://www.codeproject.com/Articles/173509/A-Universal-WPF-Find-Replace-Dialog

测试文件查的和替换还是很快的,
但是如果是在一个内容很多,很复杂的RichTextBox做替换的话会很慢

要怎么进行优化呢?

谢谢
[解决办法]
别用WPF就是最好的优化

|ZYCWPF| 开源的WPF-Find-Replace-Dialog小弟我发现当文档内容大的时候查询替换非常之慢,怎么进行优化呢 多谢
[解决办法]
自己看代码 慢慢研究吧
[解决办法]
我用performance analyzer看了下,主要耗时在RichTextBoxAdapter.GetPoint方法。
这个方法里用了TextRange.Text,等于每次都从文档开头开始提取一个纯文本字符串,这在TextPoint指向比较后面的时候是很慢的。

我试了改成用TextPoint.GetNextInsertionPosition方法,这个是比较快速的。但是有时候不能定位到很准,等我再看下。

你也可以自己研究下,参看这篇文章:
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/a2988ae8-e7b8-4a62-a34f-b851aaf13886#search_text
[解决办法]
全部替换不能循环去调用每次替换的方法,事实上全部替换不用挨个定位光标,可以冻结住编辑器,一次性替换完成,再设置回来。

热点排行