Results 1 to 2 of 2

Thread: FPS Drop when pulling cursor into bottom right corners

  1. #1
    Basic Member
    Join Date
    Jan 2015
    Posts
    9

    FPS Drop when pulling cursor into bottom right corners

    System information
    • System information from steam: https://gist.github.com/nicklozon/df...311d09ddf56aee
    • Have you checked for system updates?: Yes
    • Are you using the latest stable video driver available for your system? Yes
    • Have you verified the game files?: Yes
    • Windows 10 (Currently on 1903, occured on older 18* builds)
    • Any rendering engine
    • AMD GPUs (XFX R9 280, haven't seen any Nvidia GPUs reported)
    • Any CPU architecture (Intel and AMD Ryzen reported)


    Description of issue:
    FPS Drops when moving mouse cursor to bottom right corner - caused by "dota_mouse_window_lock 1" which locks the mouse to the window.

    Steps for reproducing this issue:
    1. Disable Edge Pan (not necessary, but makes it easier to reproduce by not having the screen move, could also move camera to very bottom right of map)
    2. Disable V-Sync (V-Sync reduces the chance of it happening)
    3. Set "Maximum frames per second" to the maximum 240 (Same as V-Sync, reduces chance of happening)
    4. Use full-screen or borderless windows mode (Can also use windowed mode, but window must be placed in bottom right hand corner of monitor)
    5. Demo any hero, or spectate a game with Free Camera (Other camera modes do not "lock" the mouse to window, so the issue does not occur)
    6. Pull mouse to bottom-right corner of the screen, continue pulling the mouse consistently and the FPS drop will persist until the mouse has stopped moving toward the bottom right corner.


    Proof
    Here is a screen capture of me reproducing the issue. I had to use my phone because OBS did not properly capture the mouse movement. I have the game running in Windowed mode and placed in the bottom right corner of the monitor - the window border shows the mouse position. I pull the mouse into the corner and the FPS drops from 200 to 29. As I continue to pull the mouse down into the corner the FPS drop is constant. The cursor position is actually being pulled back and forth despite the movement of the mouse is to the bottom right. The faster I pull the mouse into the corner the more it approaches it, the slower I pull it actually gets pulled back 40 or 50 pixesl to the left. Something within DotA or Windows is actually fighting with the position of the mouse. It's as if DotA is allowing my mouse to travel to the bottom right corner, but then another process within DotA is overriding and repositioning the mouse.



    The FPS drop occurs because the CPU usage drops - DotA must be wasting valuable cycles on mouse position rather than the main loop of the game? Here is what my CPU usage looks like before and during the FPS drop - sits at a solid 40% when rendering at 200fps, then drops to 10% when rendering at 29fps.



    Workarounds/Solutions
    • dota_mouse_window_lock 0 - can't have multiple monitors though
    • Make cursor 205% size or larger
    • Play in Window mode without the game touching the bottom right corner of the monitor
    • V-sync - Reduces chance of the FPS drop occuring. One thing to note with this is that WHEN the FPS drop does NOT occur, the mouse position DOES NOT move back 40-50 pixels to the left, it remains in the very bottom right corner. Since V-sync is essentially telling the DotA process to wait until the previous frame is drawn, DotA bypasses whatever mouse position logic that is causing the FPS drop. In other words, V-sync off makes sure that the issue always happens because the main loop of DotA never skips. (I could be wrong, I'm just applying my basic knowledge here that makes sense)
    • Lower "Maximum frames per second" - I think this works the exact same as the V-sync partial solution above


    Things that did NOT help
    • Disabling all overlays
    • Disabling multiple monitors
    • Using a different mouse
    • Updating GPU drivers
    • Updating OS
    • Verifying file integrity
    • Completely reinstalling the OS
    • Resetting all GPU settings
    • Killing almost every process running on the machine
    • Moving the taskbar
    • Disabling Game DVR
    • engine_no_focus_sleep 0


    Links to other reports
    Last edited by Lulzon; 09-01-2019 at 10:14 AM.

  2. #2
    Basic Member
    Join Date
    Jan 2015
    Posts
    9
    I've fixed the issue by using "dota_mouse_window_lock 0" - can't use multiple monitors however.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •