Skip to content

v1.9.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Aug 18:54

A small one, said plainly

1.8.0 and 1.8.1 were the large performance releases. This one trims a single piece of the collision code and you are unlikely to feel it: in a crowded street it is worth a fraction of a percent of frame time. It is here because the change costs nothing and leaves movement behaving exactly as it did, not because it is dramatic.

What changed

The routine that clips collision shapes was moving far more memory than it used. Every call began by clearing a block it then threw away unread, and every call that did real work copied a fixed 240 bytes for a shape that averages three corners. It now touches only the part it actually reads, which takes about fifteen percent off a routine that runs roughly a million times a second when a lot is moving near you.

The loop that feeds it was also rebuilding its scratch space once for every surface it considered, rather than once per pass. That is fixed too, though it turned out to be worth very little.

Movement is unchanged. The new version was checked against the original on live data for a full session and produced identical results every time.

Diagnostics

RUST_LOG=wow::perf=debug now reports more about the collision path, including how many surfaces each movement check looks at and how each one is resolved. As before, it is off unless you ask for it, it costs nothing while off, and you do not need it for anything.

Compatibility

Nothing to change. Install over 1.8.1 the way you did before, keep your settings, and no other mods are affected.