Advice Latency - Gidntsquia/deadlock-street-brawl-helper GitHub Wiki

Advice latency

Target: advice drawn within 400 ms of the last card landing (the first frame all three card circles hold a card, logged as card.land), judged per draft on the median of 3 headless runs. The earlier measure, ms from appear, includes the up to 1.5 s the game spends dealing the cards, which no reader can shorten. Icon branch: text only (a card's item comes from its name line; no icon read decides anything).

Run: 2026-10-14 09:23 US Eastern (3 runs), machine Jaxon-PC (Intel i7-10700KF, 16 threads), commit 4a42e05 plus the covered-line change (committed as 647677b), host load at run start/end 19->31 %, 28->27 %, 23->12 %.

Result: PASS. 26 of 26 drafts pass on the median, 0 wrong, from last card max 638 ms (s8 d024, a covered set that shows ? on one slot), median 168 ms. Summary: win:latency 2026-10-14T13:23:24.808Z 4a42e05+dirty: 3 run(s), 78 rows, 74 rows <= 400 ms from last card, 26/26 drafts pass (median), from last max 638 ms, median 168 ms, 0 wrong, load 19->31 % 28->27 % 23->12 %. PASS

Columns: old = ms from appear in the old app; last = ms from appear to the last card landing; best/med/worst = ms from the last card over the 3 runs; ocr and settl = median OCR round trip and settle time.

set       label items                                            old  last  best   med worst   ocr settl verdict
s0 d002   Infuser, Cheat Death, Mystic Reverb                   2750   846   110   110   114   130     0 ok
s1 d003   Superior Cooldown, Warp Stone, Surge of Power         2500   817   174   186   229   220    88 ok
s1 d004   Counterspell, Tesla Bullets, Express Shot             3750   773   110   121   138    73     6 ok
s1 d005   Boundless Spirit, Crushing Fists, Silencer            2500   733   263   307   314    34     0 ok (covered slot ?)
s2 d006   Ricochet, Healing Tempo, Transcendent Cooldown        7000  1034    61    70    93   137     0 ok
s2 d007   Lightning Scroll, Ricochet, Runed Gauntlets           4000  1142   243   248   249   103     0 ok
s2 d007   Boundless Spirit, Crippling Headshot, Eternal Gift    2750  1035   234   240   316   115     0 ok
s2 d008   Colossus, Indomitable, Mystic Reverb                  4750   847   178   183   190    72     7 ok
s3 d009   Extra Spirit, Mystic Burst, Mystic Regeneration       2250   653   238   238   255   104     0 ok
s3 d010   Active Reload, Bullet Lifesteal, Decay                2250   943   116   128   129    77     0 ok
s3 d011   Spirit Snatch, Spirit Rend, Heroic Aura               2750  1148   102   176   177   141     0 ok
s4 d013   Lifestrike, Spirit Resilience, Metal Skin             2250   866   117   128   130   107    12 ok
s4 d014   Toxic Bullets, Counterspell, Healing Nova             2250   901   122   176   178   114     0 ok
s5 d015   Quicksilver Reload, Enchanter's Emblem, Return Fire   2750   783   241   363   571   274   238 ok
s5 d016   Escalating Resilience, Dispel Magic, Tesla Bullets    4500   -78   117   121   130   105    13 ok
s5 d017   Indomitable, Scourge, Juggernaut                      1750   797   105   127   167    83     6 ok
s6 d019   Escalating Resilience, Weapon Shielding, Healbane     1750   735   117   144   185   169     9 ok
s6 d020   Inhibitor, Hollow Point, Healing Nova                 2000   712   298   321   332   183     0 ok
s7 d021   Healing Booster, Trophy Collector, Bullet Resist Shr  2750   347   189   211   263   173    64 ok
s7 d022   Shadow Weave, Torment Pulse, Toxic Bullets            2250   808   114   121   122    76    11 ok
s7 d023   Burst Fire, Alchemical Fire, Rapid Recharge           2000   914   104   114   133    99     8 ok
s8 d024   Spirit Shredder, Spirit Sap, Melee Charge             2250  -167   520   590   638   177     0 ok (covered slot ?)
s8 d025   Heroic Aura, Spirit Resilience, Superior Duration     4000   810   118   119   134    95     7 ok
s8 d026   Spiritual Overflow, Witchmail, Crippling Headshot     2250   682   168   177   189    59     0 ok
s9 d027   Heroic Aura, Spirit Rend, Superior Cooldown           2750  1516    52    60   116    99     7 ok
s9 d028   Escalating Exposure, Juggernaut, Frenzy               1750   872   109   131   174   128     0 ok

Release 0.5.0 (2026-10-15): both recordings and slow PCs

Rows s10 to s13 come from the 2026-10-15 recording (four Infernus drafts, 1280x720); s0 to s9 from 2026-10-09. npm run win:latency plays the recording each stretch names. Median of 3 runs on a quiet host (load under 4):

Run Drafts passing Max from last card Median Wrong
normal 38/38 851 ms (covered set s8 d024) 169 ms 0
--slow 2 50/50 909 ms 171 ms 0
--slow 4 50/50 847 ms 178 ms 0

--slow N pins the app to N times fewer cores at below-normal priority. The bar at --slow 4: 0 wrong, every set advised (a ? on a covered slot counts), every row under 1000 ms from the last card; the harness exits 1 when a row misses it (--bar-ms tightens it). A slow PC sees plates within about a second, and grey ? plates that fill in are normal.