#766 perf(nvn): recording threads wait less on the recordings' copy lock
Commit
Plan (gpt-6.1-terra)
Steam Deck default-settings route: compare still and post-turn performance and images
In plain words
On Steam Deck at default settings, main and the PR will follow the same child-Link route through Kokiri Forest, Hyrule Field and the Market, taking about 16 minutes. Each area has a 15-second still measurement and a 20-second measurement after a full-stick camera turn; the plan cannot measure while the stick step is running. It compares FPS, frame times and pictures, and fails for lower FPS, a crash, a device-lost or invalid-recording log message, or a substantial picture difference. No Steam Deck is listed online, so this target will wait for one. No tester online now matches steamdeck: that target waits for one.
Asked for
steamdeck: the same route at the Deck's default settings, main and this PR: Kokiri Forest, then Hyrule Field and the Castle Town market by the Debug tab's Teleport, 15 s still and 20 s turning the camera in each. Expecting the same or better fps with this PR and no crash.
Raw plan Download plan.json
{
"pass": {
"crash": false,
"fps_mean": {
"min_delta_pct": 0
},
"screenshot": {
"max_diff": 0.1
},
"log_forbidden_hits": {
"max": 0
}
},
"probe": [
{
"kind": "crash"
},
{
"kind": "frametime"
},
{
"kind": "draws"
},
{
"kind": "log_match",
"expected": [],
"forbidden": [
"vk: device lost",
"command handle .* is not a live recording"
]
}
],
"matrix": {},
"schema": 3,
"target": [
{
"name": "steamdeck",
"tags": [
"steamdeck"
],
"min_reports": 1
}
],
"summary": "Steam Deck default-settings route: compare still and post-turn performance and images",
"baseline": {
"ref": "main"
},
"scenario": [
{
"env": {},
"name": "deck-route",
"runs": 1,
"step": [
{
"do": "wait",
"event": "in_play",
"timeout_s": 120
},
{
"do": "measure",
"name": "forest-still",
"warmup_s": 5,
"duration_s": 15
},
{
"do": "shot",
"name": "forest",
"upload": false,
"compare": "baseline"
},
{
"x": 1,
"y": 0,
"do": "stick",
"stick": "R",
"frames": 600
},
{
"do": "measure",
"name": "forest-after-turn",
"warmup_s": 0,
"duration_s": 20
},
{
"do": "teleport",
"to": "HyruleField_Child"
},
{
"do": "wait",
"map": "HyruleField_Child",
"event": "map",
"timeout_s": 60
},
{
"do": "measure",
"name": "field-still",
"warmup_s": 5,
"duration_s": 15
},
{
"do": "shot",
"name": "field",
"upload": false,
"compare": "baseline"
},
{
"x": 1,
"y": 0,
"do": "stick",
"stick": "R",
"frames": 600
},
{
"do": "measure",
"name": "field-after-turn",
"warmup_s": 0,
"duration_s": 20
},
{
"do": "teleport",
"to": "Market_Child"
},
{
"do": "wait",
"map": "Market_Child",
"event": "map",
"timeout_s": 60
},
{
"do": "measure",
"name": "market-still",
"warmup_s": 5,
"duration_s": 15
},
{
"do": "shot",
"name": "market",
"upload": false,
"compare": "baseline"
},
{
"x": 1,
"y": 0,
"do": "stick",
"stick": "R",
"frames": 600
},
{
"do": "measure",
"name": "market-after-turn",
"warmup_s": 0,
"duration_s": 20
}
],
"start": "new",
"matrix": true,
"settings": {}
}
]
}
Targets
| Target | Tier | Reports | Status |
|---|---|---|---|
| steamdeck | reviewed HumanBean | none yet | 0/1 pass, 0 running, 0 queued |
Reports
No reports yet. Each tester posts one when its job ends.
Jobs
| Job | Commit | Target | State | Tester | Attempts | Note |
|---|---|---|---|---|---|---|
jb_c62faab6f946c496 | 64d6d09 | steamdeck | cancelled | — | 0 | the PR was closed |