You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -215,27 +215,118 @@ dotnet run --project samples/ProText.Sample/ProText.Sample.csproj
215
215
216
216
## Performance Snapshot
217
217
218
-
The TextBox benchmark suite applies Avalonia's Fluent TextBox theme and the ProText Fluent theme before measuring. Setup validates that Avalonia `TextPresenter` and ProText `ProTextPresenter` are present in the visual tree. Layout benchmarks alternate width constraints to avoid cached no-op timings, and frame benchmarks use one explicit headless render tick plus `GetLastRenderedFrame()` rather than `CaptureRenderedFrame()`'s stabilization loop.
218
+
Results below were generated on 2026-05-04 with BenchmarkDotNet `0.15.8` on Apple M3 Pro, macOS Tahoe `26.4.1`, .NET SDK `10.0.201`, and .NET runtime `10.0.5`. `ProText.Benchmarks` and `ProText.InlineBenchmarks` use BenchmarkDotNet's default job; `ProText.PresenterBenchmarks`and `ProText.TextBoxBenchmarks`use `ShortRun` as configured in the benchmark projects.
219
219
220
-
Command used for the latest documented TextBox run:
220
+
Commands used for the documented run:
221
221
222
222
```bash
223
+
dotnet run -c Release --project benchmarks/ProText.Benchmarks/ProText.Benchmarks.csproj -- --filter "*"
224
+
dotnet run -c Release --project benchmarks/ProText.InlineBenchmarks/ProText.InlineBenchmarks.csproj -- --filter "*"
225
+
dotnet run -c Release --project benchmarks/ProText.PresenterBenchmarks/ProText.PresenterBenchmarks.csproj -- --filter "*"
223
226
dotnet run -c Release --project benchmarks/ProText.TextBoxBenchmarks/ProText.TextBoxBenchmarks.csproj -- --filter "*"
224
227
```
225
228
226
-
Environment: Apple M3 Pro, .NET `10.0.5`, BenchmarkDotNet `0.15.8`, ShortRun job.
227
-
228
-
| Scenario | Avalonia TextBox | ProTextBox | Result |
Frame decomposition from the same run shows fixed headless rendering cost separately: `EmptyWindowFrame` is 58.7 us and `ProTextBoxCaptureOnly` is 47.5 us with about 0.52 KB allocated. The invalidated frame result is therefore dominated by Avalonia's retained renderer and headless frame capture cost, while ProTextBox measurement remains substantially faster and lower allocation.
229
+
### TextBlock Layout And Cache
230
+
231
+
| Method | Width | Mean | Ratio | Allocated | Alloc Ratio |
The TextBox benchmark suite applies Avalonia's Fluent TextBox theme and the ProText Fluent theme before measuring. Setup validates that Avalonia `TextPresenter` and ProText `ProTextPresenter` are present in the visual tree. Layout benchmarks alternate width constraints to avoid cached no-op timings.
302
+
303
+
| Method | Width | Mean | Ratio | Allocated | Alloc Ratio |
0 commit comments