[BUG] Moving mouse drag scroll screen jump

I noticed that approximately week ago I started experiencing drag scroll screen jump bug again, which was patched out before, but came back for some reason. This bug has happened to many people throughout the years before, so I’ll just copy info from one of the previous posts (us.battle. net/forums/en/sc2/topic/11913192186 ) on how it works, as I experience exactly the same thing:

tl;dr
Set mouse polling rate to 1000 Hz, use drag scroll while mouse is already moving, screen jumps unexpectedly. Occurs on Windows.

Description:
Using drag scroll causes the screen to quickly jump one or more screens in distance from the intended spots. Using Windows 8, with both an HP VoodooDNA mouse, and a Logitech G700.

Only occurs when:
The mouse is already in motion when the middle mouse button is pressed.

When the polling rate is at 1000 Hz, the game is unplayable. At, 500 Hz, the occurrence of the bug is dramatically reduced, but still occurs sometimes. At 125 Hz, the bug is still present, but the game is playable.

If the mouse is stationary when you press the middle mouse button, and then you move the mouse with the button held down, drag scroll functions as normal. If the mouse is already moving when you press the middle mouse button, and you continue moving with the button held down, the screen jumps one or more screens. It’s not a smooth jump, like you would pan the camera over. The screen jumps as if you had set a camera location hotkey and used it to jump to it.

Reproducing the bug:

  1. Set your mouse’s polling rate to 1000 Hz.
  2. Start a game of SC2, any kind. Custom vs AI is fine.
  3. After the game starts, quickly move your mouse. The faster, the more the screen jumps.
  4. While the mouse is still in motion, press and hold the middle mouse button for drag scroll.
  5. The screen may jump. If not, repeat from step 4.

My DxDiag.txt:
Operating System: Windows 8.1 Pro 64-bit (6.3, Build 9600) (9600.winblue_gdr.131030-1505)
Processor: Intel® Core™ i5-2500K CPU @ 3.30GHz (4 CPUs), ~3.7GHz
Available OS Memory: 8154MB RAM
Page File: 4487MB used, 5585MB available
DirectX Version: DirectX 11
Card name: NVIDIA GeForce GTX 770
Manufacturer: NVIDIA
System Manufacturer: Gigabyte Technology Co., Ltd.
Chip type: GeForce GTX 770
Device Identifier: {D7B71E3E-52C4-11CF-B57B-0E161CC2C435}
Vendor ID: 0x10DE
Device ID: 0x1184
Display Memory: 4033 MB
Current Mode: 1600 x 900 (32 bit) (60Hz)
Native Mode: 1600 x 900§ (60.000Hz)
Driver Version: 9.18.13.3165
Driver File Version: 9.18.0013.3165 (English)
Driver Date/Size: 10/27/2013 09:12:42, 18199872 bytes

Other:
I’m not the only one to have encountered drag scroll issues:

us.battle. net/sc2/en/forum/topic/9573277866
www.teamliquid. net/forum/tech-support/412485-mouse-jumps-but-only-when-dragging-the-screen
us.battle. net/sc2/en/forum/topic/4254464737
us.battle. net/sc2/en/forum/topic/188778963
www.teamliquid .net/forum/tech-support/316906-drag-scroll-mouse-jump-issue-video
us.battle. net/sc2/en/forum/topic/8197581067

I’m not sure if these people are experiencing the same bug, or different bugs with similar symptoms, as solutions that have worked for them haven’t worked for me.

Someone made a video of this bug here:

www.youtube. com/watch?v=HIoKqnEez9Q&list=FL7ZcMvH47QCaV9qgMHKHCuQ&index=26

It happens more frequently/consistently with me though. If needed, I’ll make another video myself.

Some more info about the problems from myself:
I do not think that this is hardware related problem, because I happened to switch my gaming laptop few days ago, and exactly the same problem occurred in my previous one, and in the current one I’m using which is brand new. As all the previous posts with this problem say, decreasing the polling rate of your mouse helps a bit, but doesn’t remove the issue, and unfortunately still cost me few games when it happened during important fights of the game.

Here is a video which shows how the bug looks, as the link in original post doesn’t work:
www.youtube. com/watch?v=Ap19Ftq610g

My MSInfo:
pastebin. com/hSjwQYsW

dxdiag:
pastebin. com/EiEunS64

Here is another comment from the post I linked which talks more about how he think it’s possible to fix it:

May 3, 2014

I fooled with this forever. I can explain the problem and how to fix it:

/////////////////// What’s Happening ///////////////////

The jump vector is seemingly random, but isn’t. The direction and magnitude come directly from the location of the mouse cursor on the screen with respect to the center.

Here is a video further explaining this horrible, horrible bug:
http://youtu.be/Ap19Ftq610g

I slowly move my mouse around while rapidly toggling drag scroll on and off. The result should be a series of very tiny, gentle movements, barely moving the screen. You can see that there are rather frequent jumps. The jumps come at random, but they always move towards the direction of the mouse cursor from the center of the screen. The further the mouse the bigger the jump. Dragging from near the left edge causes a huge jump westward, etc.

This shows that the screen coords of the mouse cursor are being mixed in with the world coords of the drag scroll delta (watching the video, you can also see the opposite bug – my mouse is occasionally forcibly moved to near-center, i.e. the mouse is moved to the coordinates of the intended drag-scroll vector interpreted as an absolute position on the screen).

Vsync, mouse sample settings etc. only appear to fix the problem by reducing the frequency of certain events, making the underlying race condition less likely. YMMV with any such fix, this bug is naturally system-dependent, but the fault is entirely owned by SC2.

/////////////////// How to fix it ///////////////////

A data race is causing the mouse and/or the camera to be moved to erroneous locations from receiving each other’s position values. Because the values being swapped aren’t similar (pixel coord vs game unit delta), you are likely looking for an overloaded temp object somewhere in code fired when drag-scroll is first pressed.

All a dev has to do is find this temp variable and duplicate it to avoid the hazard – and even if I’m wrong about that, the fact that the cursor location (of all things) is the source of the jump should be plenty to go on.

/////////////////// To sum up ///////////////////

For the people who use drag scroll, this bug is BY FAR the least fun way to lose an army. It is a constant source of stress. It is ancient; probably day zero. It is easily reproducible. It hasn’t been fixed or even made a known issue.

Most importantly, it is clear that this isn’t hardware issues, or obscure driver/os problems like people keep suggesting. It is a simple code error on SC2’s end, and somebody should really be working on it.

1 Like

I can confirm having this bug as well as of today. I have a mouse with 1000hz polling rate and it makes drag scroll unusable. I would welcome this being fixed. It seems like this bug came back with a recent patch?! I didn’t have this issue a couple of days ago.

I’m struggling with the same issue. Very annoying way to lose your forces when the screen jumps when microing. Wish this could be fixed soon. I switched to drag scroll because it seems like a more efficient way to navigate but with how unreliable it is I feel it’s un useable atm

Hey Guy’s,

Do you have a problem when the characters are pumping slow out of building or something during the game. It was slow. Not in normal game speed in the game.

Walter Chow

Same here. I’ve played SC2 for over a decade since launch and never encountered this bug until recently after I switched to newer PC (using the same mouse). The bug makes the game unplayable.

I can’t believe it is present since launch, how is it possible?

I’ve found multiple threads on it, but no solution. That’s ridiculous! How did pro players deal with it?