Lag on old PC games until a gamepad is connected

backwards compatibilityperformancewindows 10

Some older Windows XP games are running very slow on my Windows 10 PC. However, if a gamepad is connected before the game boots, it runs at full speed. It doesn't matter whether the game even uses gamepad input, mostly with GameMaker games.

Example game to try

Video showing the problem

In the above video's first clip, I run the game with no gamepad connected first, and it lags. Then, upon connecting a gamepad (Shown on the bottom-right as Steam detects the controller) and restarting the game, it runs at full speed.

In the second clip, I run the game with a gamepad already connected, and it is running full speed. I disconnect the gamepad and restart the game, and get lag. Upon re-connecting the controller and restarting the game, it runs at full speed again.

I've tried all sorts of compatibility settings (Running in compatibility for XP on both service packs, compatibility for 7/8/8.1, compatibility for admin privileges, run in low-res monitor mode, tried different color bit settings) to no avail.

It can't possibly be my PC either:

  • Windows 10 Pro (64-bit) running on an SSD
  • Intel i7-6700K (4.0 Ghz quad core)
  • 32GB DDR4 RAM
  • AMD RX580

Any suggestions on how I can get this working?

Best Answer

I'm gonna guess that its from a release of gamemaker that causes problems. (The lag is clearly not coming from the game itself, because with your specs you could probably run at 1000fps.)

Something like Gamemaker, before every frame, checks what the input pressed on the controller is. Windows, not having any controller plugged in, has nowhere to send that request so it doesn't crash, it just hangs. And Gamemaker is waiting on that response to render the following frame. That response at least got a delay that if nothing is received, it kills the promise and continues rendering the frame.

So, any solutions? Not really. Here are my 3 fixes.

  • Have the author of the game recompile the game in a earlier or more recent release of gamemaker that doesn't have the problem.
  • Have a windows plugin that emulates having a controller plugged in, and leave it neutral.
  • Just have a plugged in controller on the side and play with keyboard like you were about to.