Skip to content

Performance issues with Dungeon Siege 2 - Broken World #3

@GothicIII

Description

@GothicIII

Hi again,

shameless crossposting from there:
https://steamcommunity.com/app/39200/discussions/0/3809531933812050831/

Problem:
The game (Dungeon Siege 2 : Broken World) runs with low fps. It often drops below 20 frames per second.
Systems not affected reach easily 90+fps with the same settings. Affected systems don't have any performance problems with the vanilla version of the game.

Cause:
Unknown.

I can not rule out BIOS settings since there are plenty of options to check against.
It seem maybe a CPU issue. If I downclock the CPU on an affected system from 5.8Ghz to 3.4Ghz the frames go down proportional.
My test laptop -which is not affected by this bug- clocks max. at 3.4Ghz and reaches 90fps.

Thesis:
The game .exe wastes CPU cycles on specific hardware configurations and thus dropping the frames. Since it is not bound to a specific CPU model (e.g. Intel i13th gen is both affected and not affected) I would point to either a lowlevel BIOS/UEFI-Implementation problem (UEFI & CMS both affected) or it is a mainboard problem. I have 2 affected MSI boards. KVM is affected, too.
This is an edge-case which does not affect other real world performance. Modern Applications work as fast as advertised.

Dead ends:
-Debugging the application does not help. Between non-/affected systems there doesn't seem to be more/less errors pointing to the problem. Also the API call durations do not provide useful data. Since there are many calls/second and the root cause is unknown the debugging is not trivial.
This also is...
...not GPU related (issue appears at least on Nvidia/Intel GPUs), the GPU is even on not affected systems barely utilized.
...not bound to a specific CPU model.
...not caused by OS settings. Even Windows XP with original .exe and disc can be affected.
...not caused by game settings. The performance is barely improved (1-4fps) between min and max settings and resolutions.
...not caused by game modifications. Unmodified DS2:BW is equally affected.
...not caused by virtualization settings.
...not caused by CPU affinity.

If requested I can provide many more details on how I approached this problem.

I am trying to solve this but I struggle hard to find anything helpful.

Current tasks to tackle:
-Need a debug executable of DS2:BW like that one from the main game bundled with SiegeEditor2 (DungeonSiege2Mod.exe). If not available, any information in how to hack one is welcomed (debug console may provide performance problems).
-Need knowledge how to analyse performance issues in Direct3D Applications (what frame waits on which ressources etc). Maybe injecting debug builds of d3d9.dll?
-Looking for a discord group or forum etc. with more knowledgable people which are interested in that kind of problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions