Special K v 0.11.0.50 - Improved Fullscreen Flip

Reminds me of the color banding issue…which I guess it sorta is although here it’s a bit different due to the alpha channels and bit depth instead of gradients from texture compression or color banding in smooth gradients.

Guessing a patch to resolve it would also work better than any attempt at debanding which either introduces blur or grain I think is how the shader workarounds for ReShade attempt to smooth it over.

Wonder if any HDR game has attempted multiple modes toggling between the bandwidth and VRAM intensive floating point method or this one that is less demanding if I got that correctly but has this drawback instead.

Or has this drawback in this game the way it’s implemented or utilized I suppose.

There we go, finally…

It is an alpha channel problem, but the loss of precision is actually coming from texture compression.

1 Like

Hey guys, after updating to 0.11.0.50 Tales of Vesperia DE no longer opens for me (the game tries to start up then goes back to the desktop), sending the crash.log and specialk.log generated when I try to open so it can be analyzed.

crash.log (6.0 KB) SpecialK.log (17.2 KB)

Hmm from what I know looking at SpecialK’s log file I thought MSAA and flip model discard were incompatible and I think the last few bits of the display info in that log shows it trying to apply 4x MSAA.

If this is enabled in the SpecialK config file try setting it to false and that might allow the game to start up.

[Render.DXGI]
UseFlipDiscard=true

They are incompatible. That’s weird that MSAA’s not being automatically forced off. It’s definitely the problem.

Vesperia is on D3D11 isn’t it, thinking if it’s driver enforced but I believe you need NV Inspector and various flags after D3D9 to utilize that.

Been a while since I played the game I only remember low, medium and high varying levels of FXAA 3.x so varying presets of anti-aliasing but post-process shader based and without the compatibility problem MSAA had.

Downsampling including NVIDIA DSR or for AMD VSR also works but at a much steeper cost and you want even scaling for best results here so it quickly gets incredibly demanding.

I am using MSAA and HDR for Trails of Cold Steel games. And both are showing effects.

Tales of Vesperia worked fine with 0.45 using both features too.

That’s because Durante’s not a dummy and does the MSAA in Trails of Cold Steel as an off-screen render pass :slight_smile: That’s been the modern way to do MSAA for like the past 10+ years, any game running in D3D11 should be designed that way, but we have games like ToV and NieR: Automata doing it all wrong.


I guarantee you that it did not. The only thing that was any different may have been that I was automatically forcing-off swapchain-based MSAA.

Multi-sampling needs to be a render-pass property and not a framebuffer property for compatibility with modern graphics APIs. Vk / D3D12 and D3D11 in HDR mode all have no notion of what it means to have a multi-sampled ‘framebuffer.’

The engine has to do multi-sample → single-sample resolve on its own in modern APIs.

2 Likes

Shame we can’t have collaborations like that with several of these PC ports, it’s gotten better and is getting better but still has room to improve.

Arise is still in development difficulties but perhaps the next Tales game can do better.

Although it’s on UE4 and that might have it’s own difficulties instead.

Think Cold Steel 4’s happening sometime next year and NISA has some other stuff along with Ys9 but I don’t know if PH3’s involved beyond likely also handling Cold Steel 4 for the PC.

EDIT: Surely there’s also more Tales games that could be ported to newer systems before hitting some tech barrier with the PS2 or earlier for the older installments. No idea what Bandai has planned for the series.

1 Like

Thanks for the reply, but changing UseFlipDiscard to false still didn’t let me open the game, even tried changing the OverrideMSAA but also didn’t help.

This version should fix the problems in Tales of Vesperia.

SpecialK64.7z (7.6 MB)

That is one really annoying game to debug with the way it loads 99% of UI textures before the title screen, lol. It just sits there doing nothing the end-user would know about for 15+ seconds. Usually only Denuvo behaves that way.

2 Likes

Oh so it was more than game settings or config file compatibility.
Bandai Namco and their game engines and occasional outsourcing issues.

Nice to have that one fixed. :smiley:

Yeah, I’ve been removing a lot of per-game compat hacks from the SK codebase since in many cases those things were fixed with a general feature of one form or another years ago (this one had to do with flip model image format overrides).

I apparently only partially removed one specific hack for that game. I had to clean up a few remnant lines.

Works well with Mortal Kombat X but I had to turn off FXAA for the HUD to appear in HDR.

Thanks for that Kaldaien, the game launched normally now (in the case of such games with these specific fixes wouldn’t it be better to have them out of the main versions of SpecialK and keep them like many were berfore with SKIM having local installations for specific versions?)

Not really, the way these game-specific hacks tend to work is that they are exploratory things and within 5 or 6 months I often have a general-purpose solution to solve the problem in all games suffering from it…

I just then forget to turn around and remove the game-specific code that lead to the creation of the polished feature (and applying the same fix twice is where stuff is getting weird):stuck_out_tongue:

There’s no reason to maintain the game-specific hacks as standalone software.

Some of the older ones are a bit more specific though aren’t they? D3D9 stuff early on though some of those games also needed more workarounds or fixes before some of these became general features with the D3D11 updates.

Other than perhaps Koei Tecmo though where you never really know what’s going to be happening for the PC port they’re publishing I would like to think it’s improved although some work remains.

The recent re-release of Onechanbara has DPI awareness issues and will upscale from about 1920x1080 without first overriding this via Windows 10’s compatibility options although once that’s resolved it’s rendering as expected.

Support for 2560x1440 and even some improvements for ultra-wide has also gotten a lot better for JRPG’s though not all of them, GPU and CPU usage probably remains a bit variable too like how well it scales to newer systems and additional cores.

And then tech things and game specific stuff with various engines and rendering issues or performance problems, getting better but not quite there yet.

Going by the release notes a few of the overrides used in some of these D3D11 game plugins were stripped out and can be managed by SpecialK’s main code now like flip model guessing it’s possible to use the 0.11.0.50+ versions for most of these gaining the newer improvements although after these initial earlier plugins most profiles and game fixes are also internal so things like Nier and I believe most of the newer ones will work with this and have the specific fixes as well.

Unsure about Final Fantasy X and then the Tales fixes and earlier on D3D9 but that API also has other limitations.

Hmm wonder if Zestiria and Bersiria benefits from DXVK but then their problems aren’t exactly of a performance nature it’s stuff like mip-map texture shortcomings and stuff…I don’t quite remember as it was ages as I replayed them.

The game Dead Cells crashes on alt-tab with SpecialK injecting and setting fullscreen Flip mode. That game doesn’t really need any of that really, but I often use it for testing things.

Does borderless windowed flip mode still work?

That’s not uncommon.

Fullscreen Flip has been implemented mostly so that your game stays alive long enough for you to work your way through its config settings to get it running in borderless. I expect users to be aiming to set things up in-game to run in a borderless window.

Borderless Flip is superior by almost every measure except that you cannot apply refresh / color format overrides.