Payday: The Heist Input Lag – REAL fix for ATI usersSeptember 28, 2014
I’ve got a Lenovo T500 laptop, and bought Payday (1, or The Heist) to play coop with the roommate on the living room gaming PC. So, naturally, I was a bit disappointed to find that my laptop’s dedicated Radeon HD 3650 was giving the game so much trouble. The GPU doesn’t have GPU Compute capabilities, so all the physics work has to be done on the CPU. No problem, I’ve got a Core 2 Duo P9500, about as high as you can get in this PC. But the GPU cannot be upgraded without a whole new PC. Typically, I just leave the integrated Intel graphics enabled, and ATI switched off – I’m not a gamer, so I don’t play many games.
This PC has no trouble playing Portal 2 at max settings and full HD 1920×1200 on my HD laptop display, though… but in Payday, the input lag is so bad, it’s impossible to even navigate the menus with nearly a 600msec delay on all inputs! Move mouse up, half a second later the mouse moves up on screen. Try aiming for menu options when the mouse is so far behind where it’s being moved, you overshoot EVERYTHING, even basic navigation controls on the menus.
Problem: the engine was running at nearly 15 FPS, high enough to be visibly acceptable, but this apparently screws with the engine timing. It has to be near enough to the refresh rate (50hz in my unusual setup, I can’t get it to stay at 60Hz without resetting next time I plug/unplug AC power) that it doesn’t drop frames to sync with the screen.
Solution: axe some quality options. The game has quite possibly the worst graphics configuration page in the industry, allowing only resolution and some texture quality tweaks… but not the stuff that counts that it clearly is incapable of auto-detecting. The flip queue size is a big one, from what I understand – causing the GPU or game engine to queue up too many frames and ignoring input latency.
Enter ATI Tray Tools. It lets you change the hidden settings of the driver/platform to squeeze the extra performance needed to run this game smoothly. Install it (defaults), open it, and use the tray icon to set:
3D -> Antialiasing -> Application controlled (“Disabled” would be nice, but only the game has that control for some reason)
3D -> Anisotropic Filtering -> Performance, then “Application Controlled” (I have a feeling that though it greys them out after setting Application Controlled, the Performance option sets some additional settings under the hood as well)
3D -> Texture Preference -> Performance
3D -> Mipmap -> Performance (seeing a trend yet? lol)
3D -> Wait for vertical sync -> Always off (we never, ever want the GPU waiting on anything petty like the screen refresh rate, tearing will never ever happen here on this chip)
3D -> Flip queue size -> 1 – this is my setting right now, though “0” is commonly recommended – play with it and see what gives better performance for you.
In the game:
Texture quality: Low (minimal impact, if you have more GPU RAM than the minimum spec, then you can safely bump this up)
Streaks: Off (though I can probably turn a few of these back on, as they rely on CPU and not so much GPU)
Light adaption: Off (adaptation, rather? Dunno, but same as above, may be irrelevant)
And now, I went from 15 FPS in the menus to a blistering 50 FPS, and the cursor moves instantly, as does the control in the game.
It’s a damned shame Overkill never even addressed these issues, and everyone in the forums acts like Compatibility Mode (zero effect on mine) or a patched d3d9.dll file (also zero effect, except a blank screen on the second version of the patched file I tried), is some kind of fix that’ll work for anyone. No amount of config file tweaks, patches, or other crap helped until I did these things in ATI Tray Tools.
Windowed mode also helps, but who wants to play the game in a pinhole?