Skip to content

Latest commit

 

History

History
74 lines (56 loc) · 2.39 KB

File metadata and controls

74 lines (56 loc) · 2.39 KB

Performance

MiniSnip aims to minimize resource usage while idle and reduce work during interaction. This page documents the measurements collected for version 1.0.0.

Design Principles

  • The global shortcut uses RegisterHotKey and WM_HOTKEY, with no polling loop.
  • Visible windows are enumerated only when the overlay opens.
  • The desktop image is stored in an opaque 24-bit RGB buffer.
  • Mouse movement invalidates only regions that visually change.
  • Reusable GDI+ resources remain cached for the lifetime of the overlay.

Method

The reference interactive benchmark ran on a 1920x1080 virtual desktop. It contains four passes:

  • 960 hover alternations;
  • 960 movements during drag selection;
  • 1920 interactive events in total.

The figures measure CPU time consumed by the MiniSnip process. They do not claim to measure the complete electrical consumption of the machine.

Results

Measurement Before optimization Version 1.0.0 Change
Total interactive CPU time 7015.62 ms 6359.38 ms -9.35%
Opaque screenshot buffer 8,294,400 bytes 6,220,800 bytes -25%
Buffer saving at 1920x1080 2,073,600 bytes

The 25% reduction applies specifically to the opaque bitmap used for the desktop capture. It must not be extrapolated to the entire process memory: WinForms and GDI maintain their own allocations.

A final five-second idle sample after closing the overlay measured:

IdleSampleSeconds     : 5
IdleCpuMilliseconds   : 0
WorkingSetBeforeBytes : 32657408
WorkingSetAfterBytes  : 32657408
PrivateMemoryBytes    : 24862720
Handles               : 296
ThreadsBefore         : 4
ThreadsAfter          : 4

Visual and Functional Verification

An automated probe also compares visual invariants and generated captures:

ToolbarAccentPixels : 21
WindowBorderPixels  : 2228
InteriorBeforeHover : -5526613
InteriorAfterHover  : -5526613
WindowClickCapture  : 346x213
ShiftDragCapture    : 130x130

These values validate the reference scenario: unchanged toolbar, orange outline without an interior hover fill, one-click window capture, and square capture while holding Shift.

Interpretation

Measurements depend on the hardware, resolution, visible windows, and interaction profile. They provide a reproducible comparison point for preventing regressions, not a universal promise for every machine.