Let's talk about resolution settings

There has been one question that has been bugging me since the introduction of the SteamVR supersampling setting: if the final render resolution is a product of all supersampling settings (in-game x SteamVR x whatever else), then does it really matter how that product is arrived at?

This is the equivalent of certain people doing some crazy shit in Elite Dangerous, like setting SteamVR supersampling to 60% while increasing the in-game HMD quality to 1.5 and then claiming they have found the best graphical settings when in fact they just set a net supersamping of 90%.

Translated to the Pimax world, does it really matter if I set 0.75 in PiTool or SteamVR if the resulting resolution is the same? To my eyes, the results look identical.

Resolution = Pitool x SteamVR x In-Game

As an example:

Pitool (1.5) x SteamVR (60%) x in-game (1.2) = 108%

This should be the equivalent of leaving everything at 100%, and setting the SteamVR app profile to 108% and be done with it, shouldn’t it? No more requesting Pimax to introduce per-app settings in Pitool.

@SweViver - any thoughts on this? I assume you did a ton of testing with these settings.

PS It would be nice if Pimax finally explained what the PiTool setting really does. @anon74848233, @Sean.Huang, @PimaxVR, @Pimax-Support or others?


This is a very valid question. There are too many variables for us to fiddle with in order to ge to the the final resultion.

If you want a dose of brain overload go read doc ok paper on the display resolution problem, noticeably the extreme sampling needed at the edges of the display:


I really wish they would explain the PiTool’s setting. It’s annoying to have a setting in between the headset and SteamVR as well. It adds a 2nd variable to play with. I mainly leave PiTool at 1.0 and tweak SteamVR. Rfactor2 at 70%, RaceRoom at 80%, iRacing dx file at 100 pixel density. That’s the sweet spot I found currently… (previously the steamVR SS was at 100% on all my games but something changed somewhere in pitool or steam recently)


My gpu is 1070, I set steamvr x500, pitool x2 test Age of sail and can open, not sure different while tick on parallel projection.

But 100% steamvr with pitool x2 on large fov, lucky tale is crashed.

Would it then not be feasable (or even very neccessary) to introduce a kind of foveated rendering for applications that need parallel projection (PP) on?
Afaik PP does simulate the rotated panels by Rendering even wider resolution and then shrinking (dismissing) part of the rendered image) again.

So if pimax could add foveated rendering (e.g. half resolution in the outer areas - at least horizontally) this could give an very welcomed performance boost.

Honestly, most of the games i play in small fov. And to look to the sides in normal or especially large is mostly blur and/or distorted anyways. Why not make an option-slider in pitools to blur the outer edges for performance?


I’ve felt the same. If I decrease the SteamVR resolution but increase the in game PD setting by a similar factor I get almost same fps and quality.

I really would like Pimax to explain in more detail how they affect each other and the final result.


Me too. @Sean.Huang, would you please ask someone to provide a description as to how SteamVR and PiTool quality and super-sampling settings interact?

This would really help users achieve optimum settings for their system and games.


I play ED at PT 1.5, SS VR 45%, in game 1.25, in game SS at 0.65.

And it hits 45fps solid in stations. It’s perfect for a slow sim game

I’m afraid it is the games that need to do that - Pimax has no influence on how they render their viewplanes; Their VR runtime just asks the games for a certain bitmap size and to please use its provided frusta – all fullscreen.

Since Pimax’s runtime is the alpha and omega, setting the base bitmap size, and receiving and finalising […for the HMD] the output from both the games and other APIs that may sit in between (such as SteamVR), I’d be inclined to do any and all bitmap size modifications there, so that the full rendered bitmap is to a high likelyhood available to its distortion pass (…of which any downsampling of extra rendered detail should be an inherent function).

I suspect that pararrel projection block steamvr ss or not?
Has anyone know about this, but not sure why I can set 500% sampling by fpsvr in Battlezone, but image look be same, but when I test on “The Rose and I”, it can make image look smoother.

Or SteamVR SS will lock some limit although we set the highest value if our computer can’t run it?

1 Like

Then a broad foveated rendering support is what we need as soon as possible. And of course eye tracking. One comes with the other…

1 Like

That’s quite a convoluted way of setting 1.5 x 0.45 x 1.25 x 0.65 = 54.8% supersampling, and this is kinda my point in OP.

Why don’t you try keeping everything at 100% and set steamvr SS to 55%? See if you can see a difference.

Yeah fair. I was kinda running blind with no help and testing stuff out. My question would be which leads to the best performance. Because I firmly believe Steam VR vs Pimax PT vs in-game gives different performance. I have no evidence, but my gut tells me this

1 Like

Yep! I am hoping OpenXR will in include standards for this. :7

Some games ignore it - notably anything that runs on Unreal Engine 4 (Maybe this has changed in newer builds of the engine - I don’t know).

I don’t know where they get the render target size they use, given this: Maybe they hardcode it, maybe they can query SteamVR for the base render target and multiplier separately, but for some reason, somehow they do it.

My calculation from other topic which I have test.

PiTool 1 -->ss 100 3852x3291 base resolution
PiTool 1 -->ss 50 2724x2327 base resolution

PiTool 0.5–>ss 100 1925x1645
piTool 0.5–>ss 50 1326x1163

PiTool 2 -->ss 100 7740x6581
PiTool 2 -->ss 50 5448x4653

Sorting by PiTool.
PiTool 0.5–>ss 100 1925x1645
PiTool 1 -->ss 100 3852x3291 base resolution
PiTool 2 -->ss 100 7740x6581

piTool 0.5–>ss 50 1326x1163
PiTool 1 -->ss 50 2724x2327 base resolution
PiTool 2 -->ss 50 5448x4653

May base resolution can change (I found that the 50% ss is change when I test second round, not sure what is factor).

1 Like

Wow, I didn’t see your original post so far. Great work!

So it seems Pitool uses a quadratic scale (window height), while SteamVR is linear (total rendered pixel count). Which kind of make sense, Valve did that change a while ago to reflect total pixel count as opposed to one side of the render window.

So working out the conversion ratio:

Pitool 0.75 = SteamVR 56%
Pitool 1.00 = SteamVR 100%
Pitool 1.25 = SteamVR 156%
Pitool 1.50 = SteamVR 225%
Pitool 2.00 = SteamVR 400%

Other way around:

SteamVR 50% = Pitool 0.71
SteamVR 125% = Pitool 1.18
SteamVR 150% = Pitool 1.22
SteamVR 200% = Pitool 1.41

Did you also check picture quality? I assume setting Pitool to the equivalent value in SteamVR should render the same picture, but you never know…


No there’s def something up. It’s not a smooth exchange. .75 pitool 125% steamvr doesn’t look the same visa versa. The res have a different “flavor”.

Although I think we really need an official response if there is an even exchange and formula.

1 Like

Omg I think your right!


I’m very surprised given the performance requirements that controllers and lighthouses and leap motion took precedence over eye tracking and a foveated rendering solution. Especially since they use a custom runtime, which I assume they do so they can implement eye tracking and foveated rendering without having to wait for steamvr to casually release their foveated rendering whenever they feel like, most likely later than pimax will.

1 Like

I check quality and fps are changed relate to each resolution .

If you want to change only ss, space pirate trainer is a game which you can see the gracphic is changed immediatly when you move the gage bar.