Might & Magic X: Legacy and Special K Control Panel

Hello there!

Any of you remember M&M X: Legacy? It’s a rather notorious game for many reasons, released in 2014 or so to VERY mixed reviews (actually, most bad) but it’s one that I’ve grown strangely fond of.

The Problem:

  • Might & Magic X tanks its framerate horrible anywhere outside of dungeons or towns. It can literally halve the framerate, even on a modern, very power gaming PC, which, as this game is turn-based but still open-world, is not deal-breaking but obviously very irritating.

What I Was Hoping For:

  • As a Unity game, I was hoping that Special K’s Control Panel could be used to alter the way the game is rendering, to hopefully achieve a more stable framerate, much in the same manner that another rather notorious RPG, Pillars of Eternity 2, was able to attain using one of K’s .dll files.

What I’ve Tried:

  • I tried a manual installation first, after verifying that the game is native 32-bit and uses DirectX 9. This caused the game to not even be able to launch, complaining it couldn’t find a compatible resolution.

  • I then tried a global installation using SKIM in Compatibility Mode (branch?), which yielded some encouraging results, since I was finally able to get the Special K Control Panel to come up. Unfortunately, I couldn’t enable and/or alter any of the options I thought needed alteration as with the Pillars of Eternity 2 instance, namely (potentially) CPU Core Parking, and, more specifically, the SwapChain settings that worked wonders for fixing PoE 2, as these options simply weren’t present using this installation method.

Any of you care to take this one on? I don’t mean to sound lazy, but, frankly, I’m not sure what I’m doing with these settings. I’m not even sure if SpK will or can even make a different in M&M X, but I thought it was worth taking a swing here in the forums to see if someone else much more proficient with the injector can figure it out.

Might & Magic X: Legacy is available through Steam and, I believe, through GoG. All one has to do to see the problem is to create a quick party in the game, go through the opening quest that the local garrison leader gives you (clearing out a spider cave) with then allows you to leave the town. Round the first corner then head slightly north (a few steps only) and watch the framerate go from the low-hundreds down to the miserable 50s.

Thanks very much to anyone reading this and much moreso to anyone who feels like taking a crack at it.

SKIM is not being updated any longer – it only carries heavily outdated copies of Special K. Use the Download link at the top of this forum to download the latest copy of SK, which makes use of the newer SKIF tool instead.

You might want to uninstall the global injector of SKIM before you do that though.

DirectX 9 games are limited in what SK can do, and as PIllars of Eternity 2 is using DirectX 11 many of SK’s more advanced features will be available in that game than in M&M X: Legacy.

You might also want to look into trying out the following tools:

  • dgVoodoo 2 turns DX9 games into DX11 games.
  • DXVK turns DX9 games into Vulkan.

It’s possible either of the above might provide some form of performance boost solely by translating the original DX9 calls into DX11 or Vulkan.

Wow, thanks for the tip! I’ll give both of those a try and report back here.

I know you’re not here to support dgVoodoo 2 but I hope you don’t mind throwing me a couple of more tips.

So far Voodoo is starting the game with the Voodoo logo in the lower-right, and I can see and move around M&M X’s cursor as well as hear the game’s sounds, but otherwise a blank screen. I’ve tried most of the options in the Voodoo Control Panel already, none of which are making any difference.

Any ideas?

Another update:

DXVK appears to run correctly, but yields no performance improvement in the specified area. Exact same framerate as standard.

Ah, sorry, I haven’t run into that sort of issue myself. At most I have run into an issue with dgVoodoo’s virtual GPU not having enough VRAM assigned to it, that can cause some games to crash, but not a completely black screen.

This might mean that whatever issue is causing the frame rate isn’t render related and simply a matter of thread synchronization or some other stupid bottleneck within the game itself.

If you happen to get Special K working with the game you can try enabling the “Sleepless [Window/Render] Thread” in the advance section of the frame rate limiter, as that prevents those threads from sleeping which might fix the issue if it’s related to some internal sleep operation on the thread.

I think you’re right about the game’s engine inherently having this flaw. People have been complaining about this game since the beginning, especially since its developers gave up on supporting it so quickly.

I might give Special K another go with the sleepless option you mentioned. I’ll post back if I have any luck.

Thanks again for your help.

I wanted to report at least one fairly happy outcome to this.

It turns out that rendering M&M X in Vulkan mode (using DXVK) cures yet another bug in the game, the one where enemies flicker or shimmer specifically in the Elemental Forge area and in other areas of the game.

While the poor framerate in the outdoors areas may never get solved, by far the most enjoyable areas are in the dungeons, and this fix goes a long way towards preserving that.