This past weekend, I decided to play some Assassin's Creed IV on PC. I don't know why, I just did. Whatever. That's not the point of this story.
I played the game on PS3 back when I reviewed it, then played more on PS4 to appreciate how much better it looked on better hardware. But I had never really done much with the PC version, despite liking the game. That's mostly because for me, the PC version never ran all that well. Sometimes it'd look great, hitting 60fps or close to it. But there were constant, maddening performance drops.
I re-installed the game recently, curious how it'd perform on my new(ish) GTX 970 graphics card. Turns out, yup, same problems as usual: Lots of dips down into the 30fps-40fps zone, irregular performance. I tried turning down the settings, and the performance somehow got worse. Huh.
I turned to Google, and quickly saw this old thread at the Ubisoft forums, titled "OK...this is a weird way to fix FPS issues, but it worked for me. Might work for you." That is an immediately intriguing way to name a forum thread, so of course I checked it out.
According to the poster, the charmingly-named "SgtSweatySac," here's what you do:
1. Start AC4
2. Load your savegame, and wait till you're fully in-world
3. Hold down your Windows Key and L to lock the PC
4. Unlock your PC
5. Click on the Icon in your taskbar for AC4
6. Enjoy the framez
I tried it. I loaded my game, checked my laggy performance, made sure it was all set. I hit Windows+L to lock my screen, then unlocked it. I clicked the game's icon in the taskbar and it loaded back up.
And… it worked. It worked perfectly. Suddenly, Assassin's Creed IV was running at a near-flawless 60fps. I jacked up all the settings, and it didn't miss a beat.
I'm sure this is a known thing among PC players of Assassin's Creed IV — this forum thread is from a year and a half ago, after all. All the same, it cracked me up both how unusual the fix was, and how entirely effective.
The soft consensus seems to be that by leaving and re-entering the game, the game forces triple-buffering, which eliminates some sort of software bottleneck that chokes the game when running with vsync. A similar fix can apparently be enabled using D3Doverrider, and I'm sure there are some other clever ways to get the game running better, too.
Whatever the case, and whatever the alternate solutions, I mostly just thought it was funny that a PC game as nice-looking as ACIV (I mean dang, it is gorgeous with everything cranked up) could be crippled by such a weird performance bug… and that the bug could be addressed in such a strangely simple way.
PC gaming! Even when it's annoying, it's kind of the best.