Skip to content

fix(winit): Better error handling in vulkan driver#1991

Open
marc2332 wants to merge 5 commits into
mainfrom
fix/better-vulkan-handling
Open

fix(winit): Better error handling in vulkan driver#1991
marc2332 wants to merge 5 commits into
mainfrom
fix/better-vulkan-handling

Conversation

@marc2332

@marc2332 marc2332 commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Might help with #1779, I need to try

@marc2332 marc2332 added this to the 0.4.0 milestone Jul 3, 2026
@marc2332 marc2332 self-assigned this Jul 3, 2026
@marc2332 marc2332 added enhancement 🔥 New feature or request fix 🩹 Fixes a bug labels Jul 3, 2026
@marc2332 marc2332 moved this to Pending for Review in Freya Planning Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Performance Comparison mainfix/better-vulkan-handling

Total Elapsed Time: 65.29ms → 65.57ms (+0.4%)
CPU Baseline: 91.77µs → 93.78µs (+2.2%)
Benchmark ID: alloc

timing - Function execution time metrics.

+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| Function                          | Calls                    | Avg                             | P33                             | P66                              | P95                              | P99                              | Total                           | % Total                      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 65.00ms → 65.29ms (+0.4%)       | 65.01ms → 65.31ms (+0.5%)       | 65.01ms → 65.31ms (+0.5%)        | 65.01ms → 65.31ms (+0.5%)        | 65.01ms → 65.31ms (+0.5%)        | 64.98ms → 65.29ms (+0.5%)       | 100.00% → 100.00% (+0.0%)    |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 1.39µs → 1.36µs (-2.2%)         | 10.00ns → 10.00ns (+0.0%)       | 20.00ns → 20.00ns (+0.0%)        | 21.00ns → 20.00ns (-4.8%)        | 40.00ns → 30.00ns (-25.0%) 🚀    | 44.47ms → 43.69ms (-1.8%)       | 68.44% → 66.92% (-2.2%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 12.03ms → 11.96ms (-0.6%)       | 7.23ms → 7.16ms (-1.0%)         | 8.54ms → 8.60ms (+0.7%)          | 20.33ms → 20.12ms (-1.0%)        | 20.33ms → 20.12ms (-1.0%)        | 36.10ms → 35.87ms (-0.6%)       | 55.55% → 54.93% (-1.1%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 9.20ms → 9.37ms (+1.8%)         | 2.11ms → 2.38ms (+12.8%)        | 9.43ms → 9.69ms (+2.8%)          | 16.08ms → 16.05ms (-0.2%)        | 16.08ms → 16.05ms (-0.2%)        | 27.61ms → 28.11ms (+1.8%)       | 42.49% → 43.05% (+1.3%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 443.00ns → 435.00ns (-1.8%)     | 40.00ns → 40.00ns (+0.0%)       | 50.00ns → 50.00ns (+0.0%)        | 70.00ns → 61.00ns (-12.9%)       | 80.00ns → 71.00ns (-11.2%)       | 14.22ms → 13.96ms (-1.8%)       | 21.88% → 21.38% (-2.3%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 4.09ms → 4.19ms (+2.4%)         | 3.16µs → 3.18µs (+0.6%)         | 2.83ms → 2.87ms (+1.4%)          | 9.43ms → 9.69ms (+2.8%)          | 9.43ms → 9.69ms (+2.8%)          | 12.26ms → 12.56ms (+2.4%)       | 18.86% → 19.23% (+2.0%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 380.00ns → 376.00ns (-1.1%)     | 50.00ns → 41.00ns (-18.0%)      | 51.00ns → 51.00ns (+0.0%)        | 160.00ns → 160.00ns (+0.0%)      | 581.00ns → 532.00ns (-8.4%)      | 12.18ms → 12.07ms (-0.9%)       | 18.75% → 18.48% (-1.4%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.48ms → 1.49ms (+0.7%)         | 4.70µs → 5.18µs (+10.2%)        | 2.20ms → 2.21ms (+0.5%)          | 2.61ms → 2.68ms (+2.7%)          | 2.61ms → 2.68ms (+2.7%)          | 8.88ms → 8.96ms (+0.9%)         | 13.67% → 13.72% (+0.4%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 4.23ms → 4.20ms (-0.7%)         | 3.93ms → 3.99ms (+1.5%)         | 4.53ms → 4.42ms (-2.4%)          | 4.53ms → 4.42ms (-2.4%)          | 4.53ms → 4.42ms (-2.4%)          | 8.46ms → 8.40ms (-0.7%)         | 13.01% → 12.87% (-1.1%)      |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.81ms → 1.87ms (+3.3%)         | 491.00ns → 441.00ns (-10.2%)    | 1.77µs → 2.25µs (+27.1%) ⚠️      | 5.43ms → 5.61ms (+3.3%)          | 5.43ms → 5.61ms (+3.3%)          | 5.43ms → 5.61ms (+3.3%)         | 8.35% → 8.59% (+2.9%)        |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.60ms → 1.65ms (+3.1%)         | 150.00ns → 50.00ns (-66.7%) 🚀  | 2.11ms → 2.37ms (+12.3%)         | 2.71ms → 2.58ms (-4.8%)          | 2.71ms → 2.58ms (-4.8%)          | 4.81ms → 4.95ms (+2.9%)         | 7.41% → 7.58% (+2.3%)        |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 1.65ms → 1.63ms (-1.2%)         | 40.00ns → 30.00ns (-25.0%) 🚀   | 1.03µs → 1.20µs (+16.5%)         | 4.94ms → 4.88ms (-1.2%)          | 4.94ms → 4.88ms (-1.2%)          | 4.94ms → 4.88ms (-1.2%)         | 7.60% → 7.47% (-1.7%)        |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 314.00ns → 321.00ns (+2.2%)     | 211.00ns → 251.00ns (+19.0%)    | 260.00ns → 351.00ns (+35.0%) ⚠️  | 471.00ns → 361.00ns (-23.4%) 🚀  | 471.00ns → 361.00ns (-23.4%) 🚀  | 942.00ns → 963.00ns (+2.2%)     | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 136.00ns → 113.00ns (-16.9%)    | 130.00ns → 40.00ns (-69.2%) 🚀  | 140.00ns → 140.00ns (+0.0%)      | 140.00ns → 161.00ns (+15.0%)     | 140.00ns → 161.00ns (+15.0%)     | 410.00ns → 341.00ns (-16.8%)    | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+---------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+

alloc-bytes - Exclusive allocation bytes by each function (excluding nested calls).

+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| Function                          | Calls                    | Avg                          | P33                            | P66                          | P95                            | P99                            | Total                          | % Total                    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 7.0 MB → 7.0 MB (+0.0%)      | 7.0 MB → 7.0 MB (+0.0%)        | 7.0 MB → 7.0 MB (+0.0%)      | 7.0 MB → 7.0 MB (+0.0%)        | 7.0 MB → 7.0 MB (+0.0%)        | 13.9 MB → 13.9 MB (+0.0%)      | 22.39% → 22.39% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.6 MB → 1.6 MB (+0.0%)      | 604 B → 604 B (+0.0%)          | 1.4 MB → 1.4 MB (+0.0%)      | 3.3 MB → 3.3 MB (+0.0%)        | 3.3 MB → 3.3 MB (+0.0%)        | 9.4 MB → 9.4 MB (+0.0%)        | 15.08% → 15.08% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 2.8 MB → 2.8 MB (+0.0%)      | 1.1 KB → 1.1 KB (+0.0%)        | 1.4 MB → 1.4 MB (+0.0%)      | 7.0 MB → 7.0 MB (+0.0%)        | 7.0 MB → 7.0 MB (+0.0%)        | 8.4 MB → 8.4 MB (+0.0%)        | 13.45% → 13.45% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 2.8 MB → 2.8 MB (+0.0%)      | 84 B → 84 B (+0.0%)            | 8.3 MB → 8.3 MB (+0.0%)      | 8.3 MB → 8.3 MB (+0.0%)        | 8.3 MB → 8.3 MB (+0.0%)        | 8.3 MB → 8.3 MB (+0.0%)        | 13.31% → 13.31% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 2.5 MB → 2.5 MB (+0.0%)      | 64 B → 64 B (+0.0%)            | 1.6 MB → 1.6 MB (+0.0%)      | 6.0 MB → 6.0 MB (+0.0%)        | 6.0 MB → 6.0 MB (+0.0%)        | 7.6 MB → 7.6 MB (+0.0%)        | 12.16% → 12.16% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.4 MB → 1.4 MB (+0.0%)      | 64 B → 64 B (+0.0%)            | 4.2 MB → 4.2 MB (+0.0%)      | 4.2 MB → 4.2 MB (+0.0%)        | 4.2 MB → 4.2 MB (+0.0%)        | 4.2 MB → 4.2 MB (+0.0%)        | 6.73% → 6.73% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.2 MB → 1.2 MB (+0.0%)      | 874.5 KB → 874.5 KB (+0.0%)    | 2.8 MB → 2.8 MB (+0.0%)      | 2.8 MB → 2.8 MB (+0.0%)        | 2.8 MB → 2.8 MB (+0.0%)        | 3.7 MB → 3.7 MB (+0.0%)        | 5.95% → 5.95% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 107 B → 107 B (+0.0%)        | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)          | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)            | 3.3 MB → 3.3 MB (+0.0%)        | 5.30% → 5.30% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 104 B → 104 B (+0.0%)        | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)          | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)            | 3.2 MB → 3.2 MB (+0.0%)        | 5.12% → 5.12% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 96.4 KB → 96.4 KB (+0.0%)    | 52 B → 52 B (+0.0%)            | 52 B → 52 B (+0.0%)          | 289.0 KB → 289.0 KB (+0.0%)    | 289.0 KB → 289.0 KB (+0.0%)    | 289.1 KB → 289.1 KB (+0.0%)    | 0.45% → 0.45% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 35.9 KB → 35.9 KB (+0.0%)    | 35.9 KB → 35.9 KB (+0.0%)      | 35.9 KB → 35.9 KB (+0.0%)    | 35.9 KB → 35.9 KB (+0.0%)      | 35.9 KB → 35.9 KB (+0.0%)      | 35.9 KB → 35.9 KB (+0.0%)      | 0.06% → 0.06% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 0 B → 0 B (+0.0%)            | 52 B → 52 B (+0.0%)            | 88 B → 88 B (+0.0%)          | 492 B → 492 B (+0.0%)          | 492 B → 492 B (+0.0%)          | 1.2 KB → 1.2 KB (+0.0%)        | 0.00% → 0.00% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0.00% → 0.00% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0.00% → 0.00% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+

Threads

Total Alloc: 729.4 KB → 895.5 KB (+22.8%) ⚠️
Total Dealloc: 696 B → 720 B (+3.4%)
Mem Diff: 728.8 KB → 894.8 KB (+22.8%) ⚠️

+-----------------+----------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| Thread          | CPU % Avg                        | CPU % Max | Alloc                            | Dealloc                  | Mem Diff                         |
+-----------------+----------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| dev_perf        | 87258.80% → 83580.30% (-4.2%)    |           | 728.8 KB → 894.8 KB (+22.8%) ⚠️  | 576 B → 576 B (+0.0%)    | 728.3 KB → 894.3 KB (+22.8%) ⚠️  |
+-----------------+----------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| hp-cpu-baseline | 0.00% → 0.00% (+0.0%)            |           | 15 B → 15 B (+0.0%)              | 24 B → 24 B (+0.0%)      | -9 B → -9 B (+0.0%)              |
+-----------------+----------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| hp-functions    | 0.00% → 0.00% (+0.0%)            |           |                                  |                          |                                  |
+-----------------+----------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| 🗑️ hp-threads   | 0.00% → 0.00% (+0.0%)            |           |                                  |                          |                                  |
+-----------------+----------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+

Generated with hotpath-rs

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Performance Comparison mainfix/better-vulkan-handling

Total Elapsed Time: 62.65ms → 63.44ms (+1.2%)
CPU Baseline: 99.83µs → 80.60µs (-19.3%)
Benchmark ID: timing

timing - Execution duration of functions.

+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| Function                          | Calls                    | Avg                              | P33                              | P66                              | P95                              | P99                              | Total                            | % Total                      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 62.41ms → 63.13ms (+1.2%)        | 62.42ms → 63.14ms (+1.2%)        | 62.42ms → 63.14ms (+1.2%)        | 62.42ms → 63.14ms (+1.2%)        | 62.42ms → 63.14ms (+1.2%)        | 62.41ms → 63.13ms (+1.2%)        | 100.00% → 100.00% (+0.0%)    |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 1.22µs → 1.22µs (+0.0%)          | 10.00ns → 10.00ns (+0.0%)        | 20.00ns → 20.00ns (+0.0%)        | 20.00ns → 30.00ns (+50.0%) ⚠️    | 30.00ns → 40.00ns (+33.3%) ⚠️    | 38.97ms → 39.13ms (+0.4%)        | 62.44% → 61.98% (-0.7%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 10.83ms → 11.01ms (+1.7%)        | 6.46ms → 6.62ms (+2.5%)          | 8.09ms → 8.49ms (+4.9%)          | 17.97ms → 17.96ms (-0.1%)        | 17.97ms → 17.96ms (-0.1%)        | 32.50ms → 33.04ms (+1.7%)        | 52.08% → 52.34% (+0.5%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 9.51ms → 9.61ms (+1.1%)          | 2.11ms → 2.51ms (+19.0%)         | 9.27ms → 9.75ms (+5.2%)          | 17.17ms → 16.57ms (-3.5%)        | 17.17ms → 16.57ms (-3.5%)        | 28.52ms → 28.82ms (+1.1%)        | 45.69% → 45.66% (-0.1%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 4.20ms → 4.28ms (+1.9%)          | 3.33µs → 4.14µs (+24.3%) ⚠️      | 3.34ms → 3.11ms (-6.9%)          | 9.26ms → 9.74ms (+5.2%)          | 9.26ms → 9.74ms (+5.2%)          | 12.60ms → 12.85ms (+2.0%)        | 20.19% → 20.36% (+0.8%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 329.00ns → 359.00ns (+9.1%)      | 30.00ns → 30.00ns (+0.0%)        | 50.00ns → 50.00ns (+0.0%)        | 151.00ns → 181.00ns (+19.9%)     | 651.00ns → 651.00ns (+0.0%)      | 10.57ms → 11.51ms (+8.9%)        | 16.93% → 18.23% (+7.7%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 310.00ns → 321.00ns (+3.5%)      | 20.00ns → 20.00ns (+0.0%)        | 30.00ns → 30.00ns (+0.0%)        | 40.00ns → 50.00ns (+25.0%) ⚠️    | 50.00ns → 51.00ns (+2.0%)        | 9.95ms → 10.30ms (+3.5%)         | 15.94% → 16.32% (+2.4%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 4.23ms → 4.18ms (-1.2%)          | 3.94ms → 3.87ms (-1.8%)          | 4.51ms → 4.49ms (-0.4%)          | 4.51ms → 4.49ms (-0.4%)          | 4.51ms → 4.49ms (-0.4%)          | 8.45ms → 8.37ms (-0.9%)          | 13.54% → 13.25% (-2.1%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.36ms → 1.36ms (+0.0%)          | 6.92µs → 6.66µs (-3.8%)          | 1.82ms → 1.81ms (-0.5%)          | 2.62ms → 2.46ms (-6.1%)          | 2.62ms → 2.46ms (-6.1%)          | 8.18ms → 8.17ms (-0.1%)          | 13.11% → 12.94% (-1.3%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.74ms → 1.83ms (+5.2%)          | 361.00ns → 541.00ns (+49.9%) ⚠️  | 1.58µs → 2.23µs (+41.1%) ⚠️      | 5.22ms → 5.48ms (+5.0%)          | 5.22ms → 5.48ms (+5.0%)          | 5.22ms → 5.48ms (+5.0%)          | 8.36% → 8.69% (+3.9%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.56ms → 1.73ms (+10.9%)         | 50.00ns → 140.00ns (+180.0%) ⚠️  | 2.10ms → 2.50ms (+19.0%)         | 2.60ms → 2.68ms (+3.1%)          | 2.60ms → 2.68ms (+3.1%)          | 4.69ms → 5.18ms (+10.4%)         | 7.52% → 8.21% (+9.2%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 1.94ms → 1.72ms (-11.3%)         | 131.00ns → 121.00ns (-7.6%)      | 1.41µs → 1.50µs (+6.4%)          | 5.82ms → 5.16ms (-11.3%)         | 5.82ms → 5.16ms (-11.3%)         | 5.82ms → 5.16ms (-11.3%)         | 9.32% → 8.17% (-12.3%)       |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 230.00ns → 311.00ns (+35.2%) ⚠️  | 180.00ns → 181.00ns (+0.6%)      | 210.00ns → 341.00ns (+62.4%) ⚠️  | 301.00ns → 411.00ns (+36.5%) ⚠️  | 301.00ns → 411.00ns (+36.5%) ⚠️  | 691.00ns → 933.00ns (+35.0%) ⚠️  | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 227.00ns → 303.00ns (+33.5%) ⚠️  | 220.00ns → 190.00ns (-13.6%)     | 220.00ns → 340.00ns (+54.5%) ⚠️  | 241.00ns → 380.00ns (+57.7%) ⚠️  | 241.00ns → 380.00ns (+57.7%) ⚠️  | 681.00ns → 910.00ns (+33.6%) ⚠️  | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+

Threads

+-----------------+--------------------------------------+-----------+
| Thread          | CPU % Avg                            | CPU % Max |
+-----------------+--------------------------------------+-----------+
| dev_perf        | 62563.80% → 422014.90% (+574.5%) ⚠️  |           |
+-----------------+--------------------------------------+-----------+
| hp-functions    | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+
| hp-threads      | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+
| hp-server       | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+
| hp-cpu-baseline | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+

Generated with hotpath-rs

@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 244 lines in your changes missing coverage. Please review.
✅ Project coverage is 61.68%. Comparing base (1565123) to head (9b1c9d1).
⚠️ Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
crates/freya-winit/src/drivers/vulkan.rs 0.00% 134 Missing ⚠️
crates/freya-winit/src/drivers/gl.rs 0.00% 40 Missing ⚠️
crates/freya-winit/src/drivers/mod.rs 0.00% 33 Missing ⚠️
crates/freya-winit/src/renderer.rs 0.00% 27 Missing ⚠️
crates/freya-winit/src/drivers/software.rs 0.00% 8 Missing ⚠️
crates/freya-performance-plugin/src/lib.rs 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1991      +/-   ##
==========================================
- Coverage   61.84%   61.68%   -0.17%     
==========================================
  Files         332      332              
  Lines       43370    43608     +238     
==========================================
+ Hits        26822    26899      +77     
- Misses      16548    16709     +161     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@marc2332 marc2332 modified the milestones: 0.4.0, 0.4.1 Jul 5, 2026
@marc2332 marc2332 modified the milestones: 0.4.1, 0.5.0 Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement 🔥 New feature or request fix 🩹 Fixes a bug

Projects

Status: Pending for Review

Development

Successfully merging this pull request may close these issues.

1 participant