In short, I tried to figure out at which rendering and resolution settings I got the most bang for my GPU bucks.
My method of comparison were the flickering amount on the 2 S’s in MASS LOCKED as displayed in the picture below: Sorry for the poor image quality
To start out I increased the resolution to the point where I’d only get 10 fps to see how theoretically ‘clear’ I could get those 2 S’s, and then I slowly decreased the resolution via SteamVR’s manual override function.
When the 2 S’s went from being super ‘clear’ to when lines in the solid letters started flickering i.e. when the darker background pixels begun showing priority on the display, resulting in minor flickering.
All tests were done with ingame Super Sampling and HMD Image Quality set to 1.
So enough babble, what the settings I found that gave the best image quality for the GPU power were as following:
Option 1: Normal FoV, Rendering Quality 1.5 and Manual Override 30%. This option is ever so slightly better than option 2, but takes a few frames from you.
Option 2: Normal FoV, Rendering Quality 1.75 and Manual Override 20%. This option pushes my fps to the 40-45 fps mark inside the hangar on my 1080(not ti), which was preferable to me using Brainwarp 90 Hz
Please note that I could not get the same sharpness at anywhere near the performance level when I change FoV to Large. I don’t know why, but if I wanted the same image quality, I would have to go below 20 fps.
If anyone is interested in the displayed resolution in SteamVR, here is an image:
ps. Remember to use Hidden Area Mask for extra performance:
Yo @grzvs
I was running the pitool 103 beta, Parallel projections is on (is there some other setting called reprojections I need to play with?)
FFR is not available on the gtx 10 series, and I don’t see additional super sampling options apart from the base SteamVR SS (Are there more hidden ones?)
I normally used Large FOV and have to turn on PP to get right view (if off I get double image), my question;
If you turn off PP in normal FOV do you see double image or somekind of strange artifacts??? I had RTX 2080.
Well @Milopapa, I spent 2½ hours fiddling with resolutions and apps and figured I’d share my conclusions.
If it’s not long enough for you, feel free to add additional steps at random.
Thanks for the work! I probably need to futz around with my settings more, since I want to make sure I’ve got things looking as sharp as they can up against the 4096 limit.
No offense, but all you did was post what resolution you find this pleasing (since Pitool and SS do the same, with simple math you can prove why you found option 2 better on performance, see below). At best you could call this “my favourite settings”, but not a guide. For a guide, I was expecting extensive settings on various combination of in-game HMD quality, in-game SS, and SteamVR supersampling (maybe Pitool, but that does the same).
I tried setting pimax to 0.5, 1.0, 1.25, 1.50, and 1.75
Each time I adjusted steam SS so that the reported resolution was pretty much the same.
0.5 was much worse than 1.25 despite the fact that the reported resolution in steamVR was identical.
1.25 looked slightly better than 1.0 despite the fact that the vertical pixel count was one less than 1.0. (Meaning after I adjusted SS on 1.25 the size reported in steam was one pixel less than what it reported at 1.0 and 100%)
I couldn’t really tell a difference between 1.25, 1.50 and 1.75
I think that’s because when you undersample in Pitool, you’re loosing information.
Which is why you should supersample FIRST, then downsample.
I believe (but I’m not sure) that in the rendering pipeline, Pitool comes first, it applies all necessary lens distortion, then passes the image over to SteamVR.
So if you go below 1.0 in Pitool, you’ll be losing information that no amount of SteamVR supersampling will recover, even if the end resolution is the same.
PiTool does not have any direct impact on how the image is rendered in the app, apart from “suggesting” the render target resolution to OpenVR (which can then modified it further before it is passed on the app). (https://community.openmr.ai/t/can-someone-explain-this-anomaly/15810/12)
That is very interesting, thank you. How do you know the render pipeline goes like that? And then what’s the point of Pitool setting, is it just for reporting the rendertarget resolution in SteamVR?
This goes like that in OpenVR because it is like OpenVR works. Might be different with Oculus games though.
In OpenVR, the vrserver.exe loads the headset driver (which is registered) and queries the driver about the headset capabilities, among others the views geometry (projections), the eye positions and orientations (eye to head transform).
The driver can also choose to use OpenVR compositor or provide its own (as Pimax does). But it has no direct link to the application.
When application starts it queries OpenVR API and gets basically all the info there, including the headset geometry or recommended target res. Then it renders its thing and passes the images to OpenVR/Custom compositor. The “only” thing the compositor does is it takes the rendered image and scales it down to the headset panel resolution while at the same time doing pre-lens warp. This is the only time and place where Pimax software can “do much more”.