There is something very wrong with performance

:arrow_forward: GAME INFORMATION

:point_down: These details are CRITICAL; DO NOT skip them or your issue may not be reviewed.

  • GAME BUILD #: 101.101.45340.0 6228353
  • GAME PLATFORM: Steam
  • OPERATING SYSTEM: Windows 10

:arrow_forward: ISSUE EXPERIENCED

:point_down: DESCRIBE THE ISSUE IN DETAIL (below). LIMIT TO ONE BUG PER THREAD.
I get ~50% better performance when using a 3rd party app (Special K) to run the game in exclusive fullscreen mode + with Win 10’s DWM vsync disabled.

:arrow_forward: FREQUENCY OF ISSUE

:point_down: How often does the issue occur? CHOSE ONE; DELETE THE REST!
100% of the time / matches I play (ALWAYS)

:arrow_forward: REPRODUCTION STEPS

:point_down: List CLEAR and DETAILED STEPS we can take to reproduce the issue ourselves… Be descriptive!

Okay so just to better explain this I’ll try to establish a few the basic things (well as well as I know them at least) first. AoE 2 DE is running in a borderless window even when you set it to full screen, this is a well known fact. Because of this borderless mode Windows 10’s DWM is forcing a type of triple buffered vsync on the game that’s basically the vsync you’re getting when you’re just doing stuff in Windows. This is always on, even when turning off the in-game vsync setting.

Now it is also a well known fact that a lot of games exhibit performance issues when they are running in a borderless window: lower fps, frame pacing issues etc. so usually it is not recommended to run games like this. Exclusive fullscreen is the way to go, a mode AoE 2 sadly doesn’t support by default.

To get exclusive fullscreen working and to force Win 10’s vsync off I’ve been using an app called Special K and I noticed a significant improvement in performance and GPU utilization when using the software. It’s very much insane to the point where I think that there is something very wrong with the game’s base “factory default” performance.

I don’t know if this is caused by the borderless windowed mode the game is running in, the newly introduced setting that locks the framerate to the monitor’s refresh rate (double buffered vsync to lock the fps maybe?) or something else but it’s really strange.

:arrow_forward: EXPECTED RESULT

:point_down: What was SUPPOSED to happen if the bug you encountered were not present?

A huge improvement in performance in GPU limited scenarios for everyone maybe.

:arrow_forward: IMAGE

:point_down: ALWAYS attach a PICTURE (.jpg, .png, .gif) or VIDEO (.mp4, YouTube link) that highlights the problem.
Here are two Youtube videos I recorded comparing base performance to Special K’s exclusive fullscreen.

Base:
https://www.youtube.com/watch?v=bxNJE1e9Dnw

With Special K:
https://www.youtube.com/watch?v=iuBI-9pJKw4

Here’s the download for Special K itself if needed:
https://discourse.differentk.fyi/

:arrow_forward: GAME FILES (SAVE / RECORDING)

:point_down: Attach a SAVE GAME (.aoe2spgame) or GAME RECORDING (.aoe2record) of the match where you encountered the issue. Link it below if using an external file service.

5 Likes

I tested this SpecialK software to try and run the game in exclusive fullscreen mode. The game doesn’t even start. It tells me my hardware does not fulfill the minimal requirements (fullscreen seems to be missing :D). So it seems the solution is not that simple.

Yep, it’s not exactly the most straightforward thing in the world and occasionally the game might crash on launch. To make matters worse AoE 2’s anti tamper can complain about Special K too so it’s recommended to disable anti tamper protection in Windows Defender, that seems to get around the issue (AoE 1 DE still won’t work sadly).

As for Special K itself the app generates a profile, a .ini file for every game you use it with and in my experience that’s the best way to config vsync. And that’s what your main objective should be btw: to disable that weird “fps lock” that seems to be bad vsync implementation that’s causing all this. A setting called “PresentationInterval” controls vsync in the .ini file and by default it’s set to “-1” which is telling Special K to use the game’s default. Set that to “0” and now vsync should be gone along with the fps lock and exclusive fullscreen should work properly.

Your profile file for Special K and AoE 2 should be in “C:\Users\yourusername\Documents\My Mods\SpecialK\Profiles\Age of Empires II Definitive Edition”

The ideal solution would be of course if the developers turned the fps lock off along with letting us properly get rid of Win 10’s vsync so that we could just do whatever we wanted. Getting rid of that stuff actually gives you even more options since certain GPU driver controlled settings (for example Nvidia’s half refresh rate adaptive vsync) that didn’t work before just start to work without it.

For example ever since I managed to get rid of this (along with the insane stutter that is happening because of the game constantly switching between 144 and 72 fps on my 144 Hz monitor) I’ve been using half refresh rate vsync along with locking my frames to 72. It’s the smoothest experience I’ve ever had with the game, it’s just consistent, responsive and awesome instead of a stuttering mess.

And Special K is not some magic app that gives the game wings and extends it with features it’s not capable of, it’s just that the game doesn’t give you the option to control this stuff and gives you broken “solutions” instead for some reason.

2 Likes

This issue wasn’t fixed in game update 46295 sadly, the game still locks to half the refresh rate in scenarios where the framerate doesn’t reach or exceed the monitor’s refresh rate.

According to update 45185’s patch notes this is not supposed to happen:

Updated how GPU and CPU resources are consumed when running the game. When Vsync is disabled, the FPS will be capped at the monitor’s refresh rate rather than drawing upon all available resources.

Also: players should absolutely have the option to customize and turn off the fps lock anyway especially since the fps lock got patched into the game 1.5 years after release when most regular players won’t be able to refund the game if the stuttering ruins their experience.

a nice find, theres much performance improvement to be had and hope they get on it eventually.

Still the same behavior. I honestly expected this to get changed into something that’s just more functional for 2021 honestly.