PtBi and GeForce 310 driver series

It has been brought to my attention that the latest beta GeForce drivers break compatibility with PtBi. Since the error message they report isn’t particularly helpful, I’d like to wait until there’s a WHQL release to investigate this further.

For now, I suggest sticking with the 306.97 driver release.

The next release of PtBi (which I’ll make after the final release of the new driver, and after I fixed the issue if it still persists in that release) should also slightly decrease latency in some configurations.

Dark Souls online and Amazon deal

First of all, Dark Souls is currently 19.90 at Amazon.com. So, if for some reason you haven’t bought it yet (or know someone who hasn’t) then now is the time!

More importantly, I wanted to collect some hints for successful multiplayer gaming in the PC version of Dark Souls. Many people seem to have problems with this, and there is a lot of misinformation online, while some good hints are hard to find. Since I played the game for probably 80 hours or so in co-op, killed lots of people who defiled the forest and have tracked down dozens of the guilty, I feel like I should share what I learned:

General:

  • Enable UPNP on your router, and open these ports:
    TCP ports 80 and 443
    UDP and TCP ports 53, 88 and 3074
    More details here.
  • Don’t expect to play multiplayer during the first 5-15 minutes after you started the game and loaded your save. Spend this time doing something different. It may be a good idea, if you want to play MP later, to start the game early, load your save, and let the game idle a bit (in a safe zone of course). Alt-tabbing out is fine!

Coop:

  • Make sure you are at a good level range for the area you are in.
  • If you want to summon someone specific, and need to get their summoning sign to appear, try to run away and back to the spot a few times.
  • Replacing your sign is generally not a good idea, even if it is often suggested online. Only replace your sign if your coop partner absolutely couldn’t make it appear for 10 minutes or so.
  • Once you have connected to someone for the first time, during the rest of the session any summoning attempts will succeed immediately. Also, signs will appear much more rapidly. Clearly, it’s a good idea to play long sessions with the same people.

Ring-based PvP:

  • This applies to Forest defenders and Blades of the darkmoon.
  • Again, there is some “startup delay” here. Equip the ring and go do something else (e.g. farming). I thought when I first joined the Forest defenders that the ring wasn’t working, but I only kept it equipped for a short time. Once you get summoned for the first time, it will continue to happen every few minutes!

Other PvP:

  • Obviously, try not to overlevel.
  • Kill the guilty.

Hope this helps!
Taking all this into account, it usually doesn’t take us more than 10 minutes to get a multiplayer session going.

DSfix 1.9

I got the first external code patch for DSfix this week! I hope it’s a sign of more to come.

Changes:

  • Added 2 new ambient occlusion algorithms: HBAO and SCAO. However, the existing VSSAO is still the best option in terms of visuals/performance.
  • Added a scale option for ambient occlusion on lower-end systems. Also useful if you want to downscale from a high resolution but not compute the SSAO at that resolution. This option works for all AO algorithms.
  • Disabled hotkeys when Dark Souls is not active. Previously, you could e.g. toggle the frame rate limit or take screenshots inadvertently when DS was not the active window.
  • Reinstated the texture filtering option with slightly better implementation.
  • Small bug fixes in frame rate limits calculation.
  • Rework WindowManager::resize to center the window along with resizing, and call on startup. Also fix small style issue with the borderless fullscreen toggle (wT)

The AO changes are rather big, the rest are small things that people have been asking for or that I wanted to do for a while.

As always, consider donating if you like the mod.

Get DSfix 1.9 at the Dark Souls nexus.
(alternative download location)

DSFix 1.8

It has been quite a while — I’ve been very busy at work for the past 3 weeks. I also haven’t had time to check/approve blog comments, so now there are 3700 in the moderation queue, and I’m sure at least 98% of those are spam. Sorry if you got stuck there!

Changes:

  • Added an FXAA option in addition to SMAA. FXAA is blurrier, but also deals with sub-pixel aliasing better because of that. It’s also very slightly cheaper in terms of performance.
  • Added the ability to bind a key to toggle a 30 FPS limit for a short time. By default it’s bound to backspace. This is useful to fix issues with the FPS unlock, see below.
  • Greatly improved depth usage in the SSAO shader. This means that the SSAO effect is now more stable at different distances from objects.

As always, consider donating if you like the mod.

Get DSfix 1.8 at the Dark Souls nexus.
(alternative download location)

In other news, I believe that all the possible issues with the FPS unlock are now known, and there is a way to deal with most of them as of version 1.8:

  • Sliding down ladders can make you fall through the ground. Workaround: don’t slide down ladders with unlocked FPS.
  • Jumping/rolling distance is slightly reduced at 60 FPS. Workaround: in case you need to do one of the 2 or 3 jumps in the game that need maximum distance, use the new toggle key to toggle a 30 FPS limit for the jump, then toggle back to 60 after it.
  • Slope interactions are slightly different at 60 FPS compared to 30, which may make you “stuck” at small obstructions from time to time. Workaround: rolling if there is space, walking back and forth a bit if there is not. Toggling the 30 FPS lock for a second in the worst case.

I have been playing for 40 hours or so with unlocked framerate, in single-player, coop and pvp, and I had no other issues.

In conclusion, I hope everyone had a nice couple of weeks and backed Project Eternity!

Blackmagic Intensity Pro Input Latency

I’ve wanted to measure this for a while, and since I was asked about it today I finally got around to doing it.

The question is this: how much latency does the BMD Intensity Pro Hardware/Software stack add to the captured stream? The answer I arrived at is 48 to 62 milliseconds, with an arithmetic mean of 56. This is on a 720p60 stream.

I measured this by mirroring my PC’s GPU output and feeding it directly to my monitor as well as to the BMD card via HDMI. Then I opened PtBi, disabled all postprocessing, and took a lot of screenshots like this:

Then it’s just a matter of subtracting the 2 numbers, removing the known latency introduced by PtBi (just a few ms) from that, and repeating the measurement.

DSfix 1.7

And one more for the road.

Changes:

  • Re-implemented the FPS limiter. It’s quite exact now and also performed at a better point in time (before presenting the frame)
  • Made frame period calculation (for animation) slightly more exact
  • Added FPS thresholding for SMAA. What this means is that you can supply a value – say 45 FPS – and if the game is in danger of dropping below that, SMAA will be disabled. It will be re-enabled once the framerate is safely above the threshold again.

As always, consider donating if you like the mod.

Get DSfix 1.7 at the Dark Souls nexus.
(alternative download location)

DSfix 1.6

Another week, another release.

Changelog:

  • Option to unlock the framerate. Thanks to the hard work of Clément Barnier, the framerate can now be unlocked completely.
    This means that if your system can’t maintain 60 FPS, it will drop down gracefully to 55 instead of going directly to 30. There are some issues with this, look into the .ini files for details.
  • Fixed the SMAA issue introduced in 1.5 (with edges touching the skybox)
  • Fixed the major HUD modification issues with damage numbers and subtitles (other HUD issues remain, including boss health bars)
  • Various small performance tweaks

On my PC, I now get between 56 and 60 FPS in the Firelink Shrine, at 2560×1440 with SMAA 4, SSAO 2, 1080p DoF and DoF blur 1. Note that you need to play in windowed mode (or borderless windowed fullscreen mode) or use some third party solution if you want Vsync with an unlocked framerate.

As always, consider donating if you like the mod.

Get DSfix 1.6 at the Dark Souls nexus.
(alternative download location)

DSfix 1.5

It’s been a while, but I just released a new version of DSfix!

Bugfixes:

  • Fixed an issue with SSAO being rendered on top of particle effects/fog/water, instead of below them.
  • Improved the method used to determine when in the render pipeline to apply SMAA/SSAO, and also included more robust renderstate management. (This may fix the random display corruption issue people have been sporadically reporting ever since SMAA was included)
  • Tweaked the SSAO parameters a bit

New features:

  • As many modders requested, you can now load .dds texture overrides in addition to .png
  • It is now possible to set the desired target FPS of the game in the .ini, thanks to Nwks (Clément Barnier)! (This is fully integrated and also works correctly together with the intro skip feature)

Regarding the FPS override feature, please carefully read the notes in the .ini
This is the most invasive feature of DSfix, and thus carries the highest risk.

I am well aware that there are still many issues remaining with the minimal HuD, and since it seems like no one is fixing them I will get back to it at some point.

As for the performance requirements of 60 FPS, personally (after disabling all power management options for my GPU and CPU) I can mostly maintain 60 FPS at 1080p, 810 DoF with DoF blur 1, SMAA 4 and SSAO 2. This is on an i7 920 at 3.6 GHz and a 660ti.

As always, consider donating if you like the mod.

Get DSfix 1.5 at the Dark Souls nexus.

Dark Souls Nexus & DSfix progress

There is now a Nexus site for Dark Souls mods available:
http://darksouls.nexusmods.com/

I know some people were asking for this, and it should make keeping track of new mods, changes and updates easier. It also offers far better options for discussion (e.g. an actual forum) than the comments in these blog posts, which get unwieldy once there are more than a dozen replies or so. I will publish future updates of DSfix there (though I’ll still keep making posts here as well), and I would encourage everyone to use it for downloads and discussion.

As for progress in DSfix, I just fixed the issue whereby SSAO was rendered on top of particles, fog, and water instead of below them (easiest to see when activating bonfires). This should also fix the sporadic screen corruption some people reported when either SSAO or SMAA are active in particular areas of the game. It’s in gitHub for now, I’ll do a release this weekend.

I haven’t received any direct source contributions or pull requests so far, but quite a few people seem to be interested in the repository, so we will see how that develops.