# 性能評価計測結果 (Performance Evaluation Results)

3 バージョン（v1.6 / v1.7 / 現行）の実機 MEMMONITOR 計測結果をまとめる．計測の目的・手段・移植方針・指標定義は [PLAN_04_性能評価計測計画](../03_PLAN/PLAN_04_性能評価計測計画.md) を参照する．

## 計測条件 (Conditions)

- 計測手段: 実機 MEMMONITOR（メモリ観測ウィンドウ＋プレビュー計測）．
- カメラ: IScam（ImagingSource DFK 23UX249）．
- ビルド: `Debug|x64`，`MEMMONITOR` 有効・`WHITEBOARD` 無効．
- 副モニタ（セカンダリディスプレイ）: **ON**（F9 トグルは使わず ON のまま）．
- サンプリング: 500ms 間隔．メモリ主指標は `private_MB`（`Process.PrivateMemorySize64`）．

## 基準プロトコル (Reference Protocol)

現行で実測した 1 本の記録を基準とし，**撮影・校正の秒数を全版で揃える**．撮影は**単発撮影（1 枚撮影）の繰り返し**．

| 時刻 | 動作 |
| --- | --- |
| 0〜32 秒 | プレビュー放置（副モニタ ON） |
| 32.5〜36.1 秒 | 校正 1 回（処理時間 約 3.5 秒．アプリ側処理で固定） |
| 62 / 92 / 123 秒 | 単発撮影（約 30 秒間隔で 3 回） |
| 123〜303 秒 | プレビュー放置（約 180 秒．プレビュー経路リークの観測区間） |
| 303 秒 | 単発撮影 1 回 |
| 約 348 秒 | 停止・CSV 保存 |

旧版（v1.6 / v1.7）もこの秒数・順序・撮影間隔に合わせて再現し，同じ時間軸で 3 版を重ねて比較する．

## 現行バージョンの結果 (Current Version)

データ: [data/perf_current.csv](data/perf_current.csv)（689 サンプル・約 348 秒）．

### メモリ（保存経路 S1・プレビュー経路 S2）

| 指標 | 値 |
| --- | --- |
| `private_MB` アイドル時ベースライン | 約 150 MB |
| `private_MB` 校正後の定常包絡線 | 約 180〜200 MB（約 348 秒を通じて**水平**） |
| 撮影時の一時ピーク | 452〜509 MB（**1〜2 秒で ~180 MB に完全復帰**） |
| 終端（348 秒）の `private_MB` | 約 182 MB（校正後ベースラインと同一） |
| `gdi_objects` / `handle_count` | 68〜95 / 780〜855（**単調増加なし**） |

- **リークなし＝天井一定**．撮影のたびに 452〜509 MB へ跳ねるが確定的に解放され，包絡線は水平．180 秒のプレビュー放置区間でも上昇しない（プレビュー経路リーク修正の裏付け）．
- グラフはのこぎり波になるが，見るべきはピーク包絡線のトレンド（[PLAN_04 の「結果の読み方」](../03_PLAN/PLAN_04_性能評価計測計画.md)参照）．

### プレビュー性能（S3）

| 指標 | 値 |
| --- | --- |
| `main_copy_ms`（FastClone コピー時間） | 大半 2.3〜2.8 ms（平均 約 2.6 ms．周期的に 5〜6 ms のスパイク） |
| `callback_fps`（ShowImage 実効レート） | 約 30（カメラレート律速） |
| 本モニタ実描画 FPS | 約 19 で一定 |
| 副モニタ実描画 FPS | **約 19 で一定（飢餓なし）** |

- FastClone により毎フレームのコピーが約 2.6 ms．
- 校正完了後も副モニタが約 19fps を維持＝両プレビューのタイマー駆動化により副モニタ描画飢餓が起きない（旧版の校正後 ≈2fps 飢餓と対比になる想定）．

### 注記（誤読を避けるため）

- 撮影サンプル行（例 61.7 秒）で `callback_fps` ≈2.5・FPS ≈1 に落ちるのは，撮影が UI を約 1.5 秒同期ブロックし 500ms サンプラが 1 コマ捉えたもの．**1 サンプルだけの谷で即回復**＝正常挙動．
- 30〜32 秒（校正直前）の一時的な FPS 低下はチャート検出の立ち上がりによる一過性のもの．

## v1.7 の結果 (v1.7)

未計測（`bench/v1.7` への計測スカフォールド移植後に基準プロトコルで再現し追記する）．

## v1.6 の結果 (v1.6)

未計測（`bench/v1.6` への計測スカフォールド移植後に基準プロトコルで再現し追記する）．

## 3 版比較 (Comparison)

3 版が揃い次第，同じ時間軸で `private_MB` 包絡線・`main_copy_ms`・副モニタ FPS を重ねた比較表・グラフをここにまとめる．

## 関連 (Related)

- 計測計画・指標定義・移植方針: [PLAN_04_性能評価計測計画](../03_PLAN/PLAN_04_性能評価計測計画.md)．
- 自動ベンチによるメモリ計測（別手段・参考）: [TEST_01_メモリ修正効果計測](TEST_01_メモリ修正効果計測.md)．
</content>
