[fix] プレビューメモリリークと Lucam クロススレッド GDI クラッシュ・副モニタ描画飢餓を修正
PLAN_03 の原因1〜3(ShowImage のフルコピー Bitmap リーク・表示バッファの
取りこぼし未 Dispose・PreviewMonitor.UpdateImage の上書き前未 Dispose)を修正.
実機検証で発覚した派生2件も解決:
- Lucam の二重バッファをコールバックスレッドで Dispose する経路が UI の描画と
  衝突するクロススレッド GDI クラッシュ → 表示バッファを UI 所有コピーに統一し
  入力 Bitmap の所有権を呼び出し側に統一(IScam は ToBitmap を using で破棄)
- 校正後にコールバックスレッドが高速化し毎フレーム Invalidate が飢餓を招く
  副モニタ描画崩壊 → 両プレビューを自ペースの UI タイマー駆動に統一し
  コールバックスレッドからの Invalidate を全廃

あわせて MEMMONITOR 限定のプレビュー計測(各段 FPS・コピー/描画時間・
GDI/handle 数・画像サイズ・校正/撮影/F9 イベントの CSV 化)を追加(Release 無影響)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 59323d1 commit 252cde3c7b673c454731a4dae0bbbd7d9940cc15
Rinto Hasegawa rintoHasegawa (Rinto Hasegawa) authored 4 days ago
Showing 14 changed files
View
CLAUDE.md
View
TIASshot/Cameras/CameraBase.cs
View
TIASshot/Cameras/IScam.cs
View
TIASshot/TIASshot.csproj
View
TIASshot/UI/Form1.Designer.cs
View
TIASshot/UI/Form1.MemMonitor.cs
View
TIASshot/UI/Form1.cs
View
TIASshot/UI/MemoryMonitorForm.Designer.cs
View
TIASshot/UI/MemoryMonitorForm.cs
View
TIASshot/UI/PreviewMonitor.Designer.cs
View
TIASshot/UI/PreviewMonitor.cs
View
TIASshot/UI/PreviewProfiler.cs 0 → 100644
View
TIASshot/UI/TimedPictureBox.cs 0 → 100644
View
docs/PROGRESS.md