PiPlay 1.2.53 no Asynchronous reprojection (completely disappointed)

Hello there! Today i’ve tried new piplay version (that has been already released out of beta). Like many others i was waiting for past months for any work around picture quality that would allow us get closer to 4k image quality. New version provides better stability, better oculus support and some other small features and optimizations that i (as a steam user with a gaming pc) still dont find useful, however i understand these things were necessary.

So i really hoped at least this will be a step forward:

I made some compares in Project Cars, using msi afterburner software to monitor fps/load (not in headset). Running windows 10, with i7 6700k and 1080 gtx. Each test were made on a same map, with same weather conditions and day time, so the load on gpu/cpu would be equal.

PiSetup_1.1.92, Project Cars
Best results i got:
Resolution: 1080p
Steamvr supersampling: 1.5
In-game downsampling: DS6X
Asynchronous reprojection: on
Other settings: low
GPU load: 90-90%
FPS: stable 60
HMD latency: 15ms

So what is it all about? Its a full hd image with a render multiplier of 1.5 and antialiacing DS6X which is triple height and doubled width resolution. All this runs with 60 stable fps, with gpu load 90-99% and hmd latency 15ms, looks amazing, almost perfect.
This was my best possible picture quality that i could enjoy with a good and stable fps on a version 1.1.92
Increase of “supersampling” or “downsampling” results in to increased hmd latency (30+) and fps lose, gpu at the same time wont load above 60% most of time. Not sure if its hdmi bandwidth limitation or pc hardware.

PiSetup_1.2.53, Project Cars (no more support for Asynchronous reprojection)
As mentioned before, asynchronous reprojection doesnt work with steamvr, which means 99% of games i own will suffer.

First try :
Resolution: 1080p
Steamvr supersampling: 1.5
In-game downsampling: DS6X
Asynchronous reprojection: off
Other settings: low
GPU load: 50-75
FPS: 30
HMD latency: 30-50ms

Second try:
Resolution: 1080p
Steamvr supersampling: 1.5
In-game downsampling: DS4X
Asynchronous reprojection: off
Other settings: low
GPU load: 50-75
FPS: 30-60
HMD latency: 30ms

Result: even lowering antialiacing and decreasing picture quality could not match the perfomance of version 1.1.92. Furthermore the game has lack of gui and horrible horizontal screen tearing (either with 30 or 30-60 fps) and vertical that looks like vsync tearing but verticaly. Never experiencing any of this problems with 1.1.92.

Сonclusion: the game is now not playable, unless i turn all the picture quiality features off. Is that something i’ve expected to see with a new version? Is that something i expected from a 4k resolution hmd or 800$ value gaming graphic card? Definitely not.

Had to revert back to 1.1.92 (thx god i have old version installer).

p.s. Another weird issue with gpu load and perfomance: if i turn settings to high (supersampling or downsampling) the game drops fps and increase the hmd latency (up to 35 or even 50). Although low fps gpu isnt loaded at full, it’s mostly about 70%. But, if alt tab (set game to not active windows simply by clicking with the mouse on desktop) gpu load rises up to 99%,providing better fps (+20) and decreasing hmd latency.

Example n1, project cars, 1.2.53, game window active

Example n2, project cars, 1.2.53, game window inactive

Yep this due to 1.2.53 no longer using Amd’s liquidvr or Nvidia Vrwerks (nvapi)

Check steamvr vrcompositer log. 1.1.92 supports the above while 1.2.x doesn’t

This appears to be causing strange resolution & visual quality degrade.

@Sjef has done some awesome work verifying this

@industria, @Heliosurge, @Sjef
Hi all, regarding this issue, as you may know, in previous Piplay version 1.1.92, we used render algorithm of SteamVR, so it would be " Asynchronous reprojection: on", and in Piplay version 1.2.53, we use our own algorithm to render instead of SteamVR’s render to achieve asynchronous time wrap, so “asynchronous reprojection: off”.
As you see, the images achieve FPS60 under situation of GPU load: 90-90% in Piplay 1.1.92, but the images could get FPS 30-60 under situation of GPU 50-75% in Piplay 1.2.53, no matter 30FPS or more, Pimax always could use its algorithm to render out 60FPS to goggle, of course, which may slightly influnce quality of images.
In view of potentiality of GPU in Piplay 1.2.53, our engineers are locating the point of this issue now, and then fix it in further version soon.

2 Likes

Hi Pimax support, thanks for elaborating here, much appreciated !

Awesome explanation. Thank you!

Isnt that same thing as “interleaved reprojection” by the steam? It worked very well by the steam, allthrough i always disabled it because with Asynchronous reprojection i could handle stable 60 fps with TOP quality, while interleaved reprojection with timewarp means more ghosting effect.

Anyway, with the new version if the game drops fps below 60 i get a really horrible jitters while moving head horizontally, frame tearing while moving head up or down (vertical tearing, looks really horrible, like a vertical vsync being disabled) and low fps although gpu is not properly loaded. To be clear, even if i would decrease picture quality - i was not able to enjoy the game, because it simply performs worse, looks worse and works worse then before, so as for me this new features and version “stability” with bug fixes are simply not worth it.

Thank you for your response.

I do experience the same issue’s and I was quite frustrated too. But now I understand the process PIMAX is transitioning the driver through I at least have some more patience. They’ve implemented the ‘direct driver interface’ in v1.2.x which means the PIMAX driver is now in charge of transforming the game’s left and right eye images into a headset rendered image. This yields performance gains and offers more customization. Unfortunately there’s pretty much NO info at all available for the programmers on the internet, in fact, the only information you can find on “IVRDriverDirectModeComponent” is:

// ----------------------------------------------------------------------------------------------
// Purpose: This component is used for drivers that implement direct mode entirely on their own
// without allowing the VR Compositor to own the window/device. Chances are you don’t
// need to implement this component in your driver.
// ----------------------------------------------------------------------------------------------

LOL, good luck with that ! So I assume they call often with Valve to get info. But I like that they’re doing this, if they can get it working correctly then this surely is going to give the best performance results.

The fact that they succeeded in getting it actually to work gives me very good hope they’ll fix the issue’s (getting it to actually work seems to be the harder part for sure)

Meanwhile I suggest to use v1.1.92.

1 Like

Hey if i read correctly you have Amd graphics card?

AMD LiquidVR.sdk is free to download