Page 1 of 2

Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 21 Nov 2021, 00:47
by Kaldaien
Introduction

In 2018, RTSS added a new framerate limiter mode called Scanline Sync to steer the tearline off-screen while VSYNC is off.

RTSS Scanline Sync has a number of limitations that we believe have limited its appeal and adoption, none the least of which RTSS is a closed source product that cannot be studied, improved or integrated directly into other software projects. Further, RTSS lacks important low-level overrides (it cannot actually turn VSYNC off -- a pre-requisite for Scanline Sync to even work...)

Special K takes a different approach. It has been open source since 2015, and was purpose-built to expose and override render settings that Windows and graphics drivers hide from users!

In 2021, Special K released an open source alternative to Scanline Sync.



What is Latent Sync?

Latent Sync is collection of advanced framerate limiting features for VSYNC off rendering.

In its initial implementation (November 2021), Latent Sync offers a complete replacement for Scanline Sync in D3D9/11/12 and OpenGL (Vulkan support planned in 2022). In addition to "lagless VSYNC", the new limiter mode also implements experimental software-based Black Frame Insertion in OpenGL and D3D11.



What is New in Latent Sync?

Solved Limitations of Prior "Lagless VSYNC" Implementations
  1. Fullscreen Exclusive is Unnecessary (D3D11/12)
  2. Supports Multi-Monitor Systems
  3. Does Not Require Driver/Game VSYNC Settings

1. Special K will convert all D3D11 borderless fullscreen modes into the proper optimized substitute for fullscreen exclusive ("Hardware Independent Flip"). This is the same mode that D3D12 games use and is the reason Microsoft was able to completely eliminate Fullscreen Exclusive from D3D12.

2. Special K has a number of multi-monitor features, including per-game monitor assignment. It has no trouble detecting which monitor a game is running on and detects changes to signal timing and display config in real-time.

3. Special K has full control over VSYNC in OpenGL, D3D9, D3D11 and D3D12. It automatically applies the correct VSYNC settings, including the special DWM tearing flag necessary to turn VSYNC off in windowed mode!


Performance Tuning
  • Adaptive Tearing (optional visible tearing if framerate is unstable)
  • Bias Pre/Post-Sync Delays (fine-tune frame pacing consistency vs. input latency)
  • Built-in Tearing Visualization

All configuration is done in-game using SK's overlay, the Latent Sync menu shown is accessed by right-clicking the framerate limit slider.
LatentSyncConfig.png
LatentSyncConfig.png (1.04 MiB) Viewed 27498 times

... PresentMon Integration

A brief word on Presentation Models as they relate to VSYNC and latency since there is a ton of confusion on this topic in these forums.

Latent Sync works with the following modes (these bypass the DWM and VSYNC can be disabled):
  • Hardware: Independent Flip (Borderless Fullscreen (D3D9/11/12) | Fullscreen Optimization)
  • Hardware Composed: Independent Flip (Multiplane Overlay)
  • Hardware: Legacy Flip (Fullscreen Exclusive)
Latent Sync does not work in the following (these use DWM composition and have a latency penalty):
  • Composed: Flip (Windowed D3D11/12)
  • Composed: Copy with GPU GDI (Windowed OpenGL/D3D9/D3D11)


Future Development

Special K currently lacks support for Vulkan, a Vulkan layer is planned for 2022 but is not a top priority.

Anti-cheat also prevents using SK in some games and this will be addressed with the release of a standalone library (MIT license) that implements all of SK's framerate limiter (sans render API overrides such as flip model and PresentMon). A few anti-cheat games have committed to adopting this library, and it is also hoped that anti-cheat whitelisted projects (i.e. ReShade 5.0) will offer the limiter to users.

Black Frame Insertion, while not directly related to latency, is also a key development focus moving forward. Perfecting this new limiter will open doors for software-based BFI.




Download and Discuss

The latest version of Special K (SpecialK_21.10.22.exe) including Latent Sync is available on our Discord server, in the #releases channel https://discord.gg/SpecialK.

The Wiki (https://wiki.special-k.info) is currently being updated with a guide for configuring Latent Sync, we expect this should be familiar to anyone who has used RTSS Scanline Sync and are looking for feedback while finishing the documentation.

Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 21 Nov 2021, 01:28
by disq
Interesting stuff.
Kaldaien wrote:
21 Nov 2021, 00:47
Anti-cheat also prevents using SK in some games and this will be addressed with the release of a standalone library (MIT license) that implements all of SK's framerate limiter
Looking forward to this.

Thanks for sharing

Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 21 Nov 2021, 04:04
by Plznoinputlag
Kaldaien wrote:
21 Nov 2021, 00:47
Future Development

Special K currently lacks support for Vulkan, a Vulkan layer is planned for 2022 but is not a top priority.

Anti-cheat also prevents using SK in some games and this will be addressed with the release of a standalone library (MIT license) that implements all of SK's framerate limiter (sans render API overrides such as flip model and PresentMon). A few anti-cheat games have committed to adopting this library, and it is also hoped that anti-cheat whitelisted projects (i.e. ReShade 5.0) will offer the limiter to users.

Black Frame Insertion, while not directly related to latency, is also a key development focus moving forward. Perfecting this new limiter will open doors for software-based BFI.
u cant use this in online games just useles

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 30 Nov 2021, 12:39
by deama
Any idea if this can work on linux via wine? Or is there a linux implementation? Any plans?

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 30 Nov 2021, 16:09
by Chief Blur Buster
Kaldaien wrote:
21 Nov 2021, 00:47
Introduction

In 2018, RTSS added a new framerate limiter mode called Scanline Sync to steer the tearline off-screen while VSYNC is off.

RTSS Scanline Sync has a number of limitations that we believe have limited its appeal and adoption, none the least of which RTSS is a closed source product that cannot be studied, improved or integrated directly into other software projects. Further, RTSS lacks important low-level overrides (it cannot actually turn VSYNC off -- a pre-requisite for Scanline Sync to even work...)

Special K takes a different approach. It has been open source since 2015, and was purpose-built to expose and override render settings that Windows and graphics drivers hide from users!
Hello Kaldaien,

Congratulations for implementing a superior clone to RTSS Scanline Sync that seems to work better and easier for users!

This Blur Busters inspired technology came from Tearline Jedi, a demonstration of raster-steering tearlines using APIs such as D3DKMTGetScanLine() and/or time offsets between VSYNC. This showed off the VSYNC OFF tearlines are just rasters (like doing raster interrupts on a GeForce or Radeon). Both Guru3D and Kaldaien has benefitted off the great free Blur Busters knowledge on steering tearlines.

phpBB [video]


This video inspired both Guru3D to implement RTSS Scanline Sync, as well as Special K Latent Sync. Both systems are superior to NVIDIA's NULL VSYNC ON, in lower latency without using VSYNC OFF (if you hate tearlines).

I'm glad to see this stuff being added to more software. Thank you for posting this;

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 28 Feb 2022, 05:45
by v7geiR3FRI5I
Kaldaien wrote:
21 Nov 2021, 00:47
Download and Discuss

The latest version of Special K (SpecialK_21.10.22.exe) including Latent Sync is available on our Discord server, in the #releases channel https://discord.gg/SpecialK.
Please consider posting future change-logs at a publicly viewable location, e.g. your Discourse forums. Presently, such change logs are "hidden" from public view, without an active Discord account.

As an aside, I have zero interest in creating another Discord account (or having any further association with Discord Inc. or its ecosystem), after my original account was spontaneously disabled after many years of regular usage.

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 02 Mar 2022, 13:50
by Chief Blur Buster
There's been a lot of massive improvements to SpecialK Latent Sync and it has some nifty new features that makes it sometimes superior to RTSS. He's also wanting to add it to a library to allow it to use fewer hooks, and thus be whitelisted like RTSS for use with more games (no anticheat problem).

I agree, at least a community member (authorized by Kaldaien) should copy and paste ChangeLogs into a blog, or perhaps a github ChangeLog.txt permalink that anyone can view. He might not have time to maintain a blog, but someone else on his Discord could. Something that doesn't add any extra overhead to Kaldaien's focus on the programming. More websites would head-to-head RTSS and Special-K together for the framerate-cap purposes and scanline-sync purposes.

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 02 Mar 2022, 15:20
by jorimt
v7geiR3FRI5I wrote:
28 Feb 2022, 05:45
Please consider posting future change-logs at a publicly viewable location, e.g. your Discourse forums. Presently, such change logs are "hidden" from public view, without an active Discord account.
Chief Blur Buster wrote:
02 Mar 2022, 13:50
I agree, at least a community member (authorized by Kaldaien) should copy and paste ChangeLogs into a blog, or perhaps a github ChangeLog.txt permalink that anyone can view. He might not have time to maintain a blog, but someone else on his Discord could.
The existing official Wiki seems like a logical choice to include an up-to-date changelog:
https://wiki.special-k.info/

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 02 Mar 2022, 16:31
by Chief Blur Buster
jorimt wrote:
02 Mar 2022, 15:20
The existing official Wiki seems like a logical choice to include an up-to-date changelog:
https://wiki.special-k.info/
A good answer. Perhaps member Aemony can do it?

Hopefully it can be just a quick copy and paste to overwrite a version's old changelog. The wiki history would automatically keep previous changelogs. One can then use the existing wiki diff feature (already there) to between two changelog dates to find what changed between 2 versions.

Re: Special K: New "Latent Sync" Limiter [Better than RTSS Scanline Sync]

Posted: 02 Mar 2022, 16:36
by Chief Blur Buster
Found!

Update... I found the ChangeLog. It's crossposted here:

https://discourse.differentk.fyi/t/spec ... pport/1656

From that, I found it's tagged under "Version History", and by clicking on the tag, a comprehensive version history appears. Please allow me to present:

Version History of Special K

Understandably, this link may need to be on all Special K download pages, as well as the cover page of Special K Wiki, to be easier to find -- this does not show on a first attempt at Google-Fu.