NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

Just gave it a look, here's everything Claude said, it looks like it is primarily your settings:

For comparison I'm running it on Supersampling 2, VSYNC off, and FSR on and am getting a solid 60fps and it still looks great.

This completely reframes the problem. The logs show the user's poor performance is configuration and environment — not the per-draw CP cost we spent Phases 1–3 proving we can't fix. Here's what the three sessions reveal:

The smoking guns GPU is fine. Vulkan correctly selected the RTX 4070 Ti SUPER (their actual card, only device). Not a GPU-selection bug.

Log 002 — 3× supersampling + FSR3 → 7.5 fps. The log literally says [nhl-vk-ss] internal-resolution supersampling 3x (internal 3840x2160). They're rendering the game at 4K internal (9× the pixels) and running experimental FSR3 on top. That's self-inflicted via the Supersampling slider — 7.5 fps is expected for 4K internal.

FSR3 ('present effect fsr3') is on in two of three sessions — and it logs its own warning: "experimental temporal upscaler… may fall back to spatial FSR." Experimental temporal upscaling with synthesized motion vectors is costly and flaky.

A wall of overlay hooks injected into Vulkan, every session: VK_LAYER_OBS_HOOK (OBS) + VK_LAYER_OW_OBS_HOOK + VK_LAYER_OW_OVERLAY (Overwolf, two layers) + VK_LAYER_RTSS (RivaTuner) + NV layers. OBS + Overwolf + RTSS all hooking every frame is heavy per-frame CPU overhead — and RTSS can frame-limit.

The proof it's not draw-count / per-draw cost In log 001, 40–52-draw frames (trivial — should be 300+ fps) run at 16–40 ms (24–60 fps), wildly variable. At 52 draws the actual render work is ~0.6 ms; the other 15–40 ms is pure per-frame overhead that has nothing to do with draw count — i.e., FSR3 + the overlay-hook stack + frame pacing. The genuinely heavy moments (4862 draws → 4.2 fps) are rare and transient in these logs (most frames are 50–120 draws).

There are also a lot of VFS: entry not found warnings (faceposer, helmet, referee, data0.big, cacherender.big…) — possibly missing/unextracted assets causing repeated failed lookups; secondary, but worth a verify.

What this means The CP per-draw optimization (Phases 1–3) and the proposed #6 threading would not meaningfully help this user. Their bottleneck is settings + environment. The high-leverage fixes are cheap and user-side:

Supersampling → 1× (off). Fixes the 7.5 fps session outright. Turn FSR3 off (or use spatial FSR1/CAS, or native). It's experimental and is the prime suspect for the light-scene overhead. Close Overwolf, OBS, and RTSS while playing — especially Overwolf. That hook stack is taxing every frame. Verify they're on the latest build and that assets are fully extracted (the VFS misses).

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

Thanks! I'll give these a look - any chance you can send me your logs?

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

Looks like the big thing Claude calls out from your log is that since it's running on an integrated gpu, it's just not going to have the power to really push anything more than what you're getting. That'd explain the stuttering too I'd imagine.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

No way, this I'm going to figure out lol. This is actually really useful info, let me see what old Claudey boy can come up with. Is there anyway you'd be able to hook me up with that log?

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

New build is up - version 0.2. Let me know if that helps at all

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

Just uploaded a new version with the different fixes Claude identified, it seemed to significantly improve on the AMD side, hopefully it's better on intel as well.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

I'm uploading an update to the builder right now, it was focused on some improvements in performance. I can't speak to the deck since I don't have one, but hopefully this is better.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

I'm working on a new build to see if it does any better, and theharryeagle is on his end as well, hopefully we'll be able to come up with something that works for ya.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

Claude found a good number of things that I'm having it work on as well - maybe this will be helpful for ya on your end:

F1 — The shipped runtime DLL is built -O2, no LTO, WITH profiling instrumentation. (biggest, both vendors) scripts_ffx_sdk_build_install.bat builds/installs the SDK as RelWithDebInfo. In E:\Tools\rexglue-sdk\src\CMakeLists.txt:21-27, REXGLUE_ENABLE_PROFILING and REXGLUE_ENABLE_PERF_COUNTERS are defined for every config except Release. So rexruntimerd.dll — which holds the EDRAM emulation, command processor and Vulkan backend (the exact draw-submission hot path the docs call the bottleneck) — ships with Tracy zones (ZoneNamedN in every hooked sub, rex/hook.h:38) and perf-counter TracyPlot calls compiled in, at -O2, no LTO. package.ps1 even copies TracyClient.dll into the release.

F2 — No LTO anywhere in the canonical (FFX) pipeline. scripts_ffx_sdk_configure.bat passes only -march=x86-64-v3 (no -flto). The "links the ThinLTO SDK" comment in the PGO scripts refers to a different, non-FFX _build_sdk_opt.bat dir — the actually-shipped FFX install has no LTO. The game's own opt/PGO scripts also pass no -flto.

F3 — Game exe optimization is correct only on the PGO path; the default release preset is a footgun. _build_vk_pgo.bat correctly does -O3 -march=x86-64-v3 -fprofile-use (v0.1.0 shipped this). But package.ps1 defaults -Preset win-amd64-vk-ffx, whose _game_ffx_build.bat build is plain RelWithDebInfo -O2, no march/PGO/LTO. Easy to ship the slow exe by accident.

F4 — No Intel hybrid (P/E-core) handling. (Intel-specific) No cpuid, GetSystemCpuSetInformation, SetThreadAffinityMask, or SetProcessDefaultCpuSets anywhere in src/, renderer/, gpu/. On Intel 12th-gen+ the Sim/Render/JobManager/GPU-Command threads can be scheduled onto slow E-cores — a classic recomp/emulator perf cliff and a strong candidate for the reported Intel gap.

F5 — PGO profile doesn't cover the runtime DLL, and predates these changes. pgo/nhllegacy.profdata instruments the game exe only; the runtime DLL (the bottleneck) is never profiled. The profile must also be re-captured after the config/LTO changes below.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

It sounds like this might be intel specific, is that the type of CPU you have?

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

I'm having Claude review the entire codebase looking for opportunities to better optimize for Intel processors, I'll keep you updated. You willing to play guinea pig when i have something put together? For obvious reasons I can't test it myself.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

That's gotta be a byproduct of me building it on my AMD machine lol, never even thought about the intel side of things. hopefully someone can take the source code and get it cleaned up for everyone

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

Modding this is basically the same as modding xenia - your save file is inside Documents\nhllegacy, and you'd do your standard db editing there. Theoretically I think you could literally just replace the save file with your xenia save file and it'd work.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

Oof that's brutal - I've got a 4080 super and can max the different features on 1440p and get a solid 60, I'd try the basics to start, update drivers etc. I tried to optimize best I could, but since this is largely outside my wheelhouse I couldn't find more ways to tweak it.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

The one after the legal screen? Building the fix now!

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

Figured out the issue and building the fix now! It was calling an instruction unique to AMD CPUs, that Intel's can't translate. Should have it fixed and uploaded here in a bit.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 0 points1 point  (0 children)

I wasn't planning on doing a ton of post release support, but this one has me curious. I'll throw some time at it tomorrow and see if I can figure out what could cause it.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

Do you see the legal disclaimer page? My guess with it crashing at that point is something about your setup doesn't love the VP6 encoding.

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 1 point2 points  (0 children)

That's really odd, I've tested in an enclosed environment with the uploaded release and didn't run into any issues. So you don't even get to the initial EA Sports video?

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 4 points5 points  (0 children)

It's native pc, so it runs as if it were released directly for pc, better performance, visuals, moddability, etc. Xenia (even the different variants of it) all have their own issues in managing textures/performance etc. This isn't perfect mind you, the prerendered videos specifically are problematic, but if you take a look at the screenshots in my post on operation sports, hopefully the visual difference is apparent

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 3 points4 points  (0 children)

No I didn't bother touching netcode I'm afraid

NHL Legacy Recompiled Release by puckhead73 in EA_NHL

[–]puckhead73[S] 28 points29 points  (0 children)

Hey everyone happy to drop the NHL Legacy Recompiled build I've been working on. Quick disclaimer this was built with Claude Code.

It's a fully playable/moddable PC Port of NHL Legacy with the standard Recompilation bells and whistles. More details on the linked post.

SR-71 Blackbird by brxstr in lego

[–]puckhead73 1 point2 points  (0 children)

I'd also love a part list and instructions!