Jump to content

index pd vs ss?


eatthis

Recommended Posts

Yes - that's my understanding.

 

But I have found that even though SS can be changed while "in game" (ie, FPSVR shows the new setting) - it doesn't seem to take effect until I close and restart.

 

Apart from that - it seems the same but a different scale.

Link to comment
Share on other sites

If you mean the PD setting in DCS, it's totally different from SS (aka render resolution setting in Steam VR). The PD setting is a multiplicator that takes your standard HMD panel resolution and adds or subtracts the amount of real rendered pixels (going higher or lower than 1.0). At 1.0 your HMD will always receive the "perfect" fit for their specific amount of needed pixels for the panels, because the game is hooked directly into the VR compositor driver of your HMD. It's like the native resolution setting for a monitor display. Going higher on the PD setting will start to waste rendered pixels because the panels aren't able to display them 1:1 anyway. This will also cost valuable CPU frametime.

The external render resolution setting in Steam VR for instance acts as a basic supersampling antialiasing filter. https://en.wikipedia.org/wiki/Supersampling

It takes the resolution it gets from DCS and starts to oversample or undersample, depends how you set it up. It's a much more effective way to enhance image sharpness, costs only a bit more GPU ressources instead of putting more strain onto your CPU. If you see low GPU usage while running DCS, the Steam VR resolution setting should be the first setting to play with to make use of your GPU's processing headroom. It doesn't work in realtime, you always have to restart the game to see an effect. Always have an eye on VRAM usage when playing with higher SS settings.


Edited by Alec Delorean

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

If you mean the PD setting in DCS, it's totally different from SS (aka render resolution setting in Steam VR). The PD setting is a multiplicator that takes your standard HMD panel resolution and adds or subtracts the amount of real rendered pixels (going higher or lower than 1.0). At 1.0 your HMD will always receive the "perfect" fit for their specific amount of needed pixels for the panels, because the game is hooked directly into the VR compositor driver of your HMD. It's like the native resolution setting for a monitor display. Going higher on the PD setting will start to waste rendered pixels because the panels aren't able to display them 1:1 anyway. This will also cost valuable CPU frametime.

The external render resolution setting in Steam VR for instance acts as a basic supersampling antialiasing filter. https://en.wikipedia.org/wiki/Supersampling

It takes the resolution it gets from DCS and starts to oversample or undersample, depends how you set it up. It's a much more effective way to enhance image sharpness, costs only a bit more GPU ressources instead of putting more strain onto your CPU. If you see low GPU usage while running DCS, the Steam VR resolution setting should be the first setting to play with to make use of your GPU's processing headroom. It doesn't work in realtime, you always have to restart the game to see an effect. Always have an eye on VRAM usage when playing with higher SS settings.

 

So leaving pd on 1.0 instead of 1.2 and setting ss to 120% will hafe the same graphical effect but shift the load from the cou to the gpu?

7700k @5ghz, 32gb 3200mhz ram, 2080ti, nvme drives, valve index vr

Link to comment
Share on other sites

So leaving pd on 1.0 instead of 1.2 and setting ss to 120% will hafe the same graphical effect but shift the load from the cou to the gpu?

 

What in game PD and SteamVR SS does is basically same thing. Higher resolution DCS renders will be downsampled to your HMD's resolution regardless of that request came from DCS or SteamVR. Difference is that DCS PD number is exponential. PD of 2 for example is 200% X and 200% Y so you will get 400% pixels. SteamVR SS is linear. So SteamVR SS of 200% is 200% pixels. So some people compare in game PD of 1.5 to 150% SteamVR SS thinking that they get better performance with SteamVR. But reality is they're just rendering at lower res.

 

It is recommended to set in game PD to 1. And use SteamVR. It's better to adjust at one place and you can make finer adjustment in SteamVR. You'll also notice that your 100% in SteamVR is not your Index's native resolution. Use the actual resolution number instead of % value.

 

Also the resolution number of "Per Application Video Settings" in Steam VR setting will be the final output. It gets multiplied with the global. You have to have DCS running before you can set Per-Application value.


Edited by Taz1004
  • Like 1
Link to comment
Share on other sites

What in game PD and SteamVR SS does is basically same thing. Higher resolution DCS renders will be downsampled to your HMD's resolution regardless of that request came from DCS or SteamVR. Difference is that DCS PD number is exponential. PD of 2 for example is 200% X and 200% Y so you will get 400% pixels. SteamVR SS is linear. So SteamVR SS of 200% is 200% pixels. So some people compare in game PD of 1.5 to 150% SteamVR SS thinking that they get better performance with SteamVR. But reality is they're just rendering at lower res.

 

It is recommended to set in game PD to 1. And use SteamVR. It's better to adjust at one place and you can make finer adjustment in SteamVR. You'll also notice that your 100% in SteamVR is not your Index's native resolution. Use the actual resolution number instead of % value.

 

Also the resolution number of "Per Application Video Settings" in Steam VR setting will be the final output. It gets multiplied with the global. You have to have DCS running before you can set Per-Application value.

 

So start dcs and alt tab to steam vr then go into per app settings?.

Im getting contradictory answers about wether they adjust the same thing or not. Do they shift the load betee cpu and gpu or not?

7700k @5ghz, 32gb 3200mhz ram, 2080ti, nvme drives, valve index vr

Link to comment
Share on other sites

So start dcs and alt tab to steam vr then go into per app settings?.

Im getting contradictory answers about wether they adjust the same thing or not. Do they shift the load betee cpu and gpu or not?

 

They are essentially adjusting the same thing, but as Taz said, 200% supersampling is not the same as 2.0 PD since they are calculated differently. The bottom line is, use one or the other, but not both at the same time. If you choose to increase DCS PD, leave SteamVR SS set at 100%. If you choose to increase Steam VR supersampling, leave DCS PD at 1.0.

EVGA Z690 Classified, Intel i9 12900KS Alder Lake processor, MSI MAG Core Liquid 360R V2 AIO Liquid CPU Cooler, G.SKILL Trident Z5 RGB Series 64GB DDR5 6400 memory, EVGA RTX3090 FTW3 Ultra 24GB video card, Samsung 980PRO 1TB M2.2280 SSD for Windows 10 64-bit OS, Samsung 980PRO 2TB M2.2280 SSD for program files, LG WH14NS40 Blu-Ray burner. HOTAS Warthog, Saitek Pedals, HP Reverb G2. Partridge and pear tree pending. :pilotfly:

Link to comment
Share on other sites

@eatthis

 

Just make a simple test and you will see.

1. set ingame PD to 1.5 and SteamVR to 100% resolution. Watch your CPU and GPU frametimes in the performance graph. Have taskmanager open to also show GPU usage. Make a screenshot.

2. set ingame PD to 1.0 and Steam VR to 150%. Again, watch your CPU + GPU frametimes and GPU usage. Make another screenshot.

 

The results should be different, please post both screenshots here. Make sure to restart the game each time to apply the changed settings correctly.


Edited by Alec Delorean

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

So leaving pd on 1.0 instead of 1.2 and setting ss to 120% will hafe the same graphical effect but shift the load from the cou to the gpu?

 

As Alec says.

 

To calculate equivalent SS from PD( for comparing resolution etc), (square of PD)*100 = SS

For example PD: 1.2 = (1.2^2)x100= 144%.

 

Or the other way; square root(SS/100)= PD

[T.M HOTAS Warthog Stick & Throttle + T.Flight pedals, Varjo Aero, HP Reverb pro, Pimax 8KX] 🙂

[DCS Mirage 2K; Huey; Spitfire Mk IX, AJS 37, F-14, F-18, FC3, A-10 Warthog II and a few more ]

i9 13900KF@5.8/32Gb DDR5@6400/ Gigabyte Gaming OC RTX4090, ASUS STRIX Z790-F , 2Tb m2 NVMe

Link to comment
Share on other sites

@eatthis

 

Just make a simple test and you will see.

1. set ingame PD to 1.5 and SteamVR to 100% resolution. Watch your CPU and GPU frametimes in the performance graph. Have taskmanager open to also show GPU usage. Make a screenshot.

2. set ingame PD to 1.0 and Steam VR to 150%. Again, watch your CPU + GPU frametimes and GPU usage. Make another screenshot.

 

The results should be different, please post both screenshots here. Make sure to restart the game each time to apply the changed settings correctly.

 

where do i see the cpu and gpu usage?

7700k @5ghz, 32gb 3200mhz ram, 2080ti, nvme drives, valve index vr

Link to comment
Share on other sites

where do i see the cpu and gpu usage?

 

Fpsvr ( ~ 4 usd on Steam) is very much worth the money.

 

Otherwise, use task manager —> resources monitor and look at the CPU so you can se the load on all cpu cores. Only one will be highly loaded.

 

You can also see the most basic parts of the gpu there.

GPU-Z Is otherwise a good software to use to see more details about the GPU.

[T.M HOTAS Warthog Stick & Throttle + T.Flight pedals, Varjo Aero, HP Reverb pro, Pimax 8KX] 🙂

[DCS Mirage 2K; Huey; Spitfire Mk IX, AJS 37, F-14, F-18, FC3, A-10 Warthog II and a few more ]

i9 13900KF@5.8/32Gb DDR5@6400/ Gigabyte Gaming OC RTX4090, ASUS STRIX Z790-F , 2Tb m2 NVMe

Link to comment
Share on other sites

Have not read more that the OP question but i am very happy having changed from 150% SS 1.0 PD (recommended settings) to now 52% SS which is close to Index actual res and DCS PD 2.0

 

For me it is superior in clarity and fps. I bump PD to 2.4 for offline use.

 

1080Ti Intel 4790K

Windows 7/10 64bit, Intel i7-4770K 3.9GHZ, 32 GB Ram, Gforce GTX 1080Ti, 11GB GDDR5 Valve Index. Force IPD 63 (for the F-16)

Link to comment
Share on other sites

Have not read more that the OP question but i am very happy having changed from 150% SS 1.0 PD (recommended settings) to now 52% SS which is close to Index actual res and DCS PD 2.0

 

For me it is superior in clarity and fps. I bump PD to 2.4 for offline use.

 

1080Ti Intel 4790K

 

 

PD 2.0 with 52% SS is same as 208% SS with pd 1.0. No magic here, just leave PD at 1.0 and change SS.

Link to comment
Share on other sites

As Alec says.

 

To calculate equivalent SS from PD( for comparing resolution etc), (square of PD)*100 = SS

For example PD: 1.2 = (1.2^2)x100= 144%.

 

Or the other way; square root(SS/100)= PD

 

This would work if 100% SteamVR is native resolution of Index. It is not. It is different per system and HMD. You have to go by resolution number and figure out the actual %.

 

This is another reason why people thinks PD and SS are different because their math is based on incorrect % value by Steam.

 

im in settings now, res per eye. if i set the index native res of 1440x1600 its only showing 50% why is that?

Like I've said above and already mentioned this on my first post.


Edited by Taz1004
Link to comment
Share on other sites

im in settings now, res per eye. if i set the index native res of 1440x1600 its only showing 50% why is that?

 

The VR compositor needs a higher resolution frame to process predistortion for each lens. This picture explains it really well: DistortionMesh.png

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

This would work if 100% SteamVR is native resolution of Index. It is not. It is different per system and HMD. You have to go by resolution number and figure out the actual %.

 

This is another reason why people thinks PD and SS are different because their math is based on incorrect % value by Steam.

 

 

Like I've said above and already mentioned this on my first post.

 

It's not "equal", if you use ingame PD you force DCS to render a higher resolution frame on it's main CPU thread. We all know that this is DCS's weak spot for a long time. By shifting the SS workload to the VR compositor, which is running as a separate process on a separate CPU core and thread plus it's own separate GPU pass, you reach a much better balance for performance on your system. It's a neat workaround for VR and the CPU bottleneck DCS is creating with the current state of it's engine.


Edited by Alec Delorean

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

It's not "equal", if you use ingame PD you force DCS to render a higher resolution frame on it's main CPU thread. We all know that this is DCS's weak spot for a long time. By shifting the SS workload to the VR compositor, which is running as a separate process on a separate CPU core and thread plus it's own separate GPU pass, you reach a much better balance for performance on your system. It's a neat workaround for VR and the CPU bottleneck DCS is creating with the current state of it's engine.

 

No, that's not how it works. VR compositor doesn't do any super sampling. It's not a render engine. It's not like DCS renders first, SteamVR takes that frame and then super sample it. That would be not only inefficient, also ineffective.

 

Simply put, VR compositor "requests" super sampling. DCS will render at the resolution multiplied by the request and its own PD setting. Then compositor will simply downsample to native resolution.

 

The VR compositor needs a higher resolution frame to process predistortion for each lens. This picture explains it really well: DistortionMesh.png

 

Also incorrect as Reverb owners will tell you their 100% is the native resolution.


Edited by Taz1004
Link to comment
Share on other sites

Hey Taz,

 

What would you recommend for a rift S user? I realise it has a lower resolution than the reverb. I have a PD set at 1.0 in DCS, but I’m considering installing Oculus Tray Tool so I can set the super sampling and maybe get a little more clarity...

Link to comment
Share on other sites

Hey Taz,

 

What would you recommend for a rift S user? I realise it has a lower resolution than the reverb. I have a PD set at 1.0 in DCS, but I’m considering installing Oculus Tray Tool so I can set the super sampling and maybe get a little more clarity...

 

I don't have Rift S anymore and it would really depend on your system and preference. I myself prefer higher SS than anti-aliasing. Others don't.

Supersampling is type of anti-aliasing afterall and I don't like how MSAA makes everything blurry. But others can't stand the jaggies so you just have to find the setting that works best for you. But Oculus Tray Tool is good.

 

When you test these, you may use benchmarking tools to gauge different settings but remember those tools themselves take quite a bit of CPU. 10-15% on my end.

Link to comment
Share on other sites

No, that's not how it works. VR compositor doesn't do any super sampling. It's not a render engine. It's not like DCS renders first, SteamVR takes that frame and then super sample it. That would be not only inefficient, also ineffective.

 

Simply put, VR compositor "requests" super sampling. DCS will render at the resolution multiplied by the request and its own PD setting. Then compositor will simply downsample to native resolution.

 

 

 

Also incorrect as Reverb owners will tell you their 100% is the native resolution.

 

Goodness...

 

1. Reverb owners have to use the Windows Mixed Reality plugin for SteamVR. The plugin handles all the necessary api requests first before Steam VR handles the rest. A reverb user will only see the end result, that's why it shows their native resolution at 100% in Steam VR.

2. There is always the need to postprocess lens distortion for a flat frame from a game camera for any kind of VR HMD. Therefore you always need more pixels in a rectangular frame that will be lost during this operation because of the lens matched distortion. This is a basic VR process to display a flat picture on a flat panel that is only being watched through convex lesnes.

3. The PD value in DCS acts as an override in combination with SteamVR. The openVR api asks the game to render a given resolution, but DCS returns a much higher resolution frame if the PD value is higher than 1.0. This is wasting frametime, because it obviously won't fit and needs to be resampled. Letting SteamVR managing resolution and supersampling instead is the much more efficient way. It also has an extra option of an advanced supersample filter under Video Settings. Why don't you test this for yourself? Try to set a PD of 0.5 in DCS and look what happens. The result will be a super blocky low res image, but still supersampled to a high resolution frame with your settings in SteamVR 100% 150% whatsoever...

The difference might be if DCS is using the oculus api, here the PD value seems to hook directly into it. I can't test this here.

 

SteamVR and it's openVR api is a image/pixel processing engine. The word "render" can be widely interpreted here. Just a simplified explanation from the api documentation: "One real-world example of an application is a game engine like Unity. Unity calls OpenVR API to get the position and orientation of any attached VR headset and apply them to the Main Camera. Unity then sends the camera image to OpenVR. OpenVR does some operations on the image and then displays it to the real headset screen." Call it what you want...


Edited by Alec Delorean

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

Goodness...

 

1. Reverb owners have to use the Windows Mixed Reality plugin for SteamVR. The plugin handles all the necessary api requests first before Steam VR handles the rest. A reverb user will only see the end result, that's why it shows their native resolution at 100% in Steam VR.

2. There is always the need to postprocess lens distortion for a flat frame from a game camera for any kind of VR HMD. Therefore you always need more pixels in a rectangular frame that will be lost during this operation because of the lens matched distortion. This is a basic VR process to display a flat picture on a flat panel that is only being watched through convex lesnes.

3. The PD value in DCS acts as an override in combination with SteamVR. The openVR api asks the game to render a given resolution, but DCS returns a much higher resolution frame if the PD value is higher than 1.0. This is wasting frametime, because it obviously won't fit and needs to be resampled. Letting SteamVR managing resolution and supersampling instead is the much more efficient way. It also has an extra option of an advanced supersample filter under Video Settings. Why don't you test this for yourself? Try to set a PD of 0.5 in DCS and look what happens. The result will be a super blocky low res image, but still supersampled to a high resolution frame with your settings in SteamVR 100% 150% whatsoever...

The difference might be if DCS is using the oculus api, here the PD value seems to hook directly into it. I can't test this here.

 

SteamVR and it's openVR api is a image/pixel processing engine. The word "render" can be widely interpreted here. Just a simplified explanation from the api documentation: "One real-world example of an application is a game engine like Unity. Unity calls OpenVR API to get the position and orientation of any attached VR headset and apply them to the Main Camera. Unity then sends the camera image to OpenVR. OpenVR does some operations on the image and then displays it to the real headset screen." Call it what you want...

 

It's full of incorrect and irrelevant information but not gonna try to convince you.

Link to comment
Share on other sites

Yeah, like you tried to explain to me in another thread, that Windows, mirroring a screen directly from the front-buffer of the GPU to a second monitor is exactly the same like the extra VR mirror window on the desktop while having VR running. And that this extra window doesn't need extra VRAM to be rendered on the desktop. (Well it does, because it's copied from the VR screen buffer and stored in the front-buffer for the monitor, of course this takes extra space in VRAM. If more windows are open, the more information needs to be stored in the front-buffer)

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...