Resolved Warband Is Extremely Laggy In The Menus and On The Map

Users who are viewing this thread

Hello. My system is Ryzen 5 1600, 16 GB RAM and GTX 1060 6GB. I can play Bannerlord around 90-120 FPS on medium settings. However, in Warband, menus and map are too laggy. There is no single problem in town centers and battles, but menus and map are catastrophic. The last time I played Warband was August and I didn't have such a problem. I tried every single graphic preset. Even "very low" doesn't work. I had no problem on "ultra" before. Why could this be happening?
 
With the recent Nvidia Driver Update "496.49" the game becomes unplayable after couple of minutes. It starts with the mouse cursor by flickering and the game fps is dropping from my 141fps to 50fps then back to 141fps and in the next moment its going down again. I had once this issue some months ago and after Nvidia released an new driver update, the issue was gone. Also after restarting the Pc and going back to the game will fix this issue for couple of minutes before it starts again to drop the fps! Is there anyway to fix this issue permanently?

You can try this:
This is due to the program doing a SetCursor with NULL making the cursor invisible using GDI, then doing a SetCursor with DirectX to set the cursor visible again. Whilst I do not the exact mechanism as to why it causes FPS issues, I'd guess that it's due to some kind of GDI/DirectX synchronization having to occur.

A workaround is to patch byte at 00216FA5 from 00 to 01 In mb_warband.exe (for steam version at least). This causes the SetCursor to fail thereby preventing the aforementioned hitching. In my system my FPS became steady and never once dipped again.

Side effects may include a cursor being visible when it shouldn't be (though I doubt it).

This may be an NVIDIA bug, it might be a Windows GDI bug, but really, ultimately, this is just a poor programming bug. There is no reason I can think of why the cursor must be hidden by GDI just to be shown again by DirectX. Perhaps editor mode? Maybe?
-----
EDIT: -- I'd like to point out that after further research the above is actually valid and usual way of handling this according to the Microsoft documentation. Why this causes flickering is unknown, and why ignoring the setCursor fixes it is also unknown.

-----

Anyway, I develop programs for my real life, and I've written an automatic patcher to make the single byte change above (for steam version only), I'll link it below (if it works, not sure if the forum will mangle it).

It's an exe file because that is easiest to distribute. Reminder that you should never download .exe files the internet, but here you go:

You can always restore the Warband files using Steam to re-validate them if you think something is wrong.
 
Back
Top Bottom