Newer
Older
TIASShot / docs / 06_TEST / TEST_02_性能評価計測結果.md

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

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

計測条件 (Conditions)

  • 計測手段: 実機 MEMMONITOR(メモリ観測ウィンドウ+プレビュー計測).
  • カメラ: IScam(ImagingSource DFK 23UX249).
  • ビルド: Debug|x64MEMMONITOR 有効・WHITEBOARD 無効.
  • 副モニタ(セカンダリディスプレイ): ON(F9 トグルは使わず ON のまま).
  • サンプリング: 500ms 間隔.メモリ主指標は private_MBProcess.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(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_count68〜95 / 780〜855(単調増加なし
  • リークなし=天井一定.撮影のたびに 452〜509 MB へ跳ねるが確定的に解放され,包絡線は水平.180 秒のプレビュー放置区間でも上昇しない(プレビュー経路リーク修正の裏付け).
  • グラフはのこぎり波になるが,見るべきはピーク包絡線のトレンド(PLAN_04 の「結果の読み方」参照).

プレビュー性能(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 を重ねた比較表・グラフをここにまとめる.