2006年11月16日木曜日

RichTextBoxでスローダウン

 XMLで書いたスクリプトの指示に従ってシリアルポートを読み書きしつつ、内容をRichTextBoxに表示するC#のアプリを書いた。これを一晩中動かしていたら、見るも無残な劇遅になっていた。3台動かして3台とも劇重。タスクマネージャで見ると、起動時に70MB程度のメモリ使用量が250MBに増えている。
 どこかでメモリリークか?シリアルポート開きっぱなしで.NET Frameworkのバグでも踏んだかと思ったが、原因は表示用のRichTextBoxにあった。最大文字数がデフォルトの2G(21億)字のまま。全てのログを破棄せずに抱えたRichTextBoxが肥大化して、バッファ処理が通信速度について行けなくなったらしい。最大文字数を1M字に変えて解決。通信内容は全てlog4netでファイルに書いているので、表示は短くても構わないのだった。

2006年11月11日土曜日

Relaxerバグ修正

 二カ月前に指摘したW3C XML Schema変換に関するバグがようやく修正された。治るのを待っているわけにも行かず、自分用に俺パッチ作って既に解決済みだったので、もうどうでもいいって感じ。次に使うときは、RelaxerじゃなくてTrangで変換しよう。Relaxerの作者はRelaxer5というのを作ってるらしいけど、 RelaxerとかSmartDocが静かに死んでいく様を見てしまったので、よほど良い物でもない限り、手を出すことは無いだろう。

2006年11月1日水曜日

SmartDocサイト消滅

 成果物のドキュメント執筆にSmartDocを使っているのだが、生成されたドキュメントに挿入されているリンクをクリックしてぶったまげた。ドメイン失効でサイト無くなってるじゃんか。ついに作者にも見放されたか。真剣に乗り換え先を考えないといかんな。