大量のデータをMSChartを使用して表示するときの描画時間が遅い
C#のFormアプリケーションで5000ほどのデータをChartで描画すると重い時と重くない時があったので忘備録として記述
AddXY()を利用して面グラフと折れ線グラフの2種類のデータを描画していた。
5000のデータを描画するとものすごい遅い。開発用のPCだと実は軽かったが、テスト用のウルトラモバイルPC等で描画すると10分ぐらい描画が止まる。
UIスレッドのReflesh()自体に相当負荷がかかるみたいで使いものにならない。
また、マウスオーバーで出現するツールチップを入れているとものすごく重い。
原因
原因は面グラフとツールチップ。2つが組み合わさる場合の面グラフの描画がものすごく重い。折れ線グラフの7倍ほどだった。
以下秒数
面グラフ
1.2 sec
折れ線グラフ
0.17 sec
ツールチップがない場合
面グラフ
0.0220167 sec
Formのフォントを変更するとFormのサイズも変更される問題
FormプロパティのAutoScaleModeがデフォルトでFontであるため、[MS UI Gothic]から[Meiryo UI]等にFontを変更するとForm全体のサイズが大きくなる
↓
図のサイズが圧縮表示されているorz
よって以下の順番が望ましい
- Formを選択
- プロパティより AutoScaleMode を Noneに変更
- Fontを変更
- プロパティの AutoScaleMode をFontへ戻す
Excelで名前の定義をしてその部分のみ塗りつぶす方法
世の中にはExcelで名前を定義した後、その範囲をひと目でわかるようにしたいという人もいるはず。
条件付き書式を使用し、簡単に実行できた。
条件付き書式の数式
=TRUE
条件に一致するときのセルの書式
(背景色の指定など、セルの書式を自由に変更)
適用先
=(定義された名前)
これだけ。
以下、詳しい手順(例:Excel 2007)
1. "数式"タブで名前の定義
- A1:A10の範囲を"範囲1"という名前にする
2. "ホーム"タブ - スタイル - 条件付き書式 - ルールの管理 を選択
3. 新規ルール - 数式を使用して、"書式設定するセルを決定"を選択し、入力
"次の数式を満たす場合に値を書式設定" の欄に以下を入力
=TRUE
"書式" ボタン - 塗りつぶしタブ より背景色を赤に設定
4. ルール一覧画面で、適用先を設定
=範囲1
適用先が自動的に"=$A$1:$A:$10"と変更されるが、これは挿入や、削除を行うと自動変更されたので心配なし。
Git bash用のComEmu設定
下の記事を見て色々設定してみた。
ConEmu 突っ込んだら Git for Windows の Git Bash がカッコよくなった - てっく煮ブログ
設定が多すぎるためGit bash専用化への忘備録
全体設定変更
ソフトウェア左上のアイコンクリック後 "Settings ... Win + ALT + P" を選択
1. Font変更
Main項目より Font を "Consolas" へ、Font charset を "ANSI" に変更
2. 終了時確認なし
Main - Appearance項目より Generic - Close confirmation のチェックを外す
3. 起動時に前回終了時のタブを開く
Startup項目より Start up options を "Auto save/restore opend tabs" に設定
4. スタートディレクトリを設定
Startup - Tasks項目で "4 {Git bash}" を選択
Startup dir... ボタンよりディレクトリを選択
(例) "C:\Project"をスタートディレクトリ設定した場合の注意点
-new_console:d:C:\Project%ProgramFiles%\Git\bin\sh.exe --login -i
↓ (注) 挿入されたコマンドとの間にスペース( )を入れる事
-new_console:d:C:\Project %ProgramFiles%\Git\bin\sh.exe --login -i
表示テーマ変更
"Terminal.App", "Xterm"がGit bashと色が変わらない上、青色が見やすいためオススメ
ComEmu を再起動
環境
- Windows Vista 32bit
- Git bashインストール済
- "Consolas" フォントインストール済
2014/11/21 追記
4のスタートディレクトリは最新のComEmuでは必要なくなっていた。3の前回終了時のタブを開くときにディレクトリもカレントディレクトリになっており、面倒なことをしなくても良くなってる。
git reset の指定パスにワイルドカード(*)を使う
git reset -- (ワイルドカードを含んだpath)
上記でOK
背景とか説明
git add . の実行後に git reset を行うと全ての登録を削除できる(unstage)
ちなみに git add は普通にワイルドカードを使う事が出来る。
git add (ワイルドカードを含んだpath)
git reset を1ファイルのみ unstage する場合は以下のコマンド
git reset (path)
同じようなファイルを複数除く場合、1つずつ unstage していくのは面倒なのでワイルドカードを使いたい場合
git reset (ワイルドカードを含んだpath)
とすると以下のエラーが出現
fatal: ambiguous argument '(ワイルドカードを含んだpath)' unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
引数がリビジョンか path か不明なため '--' を使ってはっきりさせろということ
Gitのエラー表示が丁寧すぎて便利。ありがとうございます。
StyleCop 4.7の解析でDesignerファイルを簡単に除去
StyleCopをデフォルト設定で使用していると、Visual Studioで自動作成されるDesignerファイルの警告があまりにも多く出現する。Visual Studio ...
非常に邪魔なので除去できないか調査してみるとDesignerファイルの一つ一つに
// <auto-generated />
と記述すれば警告が消えるようだが、面倒すぎたので再調査。
するとStyleCopのデフォルト設定に除外設定が存在することが発覚。 下図右側のAnalyze designer filesを変更してファイル保存すればOK
そういえば設定ファイルを編集するときに StyleCopSettingEditor.exe を実行するけど Settings.StyleCop を実行ファイルへD&Dして開くことはなかなか気づかなかった...