Hey Kaldaien, Blurbusters post, framerate limiter/low latency

Someone made a post about special k’s framerate limiter in Blurbusters. Blurbusters compared to most forums, such as reddit, steam, overclock.net etc is genuinely a “better” site for discussions regarding this topic as the environment is a bit better with a few people of good technical understanding.

I’d love if you cleared up any questions people have about your limiter in that post, it’s a really good way of creating some small info about this project in a more “better” forum. Will probably be a bit of discussion the next 1-2 days there, thank you for your time.

https://forums.blurbusters.com/viewtopic.php?f=10&p=57602#p57588

I’ve been getting around :stuck_out_tongue: I’m trying to get the majority of the internet to recognize how amazing Special K is.

And I can vouch as well that getting Blur Busters to officially recognize Special K will be a HUGE boost in publicity.

Seems like with very limited information so far, chief blurbusters is already believing in the hype!

"Special K looks very promising looking and has some quite real promise."

also adds

“This month I’m unable to compare framerate capping software – but let me ask around if one of my writers is able to volunteer the time to test out the multiple framerate capping software.”

https://forums.blurbusters.com/viewtopic.php?f=10&t=7551&start=10#p57677

The frametime graph with RTSS is perfectly flat.

:frowning:

Not really on topic per se, but I really don’t like how tiny RTSS’ frame time graph in the OSD is, as it’s really bad at highlighting frame time variances at the lower end (1-3ms or something like that), and there doesn’t seem to be a way to set custom min/max values for the graph either. Special K’s frame time graph dynamically adjusts the min/max for the graph (down to a certain point), and even a 1-3ms difference for a frame or two affects the curve of the line in the graph, whereas on RTSS the line would’ve remained entirely flat.

So RTSS’ graph hides frame time variations on the lower end where Special K shows the strengths of its frame rate limiter.

Having grown used to Special K’s graph, I can feel a bit limited by RTSS’ whenever I use it to cap the FPS.


Also, ouch, I hadn’t seen that BabelTech review, but damn… that’s quite the difference.

Very confident that’s pretty much unheard of in framerate limiter history regarding the perfect glassfloor aggregated averages in capframex.

Horizon Zero Dawn port on PC is also not that good, the numerous reports of performance issues on this game was incredibly high, so this is really nothing to sniff at. I’m curious to see what latency optimized special k framerate limiting will look like for the future (or just the latency optimizations by itself)

It’s still such a big shame that DX9 games will never benefit from this. If I could use the crazy work of special k in my game that’d be incredible.

HOWEVER! I’m INCREDIBLY curious to see how special k will perform in fighting games such as street fighter 5, tekken etc on PC. These are probably one of the best games to attempt latency optimizations and frametime improvements in. The entire fighting game community has long struggled with terrible console lag and then poor PC ports. I hope kaldaien tests fighting games like street fighter and tekken whenever he gets the LDAT, I’m very confident I can get 1000+ retweets/likes on twitter on a post showing better performance through special K for sf5/tekken. I have a lot of big following fighting game friends. (20-100k+)

While a bit non-standard dgVoodoo2 and wrapping D3D9 to D3D11 could allow some SpecialK D3D11 features.

Usually I just wrap it through DXVK but mainly for performance and AMD’s Navi GPU’s being poor at scaling well with this API although the performance gains can even be seen with NVIDIA cards.

But SpecialK doesn’t fully support Vulkan or DXVK and neither does it support D3D12 plus some of the advanced overrides wouldn’t apply for either API.

Fighting games is a good genre as well even when it’s not net code related local or split screen mode could have framerate variance or input problems, emulators like Dolphin have had some struggles with this and native PC ports can be kinda rough at times. (Street Fighter 4 I think was one.)

This is weird… I did not get any sort of notification when this thread was started. I stumbled onto the blurbusters thread via a Google search.

Speaking of which, it really sucks when you become an expert (at least by Google’s standards) on a subject and the first search results that come back are things you wrote… lol.


I am too. Polling Gamepad input is actually very different from keyboard/mouse. Many games that I have looked at use a dedicated thread that samples device state at a fixed frequency (i.e. 250 Hz).

It is very important to adopt that design for gamepad input, because it is not event-driven the way that KB&M are in Windows. Pressing a key or moving the mouse actually generates events that SK’s framerate limiter can see and wake up a game’s render thread in response to, but pushing buttons on a gamepad does pretty much nothing.

I assume that most people play fighting games with a gamepad? :slight_smile:

I can definitely feel mouse input tighten up when limiting is done properly, but have never gotten the same experience from a gamepad. Gamepad input feels equally (un)responsive no matter how often it is polled.

When I saw the post on blurbusters, I immediately knew you’d want to possibly join in and be able to discuss… your own product, so I tried to reach out here, but I guess there are always bugs :stuck_out_tongue_winking_eye:


Yes - most fighting game players either use Controllers such as Xbox One / PS4 or (often seen at high level) Hitbox-style controllers (essentially keyboard imitations ;P)

or they use fight sticks / arcade sticks sadasda

Or they use a mix like a cross-up (which maps movement buttons next to the other buttons to do certain very hard movement specific combos very easy through piano-ing the finger motions) crossup

Interesting to hear that about how inputs effectively work with gamepads. Fighting games specifically are slowly becoming very accessible as a genre for input methods. I play most FGs with a keyboard personally, it’s just so much more comfortable to me (and fast/precise!)

Super Smash Bros Melee is a game emulated on Dolphin with some pretty incredible 20 year grassroots community support (They’ve retrofitted rollback style netcode and improved many things through reverse engineering. Melee is also a game I was thinking off bringing Special K to when it’s closer to finished states to see if it can improve many of dolphin’s problems regarding optimization and latency itself.

Even then, to me this project really sounds like it could shape up to be “Kaldaien Reflex” that outperforms it without having to be implemented into the games itself with a SDK :slight_smile:

Speaking of that, some post about explaining the requirements and every hook in a “simple” manner would be nice sometime, I’ve been on windows 8.1 for a long time due to irrational fear of DWM… but Special K makes DWM less scary so I might jump back to W10 for the Special K features. Speaking of DWM, when you’re able to enter exclusive full-screen (the real one, not the new flip implementation microsoft is doing) I know DWM goes to sleep, but is it actually 100% a non factor when that happens?

One of internets / competitive gamings greatest superstitions is that DWM unless straight up disabled, will affect performance. But if Special K is able to simply hyper-optimize it, I’d assume it’s even better to simply just work with DWM instead of avoiding it for low latency gaming.

To be honest, Windows 8.1 is where most of DWM’s issues were fixed. Most of the work I’ve done on Special K’s framerate limiter should actually work in 8.1, with the exception of Present Interval = 0 (VSYNC off). If you want a constant tear in the middle of your screen in 8.1 you are out of luck unless you go into fullscreen exclusive mode :stuck_out_tongue:

Tearing is unbelievably distracting for me, so I’ve never really tested VSYNC off. It should behave identically in Windows 10 though.

image

That setting will be missing on a Windows 8.1 system, but as far as I know everything else works.


The benefit of DWM Tearing is at most 1 / refresh Hz reduction in end-to-end latency.

We’re really splitting hairs here unless you are stuck on a 60 Hz screen in my opinion. The lower your refresh rate, the greater the benefit to turning VSYNC off and I suspect anyone obsessed with latency has invested in at least a 120 Hz screen.

1 Like

Oh okay cool, this is all great info, thank you for the answer.

Hm, from this discourse post in here, I got the perception that a lot of the features wouldn’t work well for 8.1
" Is there a "scanline sync" feature or a way to emulate it? "

And you are indeed right, sitting on a 240hz monitor waiting for the later 360hz versions :stuck_out_tongue_winking_eye: I’ve been much of an input lag/latency fanatic, but I try to think I’m reasonable. I just want to feel immersed in my games really. That’s fun. I actually just recently after 4 years or so of trying to “fix” variable responsiveness/lag feeling in my games no matter my upgrades, attempted a longshot. I read somewhere about Ram and total absolute memory latency and its effects on gameplay responsiveness. I quickly realized one of the reasons is most likely due to how 0.1% and 1% fps lows increase / scale very well with fast ram, which would make sense that a game becomes more responsive in those cases. I upgraded my ram to a simple XMP kit at 3200mhz, cl14 and 4.9ghz i7-6700k OC from 2133mhz cl14-15-15 kit… and pretty much the last 4 days has been the exact same game feeling day after day, session after session. It’s very strange to experience some sort of weird “voodoo” or “magic” fix, but it kinda is. I suspect playing a 60fps game allows something like this to have a bigger impact due to less leniency (total frames to choose from)

Without going into too long detail, I’ve genuinely tried a lot the last 4 years, close to everything, but this really feels different, usually if it was placebo it would of kicked in within a day or two. Eitherway, I suspect if 0.1% and 1% fps low improvements through better memory latency has made my game and gameplay and just general joy of gaming feel like this. Then my optimism for Special K goes through the roof due to the framepacing magic done by it. If only all game devs internally could do what Special K can as an external program, we’d be in gaming nirvana :stuck_out_tongue_winking_eye:

/ramble over

They could if they bothered to spend an afternoon reading https://developer.nvidia.com/dx12-dos-and-donts :slight_smile:

It’s chock full of information that I had to figure out the hard way. That section on Swap Chains is spot on, and the only game I have seen that demonstrates a working knowledge of those bullet-points is DOOM Eternal.


On the opposite extreme, Horizon: Zero Dawn doesn’t seem to understand any of information presented there. It’s very bad to work in a low-level API and do the exact opposite of what the driver developers tell you is best practice.

1 Like