1c6e2b793a2cdeb67a29f7013f7aaec428d06883
De-registers every diagnostic probe belonging to closed tasks #35, #39 and #41; the functions stay defined, matching this file's existing convention. Registrations drop from 20 to 9. What remains is functional only: MiscStubDispatch, FnvHashAccelHookCb, five zlib_accel hooks, two trampoline hooks. Seven of the removed probes sat on the TEXT rendering path (QuadGeometry at four addresses, TextClipDispatch at two, MeasureAdvance at two), so they fired once per HUD glyph per frame - continuously during a race. Motivation was the first in-race profile: helper_uc_tracecode at 63.03% of CPU. Unicorn's helper (uc.c:2129) walks the entire UC_HOOK_CODE list on every hit with no early exit, and a hooked instruction also breaks the translation block. RESULT - the hypothesis is REFUTED as a performance fix: helper_uc_tracecode 63.03% -> 41.66% game time vs wall clock 7.2x -> 7.69x (no improvement) Measured with the race's own clock: 27s of wall time advanced the race timer 14.97 -> 18.48, i.e. 3.51s; the two sub-intervals gave 7.78x and 7.60x. So hook-list length was NOT the binding constraint - the freed time simply redistributed, visible in neighbouring shares rising (tb_invalidate_phys_page_fast 1.19->3.15%, helper_lookup_tb_ptr 1.58->3.01%, JIT "unknown" 7.17->9.98%). Caveat: the before/after races are different sections with different scene load. That cannot hide a difference of this size, but it is not a controlled comparison either. Kept anyway: removing spent diagnostics is worth doing on its own terms, and a profile no longer dominated 63% by one symbol is readable. Co-Authored-By: Claude <noreply@anthropic.com>
Description
Мод добавляющий мультиплеер для NFSMW
17 MiB
Languages
C++
48%
Java
46.1%
Kotlin
4.4%
C
1%
Shell
0.3%
Other
0.2%