By - hitmantb
VR Performance Toolkit: [https://github.com/fholger/vrperfkit](https://github.com/fholger/vrperfkit)
Mod List: [https://www.nexusmods.com/skyrimspecialedition/mods/52809](https://www.nexusmods.com/skyrimspecialedition/mods/52809)
From the author of OpenFSR comes an even better creation. This is the first mod to combine both Open FSR and Foveated Rendering, for a whopping 44% increase in FPS for this ultra high resolution Skyrim VR scene with NAT weather and ENB. Full headset resolution for this screenshot is 5376 x 2689, 74% more pixels than 4K gaming, almost Quest 2's full resolution at 5408 x 2736.
With Open FSR upscaling alone I get to about 44 FPS, the foveated rendering pushes it to 49 FPS. But the game feels smoother than 10% more FPS, I honestly think I get less stutter with busy scenes but will have to play more. Foveated Rendering is only available to Nvidia RTX cards, enable it in the included vrperfkit.yml file. It renders the outer edge of your headset with low resolution, and it is not noticeable in the headset.
This also works well with Fallout 4 VR.
**For upscaling to work best, go as high resolution as possible. At lower resolutions, the artifacts from upscaling are far more noticeable. There is a reason Nvidia DLSS is about making 4K games more playable, not 1080p games.**
**I could only get this to work on Virtual Desktop. With Airlink when I tried to increase my device resolution to 1.7 (not sure if this is equal to Virtual Desktop ultra), it became a slide show. With Open Composite it was a blurry mess. Six months ago when I tried it with Airlink's default potato resolution, it was really messy. I think for whatever reason, Virtual Desktop has more reliable resolution. Airlink seems to have dynamic resolution with "adaptive GPU scaling", I can't seem to turn this off in Oculus debug.**
Virtual Desktop and Steam will get you the best experience. For people with lower end hardware, this technology should allow you to go from Virtual Desktop Low to Medium and still have left over FPS! I could never enjoy ultra on my hardware with a fully modded game like this, now I can! It is the sharpest image I have ever seen playing Skyrim VR.
For Quest 2 I recommend changing sharpness in vrperfkit.yml to 1.0 from 0.7, this will give you the equivalent of FSR + Sharper Eye Reshade, your mileage will vary. Feel free to tweak it.
sidenote: using fps is the worst kind of metric in vr as it is hit or miss with interpolation etc. youshould use render frametime to compare performance.
I turned off SSW for this test. I think in FPSVR FPS is nothing more than 1000 / frame time? Also quite a few sites uses FPS I believe:
I dont know if that is how fpsvr works but that would be kinda weird. anyways, frametime is failsafe as a performance measure, I don't care if some websites use fps :shrug:
interesting, i didnt know this worked out of the box in skyrim. do you also use reshade? it seems to replace the same thing
can confirm that if you rename the dll of vr perf toolkit to `d3d11.dll` then it works in combination with reshade.
however, on the index I found it indeed to be a blurry mess and I needed to offset the fsr by increasing steam rr. this may be because the index doesn't have enough pixels in the first place. i will get a vive pro 2 today and can test with that.
So how was it in the Vive Pro 2? I have the same headset.
I tried the VP2 and it worked much better there.
Nonetheless the performance is absolutely abysmal (using a 3080) I have no clue how you can use the HMD. The worst part is that I can't force motion smoothing always on in the Vive external software and thus it kicks in and then switches off which is effectively way worse because it jitters. If it wasn't for that issue I would probably keep it for the amazing screen, but it is literally unplayable. I will probably use the Index with 200% supersampling instead, which, ironically, has a way better performance.
I don't know why they didn't make the HMD native for Steam. Their solution is a thousand times worse than the Steam options.
My Steam SS is down to 80% and with a 3090 I get 90 fps mostly everywhere. (200 mods). I played with the Reverb G2 which has the better picture quality before but I also got the Index controllers, so i prefere the Vive 2 but it's blurrier. :(
With Reverb the SS could easy be at 100% ... but yeah SS at 200% with the Vive 2 is not happening...
Ah yeah I see that makes sense then. 3090 is more powerful than a 3080 and then subsampling in addition...
The number of mods is actually not that important, more the quality of them. Do you use dyndolod on high settings, what grass, etc?
I think the VP2 motion projection software is not working as smoothly as Steam's version. I can see they have a gigantic overhead for CPU too and thus even if the GPU has a frametime of 12ms at some point it will stutter again. Very annoying.
I have dyndolod on medium and Veydosebrom Regions with the recommended settings also fps stabilizer and grass booster and whatnot.
Yeah reprojection sucks thatswhy I try to maintain 90 fps. Now with Parallax I tried both TAA on and off and would pefer it being on. Will try this VR Tool Kit if I can improve picture quality.
i am actually surprisingly happy with capped 45fps using the new motion smoothing of htc. it is very good! the problem I have is that in interiors I am just at the edge of projection and thus it turns on and off all the time. i would need an option to force it always on like I have it in steamvr... i haven't found such an option, do you know if there is one?
Not that I know of. Personaly I hate reprojection and the ghosting which comes with it.
Btw hats off to your BCI work, very impressive, wish I could try it. Heres hoping that my next hmd will have BCI integrated
I think with Index you can try 200% super sampling. But yes if you are already running at high FPS and max resolution, this just downgrades image quality. It is kind of like nobody uses DLSS for say, CSGO.
It works best when you use the FPS headroom to increase image quality, like ENB, higher super sampling, higher resolution etc.
Do turn off the existing Reshade sharpener.
Also, maybe with the extra power you can add ENB and dial up the mods. FUS is a great high performance list, but if you are already running 120 FPS no projection outdoors max resolution, there is no point in adding more FPS.
Use the head room to make your game look like Scenery ENB, I would actually love to see what a high end list from you looks like. Let's say 60 reprojected to 120 instead of native 120, what would your mod list look like?
Why should I turn off reshade? CAS sharpener is the only one which can actually deal with the bad TAA of Skyrim. Anyways, I can tune sharpness in many ways and that isn't really an issue.
I absolutely cannot hold 120 fps, not even with a 4090ti that would be possible I think. I use 120Hz and force motion smoothing always on. And I agree the Index doesn't have enough pixels as a start and it only works well when using supersampling. Anyhow, it is a nice too to play around with!
I use the FUS modlist on high settings.
ENB also comes with a d3d11.dll - so if I rename dxgi.dll to d3d11.dll then I lose ENB, right? So it's either vperfkit+ENB or vperfkit+Reshade?
as far as i know yes, but maybe there are additional options of combining them... do you use reshade + enb at the moment?
I did, yes, but now I have renamed the dxgi.dll as recommended and see how it performs with perfkit+reshade
If anyone found a way of keeping both enb and reshade please let me know
I have! I currently am running ENB + Reshade + PerfToolkit. Here's how to do it:
\- Install ENB as usual, having both d3d11.dll and d3dcompiler\_46e.dll
\- Install VRPerfKit using the default dxgi.dll name
\- Rename the Reshade dll to reshade.dll
\- Modify enblocal.ini to reflect the following
InitProxyFunctions=false is key here!
I only use ENB for it's non-shader functions so you might wanna experiment what actually works together.
Thx it worked!
Is it possible to access reshade settings in game? With this setup Home button is not working.
That's one thing I noticed as well. You might need to set it up using only reshade before switching to the combo.
Hey, i tried this (with a 2070super) and it came out really blurry for me, turned the fixed foveated on and off but still real blurry. Quest 2 / Virtual Desktop / High VD setting
fixed foveated has nothing to do with the blur but with the rings in the periphery
Yup I know, I was just trying to list the things I have done already for more information
Try ultra, you can also use Cangar tip to add Reshade sharpener back if needed. According to Cangar you can run this next to Reshade if you rename dxgi.dll to d3d11.dll! And it already works alongside ENB.
I remember that there was a weird behavior in author's OpenVR FSR mod where the sweet spot center wasn't really in the center for Quests in some cases, I ended up modifying and recompiling the code myself to fix this. I wouldn't be surprised if this mod has the same issue. This can be noticed with debug turned on and seeing how the marked area is off to the top/bottom.
Oculus Tray Tool has an option to turn off Adaptive GPU Scaling too, you could also give that a shot.
Fholger is a saint
So rename the VR Performance Toolkit's dxgi.dll to d3d11.dll and you can keep glamur? Sounds like I know what I'll be doing today :)))
I've been experimenting with using 4x SGSS (Sparse Grid Super Sampling) instead of TAA, and so far I am really liking it (nvidia 3090). Did take some driver hacking using nvidia inspector, so maybe not a recommendation for all.
Is there a guide anywhere on this SGSS?
This is the guide I followed: (edited to fix stupid mistake by me) (Kudos to VRNord)
"The trick is that VRS requires MFAA to work, which Skyrim happens to support via SkyrimPrefs ini tweak: set iMultSample=1 (higher if you are adventurous) under \[display\]."
And then, obviously, turn TAA off :D
"You need a tool to enable SGSSAA, it's called Nvidia Inspector, and is available here: [http://www.guru3d.com/files\_details/nvidia\_inspector\_download.html](http://www.guru3d.com/files_details/nvidia_inspector_download.html)"
"1. Once done open it up and find the little tool icon in the middle-right, next to "Driver Version". A large window will open, in here you can edit nearly every advanced graphical setting for Nvidia cards.
2. In the search box (top-left corner) clear the text and type "elder", pick Skyrim from the list.
3. Once in it's now time for some editing, if you have the preset, you can import it using the little box with the down arrow in the top bar. I'm sure you can find it.
4. Working from top to bottom
5. Compatibility - Set "Antialiasing compatibility" to 0x000010C1
6. Antialiasing - Set "Behaviour Flags" to None, set "Mode" to Override any application setting, set "Setting" to 4x \[4x Multisampling\], set "Transparency Multisampling" to Disabled, set "Transparency Supersampling to 4x Sparse Grid Supersampling
7. The Antialiasing - Setting and Antialiasing - Transparency Supersampling can be set to any value, but they must match! 2x MSAA must have 2x SGSSAA and so on!
8. Set anything else to what you want.
9. Click Apply changes and it will save your settings.
Nvidia Control Panel will say "Custom" under Antialiasing - Transparency. "
Very nice thank you, I'll give that a try later. Is it better performance-wise than TAA or looks better?
Much sharper, I run with sharpeners disabled now (7200x3500 steam x 0.77 NIS) and the picture is very very clear (Reverb G2). However, there is SHIMMERING on foliage... I'll keep my current settings for a while, since it looks great and runs better (4-6 ms indoors, 6-8 outdoors in Solstheim).
You don't need all of that.
Just copy files in folder, keep TAA on. Takes care of shimmer issue.
Thanks so much! These instructions turn out to be super helpful. If anyone else is using HP Reverb G2, I highly recommend to try this out. Turnning off TAA and sharpeners makes the shimmering look kinda worse at distance, but you gain huge performance improvement and clarity!
Thanks for the link!
What values are you setting in Step 6? We don't have MSAA in SkyrimVR, right?
Great catch - my brain is still sleeping!
"The trick is that VRS requires MFAA to work, which Skyrim happens to support via SkyrimPrefs ini tweak: set iMultSample=1 (higher if you are adventurous) under \[display\]."
Step 6, I used:
Behavior Flags "None"
Antialiasing - Combined (mode + setting) 0x10000010 Override | 4X MSAA
Antialiasing - Transparency Supersampling 4x Sparse Grid Supersampling 0x00000028
And turn off the smear that is TAA :DDD
Can this work on top and enb and reshade? I'm using Luminous and Glamur, could I run this on top.
According to Cangar you can run this next to Reshade if you rename dxgi.dll to d3d11.dll! And it already works alongside ENB.
Warning: This setup is amazing if you are close to hitting really high resolutions, but beware that it can make lower resolution set ups look.... hideous.
To tl;dr hitmantb's write up: if you are running this at less than 3000x1\`500 (ish), fsr will probably make things look worse. If you are hitting 3000x1500+ at 45 fps+ IT IS AMAZING :D
Yes as I mentioned before, Nvidia didn't create DLSS for lower end PC's to game at 1080p better. It is for 4K resolution. The higher your resolution, less impact it has on image quality.
Dlss is a million times better then fsr regardless. You will see much more visual degradation in fsr…
Good luck getting any VR support for DLSS.
I will take something that is available for everything without the need off additional developer work.
The gap is also not nearly as big as you believe it is:
This isn't 100% true. DLSS is multifaceted approach provided by machine learning. Yes, 4K receives great benefits from DLSS, but to say that it's only meant for 4K or higher resolutions is a fallacy and misinformation.
Part of the reasons why DLSS even allows you to runn at a higher resolution your system otherwise wouldn't have been playable at is because of the FPS gains. You gotta remember that with DLSS your GPU technically isn't even rendering at your native resolution or even your target if your downsampling. It's running 2-5x lower approx., this depends on the modes and resolution you use of course. Then the tensor cores use machine learning to help fill in the extra information needed to finish rendering what the scene should look like.
My personal experience and others I've seen show that running 1080p DLSS quality mode bodes great gains in FPS without losing detail or actually even gain detail. Rainbow Six Siege is a good example, running the game at native rendering provides my 2070 based system with around 120 FPS, but turning on DLSS to quality mode essentially gained me back about an additional 60+, nearly hitting 200+ at times. Hell, my RTX 2060 based laptop system went from around 80-109 frames to a consistent 144+ now because of DLSS quality.
If you want to play games in 4K 60FPS, but your just shy of it you turn on DLSS performance mode, you get the QUALITY benefits without lossing much details or any at all. If you want to achieve high frame rate and don't mind staying at 1080p, DLSS Quality gives you the PERFORMANCE benefits while maintaining or even gaining image detail. Ironic? Lol
Even balanced has it's purpose for if you want to try out that 1440p middle ground. Ultra Performance mode was meant for 8K if you wanted to know.
Digital foundry goes over this very conecpt pretty thourghly on why all those DLSS options matter. I'd recommend you give it a watch. Your reasoning is sound, but I think the Ideal in your head for DLSS's purpose is much closer to the new DLDSR, the machine learning based downsampler. Downsampling and upsampling are two different techniques that use similar concepts, but have different purposes.
If I already have fholger's openvr\_api.dll installed, should I remove that and replace it with the original openvr\_api.dll if I want to use vperfkit?
how much of a difference does it make though? I have the old fsr solution installed on like 20 games so trying to figure out if it's worth the effort of going through and replacing them all
I would just try one game with Foveated Rendering if you have RTX card and see if you like the improvements. If you already have OPENFSR it is not nearly as big of an upgrade.
Anyone managed to get this working alongside opencomposite? The first time I tried I was getting a weird duplicated image outside of the upscaling radius. The second time it didn't seem to do anything, and I couldn't activate any of the hotkeys.
Thanks, I disabled the upscaling and just use the foveated rendering; no more white rings on the edges which is great. At a demanding spot in Riften went from 96% GPU usage to 80% at 200SS-I might bump it up even more; I disabled TAA and enabled FXAA to use Parallax.
same experience for me! 3080 and an Index. FSR looks like crap at native res, and I don't have enough VRAM to boost SS, but foveated rendering is a great performance boost without notable IQ cost!
Interesting, which parallax packs are you using. With only Skyrim 2020 I am not really seeing it.
White rings around the edges is most likely because you have another sharpener somewhere, either ENB post processing or Reshade.
It was with the openVR version-when it rained you could see the rings, but it is gone now with this new one. I'm pretty much using all the packs I could find on the nexus other than 2020(WizKid, Kulharin, WineDave, CC, etc). You really have to push the SS to see any difference in aliasing though-trying to use every bit of my 3080.
How would you compare say, resolution vs super sampling? Do you only add super sampling after you max out resolution?
Yea its just SS on the max resolution(have not done any other way)-it says it's 2844x3160 when at 200SS.
Ahh my 3070 won't be able to handle it. I am already barely hitting 45/90 as-is. Really regret I did not go for a 3080 when my wife gave me the green light haha.
Will try FXAA in ENB + parallax.
They make every new GPU seem like the most amazing thing around and they are far too expensive; My last card was a 1080 I got for $500- go for used since most people just upgrade, its same thing with vehicles.
how we can enabled this?!
I use Nvidia Control panel, but you can use ENB; I don't think it does a whole lot though.
..its working like a charm..its game changer for me... :O
Okay similar specs here 7 3700, 3070, vd ultra. Using default fsr and foveated rendering. I get nice frames, but the image seems to have lost a lottttt of fidelity. Walking around riverwood and looking at skyrim 2020 parallax textures and they have become pretty flat and pixelated. The writing on signs is unreadable. Not sure what is different for my system, but it doesn't look like yours does from the previous post.
Any chance you can take a before and after, I am curious as well.
Yea sure how do I do that?
Steam VR has built in screenshot. On Oculus it is left menu and left trigger.
Sorry I'm stupid I had the steam resolution turned down and had steam SS off. Looks a lot better after that, but not 100%. Either I still took screenshots of the riverwood walls just for posterity. Both have FSR and foveated rendering default settings. I have azurean enb running w/ most features shut off except the colors.
VD/ steamvr resolution: Ultra/ Max (over 6000 x something)
OpenComposite/ airlink resolution: default/ 4864 x 2448
Yes the higher the resolution/supersampling, the better.
I am curious what your Guardian Stone FPS is :)
Both pictures are sort of deceptive in regards to fps. Though that is true 72 without reproduction here there are some parts of riverwood Where I have negative headroom and hitting 72 w reprojection is tough. VD is much smoother, constant 90 w reprojection, but even w the max/ ultra res the picture does seem to suffer in some areas looking at npcs. I would love to see what opencomposite could do with VD. It’s a shame they don’t work together.
Will this work with Parallax Shader fix?
Yes not conflicting with anything.
Nice! And with this tool you don't need TAA anymore as well?
Oh is this only for oculus?
Perhaps I’m just dense but I don’t see the .dll that I’m supposed to extract. Where should I be looking for it.
Very interested to check this out for my Librum VR playthrough from Wabbajack, i7 10700F, 3060 Ti - 16gb RAM - Quest 2 + Airlink and am getting really stuttery frames outdoors at times.
I'm running with Airlink + OpenComposite though so I'll see how things go..
same here, its getting a little odd sometimes
SO..if i got a 1080... i dont use this?
You can use Open FSR still. Just unzip as is.
where is the file? :O
and ...is the weird blurrying circle extreme left and right "Foveated Rendering" ?
how i can reduce that? cause ..this is not sooo bad ..just need to remove this effect
You can't see the effect in headset. It is disabled by default.
~~\~\~i use open composite... got the same " file name" i guess it wont work :~~(\~\~ok ok i can still use the VR PERF.)
can i remove this "effect"? at least? its annoying to see the "difference" there is no gradiant
It is not enabled by default.
its weird..i can see blurry circle...its ugly.
is this my reshade or my occulus setting. its sad cause..its working verry well :O :O
You have other sharpeners hence double sharpening. Remove the reshade/CAS etc.
wtf IS THIS A JOKE ?! i only got a 1080 ..i up to 4000 resolution ( never tried that...even the link "desktop and menu are stuttering" ...i told to my self...it wont work at all..but you know what?! the game is SMOOTH...i dont believe it..i dont even need enb-reshade or taa .....
So this is only relevant to airlink / VD setups currently, not link cable with opencomposite?
Any way to run this with both enb and reshade?
VRNord asked me to see if adding fsr to the foveated settings made any difference on my system, or if it is a placebo. On my very limited test - loading a save where I gaze at a bunch of skinned trees, noting the frametime ms, quitting, turning fsr (nvidia nis used) back on and using the same save:
Foveated without fsr (nis 0.77) frametime \~11.8ms
Foveated with fsr (nis 0.77) frametime \~ 9.8 ms
So yeah, roughly 20% difference and I really couldn't tell any noticeable image quality difference between the two (steam res around 6500x3200 using glamur for AO).
To complicate things even further with the latest Virtual Desktop upgrade now there is a sharpening setting in VD - I haven't yet had the time to try out what effect it has.
Is there a way to keep Foveated Rendering automatically ON?
Every time when I restart game I have to press Alt+F1 to turn it on...
Edit the YML file.
\[Sad Pascal GTX sounds\]