Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。4,844件3良くない実装なのはとりあえず、無視ください。Gridに多く(7000個)のLabelをaddして表示するのに要する時間と、LabelをTextBoxにした場合に要する時間が、7秒と240秒と約35倍もの差があります。若干の差であれば納得できるのですが、TextBoxはなぜここまで遅くなるのでしょうか。あと、1000個、2000個と増やして計測するとリニアに時間がのびるのではなく、個数が増えると急速に要する時間が増える挙動が納得できないところです。1つ作るとスレッドが1つ増える、とのことです。人によって再現したりしなかったりするのは環境の違いだと思われます。せいかまではわかっていないとの事。向上には寄与しないと思うので再考慮を推奨。個の銅バッジそんな現象があるんですね(驚。Windows7なので違うと思いますが。|1単純にTextBoxの方がLabelより複雑なコントロールだからだと思います。LabelはBorder+ContentPresenter(+TextBlock)という非常にシンプルなビジュアルツリーを取ります。TextBoxは内部にScrollBarやAdornerLayerを含んでいます。文字の描画もTextBlockではなくDrawingVisualを使用しています。ソースコードでもTextBoxはLabelの10倍程度の長さがあります。それぞれの基底を含めても6,7倍にはなるでしょう。上のコードからLabelはMeasureOverrideを実装していないことが分かります。レイアウト面でもLabelの方が高速になると考えられます。少なくとも上記の観点でTextBoxの方がリッチなコントロールなのでパフォーマンスが悪いものと判断できます。それは、わかるのですがここまでの差がでるとは思えないのですが、そう言うものなんですかね...。4:40まあ精々2,3倍に収まる話だと思いますが...。何かTextBoxのみに適用されているStyleなどがあるとか、PCスペックの限界に引っかかっているというような環境の問題ではないかという気がします。4:55確かに2、3倍なら納得できるのですが...。あと、追記したのですが個数と時間がリニアにならないのが不思議でならないところです。5:05リニアに増えないのであればメモリやVRAMなどの容量が問題なのではないでしょうか。私の環境で単純にGrid/TextBoxを7000個生成しても2/5秒で終わりますし...。下記はラベルとテキストボックスの内部定義です。保有しているオブジェクトの容量が圧倒的に違うことが分かると思います。これらの初期により時間が掛かっているのではないでしょうか?ラベルを継承して、テキストボックスとまったく同じ動作をさせるにはどのぐらいの処理が必要かを考えると分かりやすいかも知れません。書式なしテキストの表示や編集に使用できるコントロールを表します。依存関係プロパティを識別します。依存関係プロパティの識別子。依存関係プロパティを識別します。依存関係プロパティの識別子。依存関係プロパティを識別します。依存関係プロパティの識別子。依存関係プロパティを識別します。依存関係プロパティの識別子。依存関係プロパティを識別します。依存関係プロパティの識別子。依存関係プロパティを識別します。依存関係プロパティを識別します。依存関係プロパティの識別子。依存関係プロパティを識別します。クラスの新しいインスタンスを初期化します。キャレットの挿入位置インデックスを取得または設定します。始まる挿入位置インデックス。ボックスに手動で文字を入力した場合に大文字で入力されるか小文字で入力されるかを取得または設定します。