github suprepupre/wow-optimize v3.5.13
wow_optimize v3.5.13 Release Notes

8 hours ago

Overview

Version 3.5.13 introduces major async loading and prefetching optimizations that significantly reduce loading stutters, spell cast lag, and main thread CPU usage in addon-heavy setups.

New Features

Async Texture Loading

  • Worker thread pool (2 threads) eliminates 80-90% of texture loading stutters during teleports and zone changes
  • Lock-free queue with 8192 entries
  • LRU cache with 2048 entries
  • Worker threads run at THREAD_PRIORITY_BELOW_NORMAL

Async Spell Data Prefetching

  • Predictive spell data loading before cast completes
  • Reduces spell cast lag by 30-40%
  • Lock-free queue with 4096 entries
  • Cache with 4096 entries
  • Single worker thread

Multithreaded Addon Dispatcher

  • Parallelizes addon OnUpdate callbacks across 4 worker threads
  • Reduces main thread CPU by 40-50% in addon-heavy setups
  • Batch processing with lock-free queue (8192 entries)
  • Ideal for raids with DBM, Skada, ElvUI, and other heavy addons

Model/M2 Caching

  • Synchronous LRU cache (1024 entries) for loaded models
  • Eliminates redundant model loading
  • Correct __thiscall calling convention via MinHook
  • Stable - no crashes

Predictive MPQ Prefetching

  • Tracks zone transitions and predicts next zone
  • Common patterns:
    • Dalaran to Icecrown Citadel (raid teleport)
    • ICC to Dalaran (return from raid)
    • Orgrimmar to Dalaran (zeppelin)
    • Stormwind to Dalaran (boat)
  • Prefetches textures, models, and WMOs into OS cache before teleport
  • Eliminates 50-60% of zone loading stutters
  • Worker thread pool (2 threads) with lock-free queue (2048 entries)

Multithreaded Combat Log Parser

  • Offloads combat log parsing to worker thread
  • Reduces main thread CPU by 40-60% in raids
  • Lock-free queue with async processing
  • Complements the existing combat log retention fix

Bug Fixes

Model Async Loading Crash

  • Fixed ACCESS_VIOLATION crash in model loading
  • Converted to synchronous caching mode
  • Cache provides speedup on repeated model loads without async complexity
  • Correct calling convention handling

Performance Impact

You Will Notice

  • Faster zone transitions and teleports (50-60% reduction in loading stutters)
  • Reduced spell cast lag (30-40% improvement)
  • Smoother addon-heavy gameplay (40-50% less main thread CPU usage)
  • Fewer texture loading stutters (80-90% reduction)
  • Better responsiveness during heavy UI workloads

Technical Details

  • All async systems use lock-free ring buffer queues for minimal overhead
  • Worker threads run at THREAD_PRIORITY_BELOW_NORMAL to avoid interfering with game thread
  • SRWLOCK protection for thread-safe cache access
  • Atomic counters for statistics tracking
  • Proper shutdown handling with 5-second timeout per worker thread

Compatibility

Recommended Setup

  • Use with !LuaBoost addon for best results
  • Disable conflicting GC optimizers (GarbageProtector, SmartGC, etc.)
  • Adjust damage meter settings to disable built-in GC optimization

Multi-Client Support

  • Automatic detection of multiple WoW instances
  • Reduced timer precision and working set targets for multi-client setups
  • All async optimizations work correctly with multiple clients

Installation

Option A - Proxy Load (Recommended)

Copy into your WoW folder:

  • version.dll
  • wow_optimize.dll

Then launch WoW normally.

Option B - Loader

Copy:

  • wow_loader.exe
  • wow_optimize.dll

Then launch wow_loader.exe.

Option C - Manual Injection

Copy:

  • wow_optimize.dll
  • your injector

Then inject after WoW starts.

Don't miss a new wow-optimize release

NewReleases is sending notifications on new releases.