Mouse cursor lag (very noticable)

So I’m trying to solve this problem for about 5 hours now with no luck.

Basically, the coordinates of the cursor (from the Get Mouse Position node from player controller) are lagging several frames behind the position of the cursor that I see on screen.

I first noticed it when I made a movable UMG widget, and I thought “okay… UMG is perhaps a little delayed in the renderer”.

So then I tried some of the normal draw HUD functions and the draw debug functions and all had the exact same result.

So I figured the problem must not be rendering but the actual x,y coordinates from the Get Mouse Position node are the coordinates of the cursor from several frames ago (definitely feels like a lot more than a 1-frame lag btw).

At first you could think this is a mouse acceleration issue, there is even a big thread in the UT4 forums about how unresponsive the input in UE4 is compared to older game engines but the issue I’m currently having right now seems to be something like a frame buffering issue.

So my question is: where is this delay coming from?

Here is a simple test you can do with blueprints.
(in HUD blueprint)

23819-cursor_test_hud.jpg

And this is the result (animated GIF, you might need to wait for it to load):

http://i.imgur.com/mBFo9tz.gif

As you can see if you move the mouse fast enough the difference can get over 30 pixels in distance.

23832-pixel_distance.jpg

If your game relies in fast precise clicks this is going to cause huge inaccuracy.

Hello ,

I was able to reproduce this issue on my end. I have written a report (UE-6675) and I have submitted it to the development team for further consideration. Thank you for your time and information, I will provide updates with any pertinent information as it becomes available.

Make it a great day

Any updates on this?? we were using the Draw HUD to create our own cursors as well, as the 4.7 version has some focus issues with custom mouse cursors, but the lag is causing some issues with playtesting.

Hello DragonHunt10,

I went ahead an double checked on this issue for you. After reading over the comments section for this issue I found that this is an issue that is caused by the software cursor lagging behind the hardware cursor. It appears that this is a limitation for software cursors. In the case of the above example, this could be made less noticeable by hiding the default cursor and applying a custom software cursor so that they would both move and the same speed.

Make it a great day

Sorry but it’s not that simple. We are having this issue also, because we use custom UMG widget for mouse cursor. And this issue becomes even more apparent when in low fps situations, which leads to a heavy mouse interaction, instead of smooth as the default version.

We are also using GetMousePosition()
Any chance to have a fix or alternative to GetMousePosition()?

UE4 4.11.1.

Hello neo,

As stated in my previous post, this is a limitation of software cursors. I do not currently have a workaround for this issue.

Hi. About the issue, It also affects the touch actions, not only the mouse, if we want to use a widget to be located where the finger is actually pressed. So there is any workaround for that?

It’s very unfortunate this problem isn’t addressed. The problem is not that the software cusor is bound to FPS. The problem is that it’s position is interpolated. Thats why it always laggs behind the actual hand movement, even in high FPS it’s very noticable.
We just need an option to disable interpolation on software cursors. This will make them jump to new position on low FPS but would feel much more responsive and accurate.