ValveSoftware / Dota-2

Tracker for issues specific to Linux and Mac in the Reborn client. If you have a general issue or non-system-specific feature request please go to dev.dota2.com
469 stars 38 forks source link

[MAC OS] In-game cursor briefly stuck when edge panning with external monitor. #1030

Open ezewan opened 7 years ago

ezewan commented 7 years ago

I can't edge pan Dota 2 in-game with my external BenQ monitor. The mouse cursor will briefly stuck at the edge trying to move into another screen (lagged my game when this happens). It was okay until Mac OS Sierra. Please help to look into this. Many thanks!

My system information

Hardware Overview:

Model Name: MacBook Pro Model Identifier: MacBookPro12,1 Processor Name: Intel Core i5 Processor Speed: 2.7 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 8 GB Boot ROM Version: MBP121.0167.B17 SMC Version (system): 2.28f7 Serial Number (system): C02RKNZ5FVH3 Hardware UUID: 16DB84EA-C055-54BE-A113-8FF6091E5F83

System Version: macOS 10.12 (16A323) Kernel Version: Darwin 16.0.0 Boot Volume: Macintosh HD Boot Mode: Normal Computer Name:
User Name:
Secure Virtual Memory: Enabled System Integrity Protection: Enabled Time since boot: 57 minutes

gdrewb-valve commented 7 years ago

Did you upgrade to macOS Sierra on the system? If so things were working properly and then stopped working properly with Sierra and that was all that changed?

ezewan commented 7 years ago

Yes, the problem happened after I upgraded to macOS Sierra. For now, that's the only thing that make the game unplayable via external display on this system.

Sent from my iPhone

On 26 Sep 2016, at 11:25 PM, Drew Bliss notifications@github.com wrote:

Did you upgrade to macOS Sierra on the system? If so things were working properly and then stopped working properly with Sierra and that was all that changed?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

gdrewb-valve commented 7 years ago

You'll want to report this to Apple also, then.

kriskate commented 7 years ago

this happens to me on El capitan 10.11.6, same specs mac

TomNaessens commented 7 years ago

Same here after upgrade to OSX Sierra.

TomNaessens commented 7 years ago

This seems fixed for me now. I can't recall it being in the patch notes neither from MacOS nor from Dota, so I don't know what has fixed it.

gdrewb-valve commented 7 years ago

I don't know of any changes to address this in Dota, but possibly something affected it. If ezewan reports it working also I'll close this out.

TomNaessens commented 7 years ago

I had issues with it today again, so it's not fixed (sorry). I have no idea what was different, but I'll try some things are report back when I found something.

gdrewb-valve commented 7 years ago

OK, thanks.

dmaltsiniotis commented 6 years ago

Hello, I am also experience this issue. This issue was brought up almost a year ago, so I was hoping there was some of fix (either on the user end or by a software update.) This behavior unfortunately makes the game completely unplayable unless I disconnect my second monitor and use the MacBook Pro's main display only.

Whichever edge of the screen touches the other monitor is the one that has trouble. As the original requester states: There is a brief moment (maybe 100ms or so) that the cursor actually jumps to be the other screen, while simultaneous lagging/stalling the game for an equal period of time. So long as the mouse is attempting to move off-screen, the game will be lagged out/stalled.

If played in windowed mode, the problem is worse and happens on all edges of the game window. Meaning, if the cursor touches any edge (top, bottom, left, or right) of the game window, the cursor will jump out of the window for a split second and freeze the game (sometimes almost indefinitely.)

The only work-around for this problem is to not use an external display, which makes me really sad because I'd like to not have to re-arrange my physical desktop every time I play DOTA2.

System Info: I have a mid-2015 MacBook Pro with OSX 10.13.1 (macOS High Sierra) that I play DOTA2 on with the graphic settings off/low. I recently added a second monitor (connected via HDMI) to get some extra viewing space, when I noticed this issue.

Hardware Overview:
  Model Name:   MacBook Pro
  Model Identifier: MacBookPro11,4
  Processor Name:   Intel Core i7
  Processor Speed:  2.2 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 6 MB
  Memory:   16 GB
  Boot ROM Version: MBP114.0177.B00
  SMC Version (system): 2.29f24
  Serial Number (system):   C02Q4LMZG8WN
  Hardware UUID:    1FC401C3-BB05-5A0E-8C88-12F9618D5284

Intel Iris Pro:
  Chipset Model:    Intel Iris Pro
  Type: GPU
  Bus:  Built-In
  VRAM (Dynamic, Max):  1536 MB
  Vendor:   Intel
  Device ID:    0x0d26
  Revision ID:  0x0008
  Metal:    Supported, feature set macOS GPUFamily1 v3

Displays:
  Color LCD:
    Display Type:   Built-In Retina LCD
    Resolution: 2880 x 1800 Retina
    Framebuffer Depth:  24-Bit Color (ARGB8888)
    Mirror: Off
    Online: Yes
    Rotation:   Supported
    Automatically Adjust Brightness:    No

  ROG PG278QR:
    Resolution: 2560 x 1440 @ 60 Hz
    Framebuffer Depth:  24-Bit Color (ARGB8888)
    Display Serial Number:  H9LMQS153986
    Main Display:   Yes
    Mirror: Off
    Online: Yes
    Rotation:   Supported
    Automatically Adjust Brightness:    No

System Software Overview:
  System Version:   macOS 10.13.1 (17B48)
  Kernel Version:   Darwin 17.2.0
  Boot Volume:  Macintosh HD
  Boot Mode:    Normal
  Secure Virtual Memory:    Enabled
  System Integrity Protection:  Enabled
  Time since boot:  19:27
TomNaessens commented 6 years ago

@dmaltsiniotis I use DisableMonitor in the meantime to be able to play on my external monitor while my internal monitor gets "shut off". I have no idea if it'll help you with desktop arrangement though.

dmaltsiniotis commented 6 years ago

Thanks @Silox,

DisableMonitor works great as a work-around in this case. I'll continue to use that tool and hope this issue gets some love in the future.

Cheers

aalencar commented 6 years ago

@dmaltsiniotis @Silox Did you guys find any real solution?

dmaltsiniotis commented 6 years ago

Hi @aalencar,

Unfortunately, there is no "real" solution to this problem, and it's a pain in the butt. I don't think there ever will be a fix either, because the attitude I have observed during my research has been: "it was working before the last macOS update, so there must be something wrong with the macOS, not our problem."

However, using @Silox's recommendation to install the DisableMonitor app seems to be an okay enough work-around for the time being. However, the app has crashed my mac a few times when switching between sleep modes, but it doesn't happen often enough to be a serious concern.

When I boot up steam, I just make a habit of turning off the built-in LCD using the app, and I'm at least able to get a session or two in. Then when I'm done I re-enable the LCD.

Thanks, -DM

aalencar commented 6 years ago

@dmaltsiniotis I also followed @Silox recommendation to use DisableMonitor, it doesn't work very well on my second monitor though. The only workaround I found was to set the display arrangement diagonally. It's not great, but at least I can play without much trouble.

screen shot 2018-01-10 at 09 32 20

If people experience this in other games too it must be an OS problem then. I will keep looking for some solution and keep you guys posted.

mandal-ts commented 4 years ago

There are 2 solution:

close the laptop lid use mirror mode on display setting

OleksandrSechko commented 4 years ago

still valid problem for any macos laptop with external monitor Any plans to fix it?

xinan commented 3 years ago

I'm still having this problem today, after many years.

NickZorander commented 2 years ago

I'm also having this problem with my m1 mac with Monterey 12.4 and external monitor

pietro-rutzen commented 2 years ago

Having same problem on my Mac, many ruined teamfights because of this

pietro-rutzen commented 2 years ago

14' Macbook Pro - MacOS Monterey (12.5.1)

MariusRossouw commented 1 year ago

In the Terminal, execute

defaults write com.apple.dock workspaces-edge-delay 15 && killall Dock

will set the delay when dragging to screen edge to another desktop to too high that macOS would not do anything. Tried it myself and works for me.