Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-109254

Object Moused Over Lags Behind Cursor

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Minecraft 1.10.2, Minecraft 16w41a, Minecraft 16w42a
    • None
    • Windows 7 Home Premium SP1 (64 bit)
      Java versions 1.7 update 40 (32 bit) and 1.8 updates 45 (64 bit) and 60 (64 bit)
      CPU: AMD Phenom II P960
      GPU: AMD Radeon HD 6300M
    • Unconfirmed

      The object-moused-over lags behind the cursor for a fraction of a second, rather than following exactly where the cursor is pointed. The effect of the bug is more noticeable with lower frame-rates and quicker movements, but persists even with higher frame-rates.

      I first noticed this behavior in 1.8 while quickly flicking between different storage containers (chests, furnaces, etc) searching for items - I would consistently open the inventory of the block I used to be looking at, rather than the inventory of the block I had turned towards.
      A full list of affected versions includes 1.8 (possibly 14w29b and later) through 16w42a (latest as of this report).

      While this may not seem very detrimental to gameplay, the effects have become more noticeable with the advent of the 1.9 PvP update, especially in close-quarters melee combat where you must make very rapid movements to target fast moving opponents. In situations such as these, aiming directly at an opponent as they move past you will cause you to miss your swing (while you may see your cursor aiming at him/her, the object you are effectively targeting will be something behind them, in the direction you were previously looking), forcing you to wait for the weapon recharge time in order to effectively attack again. This can be countered - to a point - by either delaying your attack for a tick or two after turning (not usually an option with moving targets) or by aiming ahead of the opponent while they are moving (but this is inconsistent, as the speed with which you are turning will affect how far ahead of your opponent you need to lead your cursor (potentially looking so far ahead you cannot see, or can barely see, your opponent on screen)).

      Screenshot: http://imgur.com/NLDiqpx.png
      Video (16w42a vs 1.7.10): https://youtu.be/LQMashzXqZg
      While the screenshot was taken in a development environment using OptiFine (no changes made to code yet, besides those made by Opti), the video shows the problem occurring in the latest snapshot, and displays behavior in 1.7.10 as a comparison. The problem persists in all major vanilla updates and snapshots I have tested from 1.8 to the present (though the 1.8 snapshots are no longer available in the launcher, so I cannot test those).

      In a low-effort attempt to fix the problem myself, I decompiled 1.10 using MCP 9.31, and cut and pasted the mouse movement handler/player rotation code (the entire profiler section marked "mouse") from EntityRenderer.updateCameraAndRender() to Minecraft.runTickMouse(), resulting in the object-moused-over still lagging slightly behind the cursor (however much less so, 80-95% reduction in lag at all frame-rates; visually this is almost, but not quite, on par with 1.7.10; behaviorally, I have not noticed a difference with 1.7.10) with the side-effect of no longer having smooth movement when rotating (as I did not take the time to find out which changes need to be made to accommodate the mouse movement being synchronized with ticks rather than rendered frames). I can provide video of this as well, with or without the editing of the code.

      After sharing screenshots/videos of this with a few friends, they have reported the same behavior, though most do not experience it as much as I do (they don't set 20-30 FPS limits, and have computers that run their games faster, leaving them with less time per frame to notice the problem). As far as I know, one runs the same version of Windows with an Intel CPU and NVIDIA GPU and one uses a Mac, I do not know the specific specs of their machines.

            Unassigned Unassigned
            caucow98 caucow
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: