2011-01-18 6 views
1

私は、TextBlockに約100,000文字のHtmlコードの文字列をロードする非常に簡単なプログラムを作成しようとしました。WPFが通常のWindowsフォームよりも遅いかどうかは100倍かそれ以上か?

テキストブロック自体は、私は、WindowsフォームのTextBoxコントロールで同じことをやったScrollViewerの

<ScrollViewer Margin="0,75,0,0"> 
    <TextBlock Name="textBlock1"></TextBlock> 

</ScrollViewer> 

です。

私がドキュメントをスクロールしようとすると、CPUを50%(デュアルコア、したがって1つのコアを100%とします)でCPUを稼働している間に、思うに約0.25秒遅れて、より多くのメモリ(170メガバイト以上) 。

Windowsフォームアプリケーション内のテキストをスクロールすると、プロセッサ使用率を15%以下に維持しながら15mbで安定しています。

これは正常ですか、これを改善するために何かできますか?

答えて

4

代わりに、読み取り専用TextBoxを使用してください。このシナリオでは、TextBlockよりもはるかに優れたパフォーマンスを発揮します。

+0

ここでTextBoxのパフォーマンスが向上するのはなぜですか? – Justin

+1

@Justin TextBoxのパフォーマンスが正確な理由がわかりません。私の答えはテストの結果です。私はTextBoxがレンダリングできる点でそれほど洗練されていないので、TextBoxが素早く、単純なテキストであると仮定します。 TextBlockは、さまざまな色、フォント、サイズ、テキスト装飾などのテキストブロックをレンダリングすることができます。 –

関連する問題