Repository navigation
ZachFix v0.2.1
ZachFix v0.2.1
A small diagnostics-focused maintenance release.
This release adds an opt-in D3D9 Resource Lifetime Audit for investigating the original PC port's rare long-session framerate degradation reports. It does not claim to fix that issue yet; the goal is to make future reports actionable without leaving heavy diagnostics enabled for normal players.
What's new
- Added D3D9 Resource Lifetime Audit under F10 -> Diagnostics.
- The audit is session-only and is never saved to
ZachFix.ini; every game start returns it to OFF. - Starting a capture creates a separate collision-safe
ZachFix-resource-audit-<timestamp>.log, so evidence is not lost when the normalZachFix.logis recreated. - Samples every 30 seconds include FPS, process memory, handles, GDI/USER objects, thread count, D3D9 texture-memory trend, and created/released/live D3D9 resources by type.
- Still-live resources retain creation-site attribution, including
DP.exe+RVAwhen available, so suspicious growth can be traced back to a concrete game code location. - Audit logs identify the DP build, GPU/driver, and privacy-safe D3D9 backend origin to make native D3D9 vs DXVK comparisons easier.
- The broader resource hooks are installed lazily only if the audit is actually used. Normal sessions keep the existing production hook surface.
Notes
- No configuration migration is required from v0.2.0.
- Normal gameplay and rendering behavior are unchanged when the audit is left disabled.
- The audit only tracks resources created after recording starts.
IDirect3DDevice9::GetAvailableTextureMem()is logged as a trend only, not as exact VRAM usage.
All restoration, controller, save-safety, world, rendering, PostFX, and compatibility work from v0.2.0 remains included.