C#+WPFチューニング戦記

C#とWPFで高速なコードと最適なシステムを書くためにやってきたいろいろな事を書いてみます。.NET Frameworkのソースコードを読み解きましょう。なお、ここに書かれているのは個人の見解であって何らかの団体や企業の見解を代表するものではありません。

2014-12-01から1ヶ月間の記事一覧

仮想化しないでも速いCanvasの作り方

XAML Advent Calendar 2014 - Qiita XAML Advent Calendar 2014 - Qiita こちら向けの記事です。1日遅刻しました。ごめんなさい。 あちこちで書いて回っておりますがPanel.Childrenがとても重いのです。 遅い原因はこちら。 http://referencesource.microsof…

FreezableにDataContextが伝播する仕掛け(その2)

素早く実証コードを書いてみました。 ViewModelとしては概ねこんな感じ using System; using System.Windows; using System.Windows.Input; using System.Diagnostics; namespace WpfApplication1 { class MainWindowViewModel : DependencyObject { public …

FreezableにDataContextが伝播する仕掛け(その1)

依存関係プロパティ(継承タイプ)を変更しますと。 このあたりをスタート地点としまして。http://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/DependencyObject.cs,1243長い処理を経てここに到達します。http://referencesource.micro…

ベジェ曲線のHitTest

WPFにあまり任せてはいけないのがベジェ曲線のHitTestです。 几帳面で抜け目ありませんが、きわめて低速です。真面目に方程式を解く手法ももちろんあるのですが、実はあんまり工夫しないでも、そこそこに優良なコードは書けます。 概ねこんなノリです。動か…

MSを16倍出し抜くなんとか2回目

Msを16倍出し抜くwpf開発2回目 先日やった勉強会資料2回目です。 簡素な仮想化パネルの元資料です。

参加したくて

http://qiita.com/advent-calendar/2014/xamlこれに参加したくて、思わずTwitterアカウントを拵えてしまいました。 @proprogrammer0 ああ、やってしまいましたな。という気分です。

Microsoftを16倍出し抜くC#+WPF開発手法(1回目)

Msを16倍出し抜くwpf開発1回目 from cct-inc 少し前にやった、勉強会の資料です。

続・ハッシュコードをバラけさせる意味はあるのか

というわけで、.NET Frameworkのご本尊様を調べてみたのですが。http://referencesource.microsoft.com/#mscorlib/system/collections/generic/dictionary.cs,290このコードを見る限り、GetHashCode()は別にバラケさせる必要はありませんね。 コスト比皆無で…

ハッシュコードをバラけさせる意味はあるのか

随分間が空きました。やっとプロジェクトが節目っぽいので再開します。ハッシュコードについてよく言われることがあります。また、条件と言われるものがあります。 同じインスタンスは常に同じ値を返さなければならない 異なるインスタンスが同じ値を返すこ…