# Software painter performance probe This host-only probe executes the real `CanvasAdapter`, Cosmos TrueTypeFont, website document pipeline and self-developed raster painter in a private 1600 × 900 software framebuffer at 200% UI scaling. It does not initialize the firmware display/HAL, operate any user window, or claim guest/GPU performance. `Baseline/` freezes the original software paint/clip/native-font paths before the preview performance changes on 2026-10-14. Original gradient interpolation is included in the baseline painter so subsequent optimizations do not silently change the comparison. Both renderers consume the same production website display list. The comparison includes dark/light website fixture screenshots, every framebuffer pixel, normal/bold Latin/CJK/icon advances and alpha masks, caller-owned mask mutation isolation, and finite cache bounds. Run with unique absolute output/artifact directories; do not use native build directories. Example from the repository root: ```powershell dotnet run --project Tools/BrowserCompatibility/PaintPerformanceProbe/PaintPerformanceProbe.csproj -c Release --artifacts-path C:/Absolute/Unique/Artifacts -- C:/Absolute/Repository C:/Absolute/Unique/Results ``` `Result.json` records measured CPU time, pixel SHA256 and production source hashes. Compare these host timings only with the matching host baseline; actual QEMU event latency and full native receipts are separate acceptance evidence.