What? Remove features and tell people to use third party solutions? It's pretty arrogant too, people started discussions about it and he basically admonished them that it was pointless, and that the options are "NOT" coming back."Nukes the built-in latency thing (which has only ever really been useful for bringing up Reflex support almost a year ago), and nukes DXVK_FRAME_RATE so that the limiter will now only engage via app profiles or the display mode heuristic, and only if no external limiter is already limiting us to the desired refresh rate (or less).
Users should use mangohud or other external solutions."
Note, however, that it's still possible to limit framerates at the DXGI level in dxvk.conf and conf overrides.
Well... I'm not having that. There's another fork of a fork (netborg-afps) being maintained that incorporates a "low latency thing" and puts back the DXVK_FRAME_RATE var. Also, it brings back the async pipeline, which was removed because it can cause bans with anti-cheat.
dxvk-gplasync-lowlatency
https://github.com/Digger1955/dxvk-gplasync-lowlatency
"GPL" refers to Graphics Pipeline Library (not the GPL license)
More in the readme there, but I'll paste what's important to me
The last points don't apply to me because I'm not using binaries, but I use "-march=nehalem -mtune=alderlake" (because AVX subtly breaks) to build DXVK and a release build with meson defaults to -O3 (but this project also seems to be doing it explicitly... warnings from meson "consider using built-in optimization level" lol)Major changes compared to upstream DXVK
Implemented Low Latency frame pacing mode that aims to greatly reduce latency with minimal impact in fps. Author - netborg-afps
Implemented Asynchronous pipeline compilation (Async) that aims to greatly reduce shader compilation stutter by not blocking the main thread when compiling async pipelines. Authors - jomihaka and Sporif
Implemented the ability to use both (together or separately) Graphics Pipeline Library (GPL) and Asynchronous pipeline compilation (Async) on DXVK 2.1 and later. Author - Ph42oN. Contributor - Britt Yazel
Implemented State Cache for DXVK 2.7 starting from DXVK-GPLALL 2.7-3. Author - Laitinlok
Implemented all of aforementioned in one DXVK package. Author - Digger1955
Provided various GCC (for any OS) builds of DXVK-GPLALL:
a) optimized for SSE2 (-march=x86-64, -mtune=x86-64) CPUs with Link-Time Optimization (LTO, a.k.a. -flto=auto) and -O3 optimization level;
b) optimized for SSE4.2 (-march=x86-64-v2, -mtune=intel) and newer Intel CPUs with Link-Time Optimization (LTO, a.k.a. -flto=auto) and -O3 optimization level.
c) optimized for SSE4.2 (-march=x86-64-v2, -mtune=generic) and newer CPUs with Link-Time Optimization (LTO, a.k.a. -flto=auto) and -O3 optimization level.
It builds the same way:
Code: Select all
./package-release.sh master /your/target/directory --no-packageThis too:Asynchronous pipeline compilation (Async)
Originally started as hacky solution for shader compilation stutter in dxvk. Similar solution was later added to dxvk itself and promptly removed.
Enabling this solution results in a lot less shader compilation stuttering by not blocking the main thread when compiling async pipelines and (not necessarily) miscellaneous graphical issues while shaders are compiling for the first time.
Asynchronous pipeline compilation is enabled with DXVK_ASYNC=1 environment variable and is equivalent to dxvk.enableAsync = True in dxvk.conf. It is enabled by default.
Asynchronous pipeline compilation is disabled with DXVK_ASYNC=0 environment variable and is equivalent to dxvk.enableAsync = False in dxvk.conf.
So far, I've just built one to use with Lutris and tried some games that need the DXVK_FRAME_RATE and all is well. For example the Fallout games. Fallout 4 London needs DXVK_FRAME_RATE=60 to behave correctly, where the other Fallout games are good limited to 120. Far Cry 2 also needs 60 FPS, or NPCs will bounce 50 feet in the air lolLow Latency frame pacing
Enhances the original dxvk with low-latency frame pacing capabilities to improve game responsiveness and input lag. It also improves latency stability over time, usually resulting in a more accurate playback speed of the generated video.
Low-Latency frame pacing mode aims to reduce latency with minimal impact in fps. Effective when operating in the GPU-limit. Efficient to be used in the CPU-limit as well.
Greatly reduces input lag variations when switching between CPU- and GPU-limit, and compared to the max-frame-latency approach, it has a much more stable input lag when GPU running times change dramatically, which can happen for example when rotating within a scene.
I plan to use this DXVK in my next Proton-tkg build (I'm pretty sure I can point it to a pre-built one to roll up with instead of cloning/patching dxvk-master). I could probably also just replace the dlls.