Skip to content

wow_optimize v3.18.0

Latest

Choose a tag to compare

@suprepupre suprepupre released this 27 Jul 20:52

wow_optimize v3.18.0

Two features that were quietly overwriting your graphics settings are gone, one new
feature replaces them, and four diagnostics stopped reporting numbers they had not
measured.

Thanks to txtsd, whose testing confirmed the 3.17.0
text-rendering fix and whose logs are where most of what follows was found.


Your graphics settings are yours again

Two "adaptive" features scaled quality down when frame rate dropped — and both
started from a number written into the code rather than the number you had set.
Turning them on could raise your settings instead of lowering them.

  • Adaptive Farclip assumed a draw distance of 1250. If yours was 500, it dragged
    you up toward 1250 — heavier, while claiming to be lighter. It also moved on
    thresholds three frames apart (below 55 fps, above 58), so anyone playing near 60
    had it adjusting constantly.
  • Particle Density Scaler assumed 1.0 and restored to 1.0, so a deliberate 0.5
    was pushed back to full density.

Both removed. (Dynamic Shadow Scaler, which had the same flaw, went in 3.17.0.)
Nothing in the DLL now overwrites a setting it never read.

New: Adaptive Quality Governor (experimental, off by default)

One dial in place of three that argued with each other.

It learns your ceiling by watching what the game writes when you change a setting,
and treats that as a limit it will never exceed — the worst it can do is give back
what it took. It decides on the p95 of recent frames rather than an instant frame
rate, so one slow frame moves nothing. It degrades after 5 seconds past 33 ms and
restores only after 30 seconds back under 20 ms, because quality flickering up and
down is worse than quality being slightly too low. It gives up particles first, then
shadows, then draw distance.

It has not been proven on anyone's machine yet. That is why it is opt-in and on
the Experimental tab. If you run it, the [FrameBench] block at the end of your log
tells you whether it helped.

New: Experimental tab in the launcher

Unproven features now live on their own tab, and Enable All no longer switches
them on
. It used to, which meant anyone testing "everything enabled" was also
running code that had never executed in a real game — and made their results
impossible to interpret.

Diagnostics that stop reporting what they did not measure

  • The CVar watchdog ran at injection, before the client had initialized anything
    it inspects. All nine of its CORRUPT findings were a game that had not started
    yet. It now waits until the client is up.
  • A 41.9-second loading screen was recorded as a frame, which made p99.9 and
    max meaningless. Gaps over 2 seconds are now counted and reported separately.
  • The profiler ranked NtDelayExecution — a thread doing nothing — as the second
    hottest function, crediting it with a share of "executing" time it was by
    definition not using.
  • The loading report printed 0 ms inside ReadFile in sessions where that hook
    was switched off and nothing had been measured at all.

Loading screens are now measurable

Logs show loading screens running past 30 seconds on some setups — on one tester's
machine, 7 of 12 loads. The cause is not known yet. This release adds timing that
separates disk time from the rest, without switching the MPQ cache back on to get
it. If your loads are slow, your log now carries the evidence.


Upgrading

Settings carry over. If you had Adaptive Farclip or Particle Density Scaler
on, they are gone, and farclip / particleDensity will stay where you put them
from now on.

Worth checking once: open the game's own video options and confirm draw distance
and particle density are where you want them. Those features may have left them
somewhere you did not choose, and the value persists in your config after the
feature stops running.

To try the replacement, enable Adaptive Quality Governor on the Experimental tab.

Install

Copy wow_optimize.dll, wow_optimize_launcher.exe and version.dll into your WoW folder. No injector
needed. Run wow_optimize_launcher.exe to configure which features are on.

File Purpose
wow_optimize.dll the optimization DLL
version.dll auto-loader proxy — WoW loads the DLL itself
wow_optimize_launcher.exe feature configuration dashboard

Please send a log

This is the most useful thing anyone can do for this project and it takes about
thirty seconds. Play a session, quit the game normally, and attach
Logs\wow_optimize_<date>_<time>.log to an issue.

Every fix in the diagnostics section above came out of a log someone sent in. The
[FrameBench] block at the end says whether the features you enabled actually did
anything on your hardware — which is a question this project could not answer at all
until recently.