github suprepupre/wow-optimize v2.2.0
wow_optimize v2.2.0

latest releases: v2.4.0, v2.3.0
6 hours ago

wow_optimize v2.2.0

New Features

MPQ Memory Mapping

  • MPQ archive files (256KB–512MB) are now memory-mapped via MapViewOfFile
  • Reads from mapped archives skip kernel transitions entirely — direct memory copy
  • Retroactive handle scanner finds MPQ files opened during WoW startup (before hooks install)
  • 8 files / 836MB typically mapped on a standard WoW 3.3.5a install
  • SEH-protected — page faults fall back gracefully to read-ahead cache

Multi-Client Support

  • Automatically detects multiple WoW instances via named mutex
  • Single client: 0.5ms timer resolution, precise busy-wait for best frame pacing
  • Multi-client: 1.0ms timer, yield-based sleep — prevents 100% CPU usage
  • No configuration needed — fully automatic

Periodic Stats Dump

  • Key performance stats are logged every 5 minutes
  • Survives unclean WoW exit (process kill / crash) — stats are always available in the log

Improved

  • SRWLOCK replaces CRITICAL_SECTION for the ReadFile cache — lower lock contention
  • Periodic mi_collect — returns unused mimalloc pages to the OS every ~68 seconds
  • string.format — embedded nul byte detection + long string bailout (fixes ElvUI profile export/import)

Fixed

  • Deadlock on WoW exitDestroyMpqMapping called CloseHandle which re-entered the hooked path and deadlocked on the SRWLOCK
  • Duplicate FlushFileBuffers log line removed
  • ElvUI "decoding error" on profile export/import — string.format fast path now falls back for binary data with embedded nuls

Safety

  • MPQ mmap is protected by SEH — page faults fall back to read-ahead cache
  • Multi-client detection is safe — uses a named mutex, no shared memory
  • Crash isolation toggle: CRASH_TEST_DISABLE_MPQ_MMAP
  • All previous v2.1.x fixes remain active

Files

  • wow_optimize.dll — main optimization DLL
  • version.dll — proxy loader
  • wow_loader.exe — standalone launcher

Don't miss a new wow-optimize release

NewReleases is sending notifications on new releases.