Skip to content

Motion Prediction

bolrog edited this page May 29, 2021 · 12 revisions

Even with the familiar "fps fix" applied to Diablo II, the internal game logic only ticks at 25 fps.

Rendering at e.g. 120fps won't give a smoother experience normally.

D2DX now has a new feature that predicts unit positions between logic updates, resulting in actual high fps rendering. (As far as I'm aware this has never been done before with Diablo II.)

This is now enabled by default, but can be disabled with -dxnomop.

Please report any issues you have!

Known bugs/limitations (this is a work in progress!)

  • Works on 1.09d, 1.12, 1.13c, 1.13d and 1.14d.
  • Doesn't work in "low quality" mode.
  • Use at your own risk, especially on bnet.

Upcoming changes

  • Completed support for the other game versions.

Latency

The method doesn't add any lag, but may mispredict the motion during 1/25th of a second, after which it tries to gradually compensate for the prediction error.