GeDoSaTo updates / DSfix in the Dark Souls Steamworks version


I just pushed a new GeDoSaTo update. Among some smaller stuff, it also includes two significant changes:

  1. Fixes to the Borderless Windowed mode forcing behaviour, which should greatly increase compatibility of that setting (and hopefully not break it in anything it already worked with!).
  2. A new “performance tracing” feature which I used in an upcoming article for PC Gamer, and which I’ll describe a bit more below.

Performance tracing allows you to record the performance of a segment of gameplay to a file. There is a keybinding for it ( togglePerfTrace) which you can configure like any other keybinding (now including modifier keys!), and after recording a sequence it will output a file such as this:

The first 3 lines give general information, including the total frames measured, total duration in milliseconds and average FPS over that duration. The following 3 lines give 99, 95 and 75 percentile effective frame times. These give you a quick idea of the overall smoothness of a game.

Finally, the rest of the file is a CSV (comma-separated value) recording of each frame’s times. The individual measurements are (i) CPU time from the start of the frame to the present call, (ii) GPU time according to D3D API measurements, and (iii) effective frame time from one present call to the next. You can use this detailed data to do analysis or generate graphs in your favourite statistics tool, like e.g. this one representing frame time distribution:

I realize that tools doing something very similar already exist, but they may not report all the information, or not be open source, or not be compatible with GeDoSaTo, so I integrated the functionality.

Dark Souls update / DSfix compatibility

The Dark Souls Steamworks migration update is now live. As I expected, most DSfix functionality I implemented (which is based on API call interception) remains operational, but the framerate unlocking (based on binary hooks) does not work with the new version. This part was implemented by Nwks, so we should hope that he is still around and interested in updating it for the latest version. If not, I can try, but it lies outside my expertise and could potentially take a lot of time (which I’d rather spend on other projects). Of course, there’s also the chance for anyone else to step in, as all the code is available on github.

For now, you can use DSfix with the new version as long as you disable the framerate unlocking feature in the .ini file.

6 thoughts on “GeDoSaTo updates / DSfix in the Dark Souls Steamworks version

  1. hi there, i tried to get the new blazblue game to run with your tool, because the menus are with visible pixels and it wanted to downsample and also use the anisotropic filtering that did just great on ffxiii. you have any suggestions or maybe a tutorial for adding custom games to the whitelist as it seems that i dont get it how it works.. i put the exe name in the whitelist and created a config for it and run the game with the tool running.. but there is no overlay as in ffxiii so im confused and i think it doesnt work.. any suggestions?

  2. Pingback: Final Fantasy XIII and XIII-2 port analysis: Durante's verdict - Snap VRS Blog Directory

  3. Also, I’m unsure if this is something your familiar with but a way to assign a specific gamepad to the game would be awesome too. Currently it will choose a random controller (Often not the Xbox 360 controller) when multiple are present and the only way to work around this is to either unplug every other controller or to disable them in device manager and that’s kinda annoying :/


    Alternatively figure out a way to implement an option that blocks the game from recognizing Direct Input devices.

  4. Thanks for the continued support.


    Is there any chance you can implement support for HBAO+ if it isn’t a passive thing? (ie: If it supersedes HBAO in programs that originally supported HBAO without the developer having to do anything, just let me know otherwise I’d like to make a feature request to support it).


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">