SteamVR

SteamVR

SteamVR > General Discussions > Topic Details
GeorgesMatrix 13 Oct, 2016 @ 8:09am
Asynchronous Reprojection
According to "ARSTechnica" in this article[arstechnica.com],

"Valve is working on "asynchronous reprojection" for the SteamVR platform. Based on the name, that's almost certainly similar to Oculus' recently announced "asynchronous spacewarp" technology, which fills in the gaps necessary to get a 45 frame per second game running acceptably at a VR-ready 90 frames per second (and the "asynchronous timewarp" technology that preceded it). Sony's PlayStation VR also has a similar reprojection system to help fill in frame rate gaps."

Hope this is true!!
It coould be very helpful with applications such as DCS World.

Last edited by GeorgesMatrix; 13 Oct, 2016 @ 8:10am
< >
Showing 1-15 of 32 comments
BOLL 13 Oct, 2016 @ 10:01am 
I'm pretty fine in VR even with low frame-rate, what I want the most out of asynchronous reprojection is lower latency. The Rift feels much lower latency that the Vive for me personally, and I've heard the same from other people, and I suspect this is because of their asynchronous timewarp. So I'm slightly hopeful for an improved overall experience in the Vive whenever this hits :)
Switch 13 Oct, 2016 @ 3:05pm 
I believe latency has more to do with the computer rather than the VR tech
kennydust 13 Oct, 2016 @ 5:44pm 
asus m5a97 R2 board
amd 8350@4.7ghz water cooled
1800mhz ram, gtx 1070 oc 1900mhz

wow thats great news. i use a program call "flyinside fsx" it has async timewarp coded into it and the game looks great no ghosting or stutter while running under 30fps. i hope they are working on it. would be nice for DCS world.
BOLL 14 Oct, 2016 @ 3:58am 
@Switch: then it's odd that the Rift and Vive act differently on the very same computer. If it was differences in the VR hardware itself I would get it, but I'm not so sure about that.

What async timewarp/reprojection does is reproject the output image with the absolutely most recent tracking data before it is sent to the screen, without it you have an image rendered according to the tracking data when rendering started which is then already old.
QuiteBeyond 14 Oct, 2016 @ 4:00am 
There are differences between Async Time Warp (ATW) and Async Space Warp (ASW). Async Reprojection would be like Async Time Warp - processing your head rotation, while ASW means, that not only the rotation of your head is processed, but also your position in Space. This is what Oculus has built in right now. Async Space Reprojection would be the SteamVR's ASW. But I am pretty sure, that there will be great solutions coming from Valve!

The very best solution would be, that developers would optimise the games better. Many games in early access seem not to be perfectly optimised - of course, as many indie devs don't have the knowledge to optimise the game or other things having a higher prio.
Last edited by QuiteBeyond; 14 Oct, 2016 @ 4:47am
aaron.leiby  [developer] 14 Oct, 2016 @ 11:54am 
This first iteration will be a rotation-only correction for the camera, so you'll still get positional judder when an application fails to make frame rate. This is particularly noticeable on any non-static objects such as tracked controllers. I plan to work on a motion-vector frame generation technique next, but as @QuiteBeyond said, it's best if applications can consistently make framerate to begin with.
GoldenRetroGames 15 Oct, 2016 @ 8:03am 
Any idea when we can expect async reprojection to make an appearance in the SteamVR beta? Is it already there, with th eability to be enabled through a config file, similar to how it's possible to enable ASW on the Rift right now?
GeorgesMatrix 16 Oct, 2016 @ 8:06am 
Originally posted by aaron.leiby:
This first iteration will be a rotation-only correction for the camera, so you'll still get positional judder when an application fails to make frame rate. This is particularly noticeable on any non-static objects such as tracked controllers. I plan to work on a motion-vector frame generation technique next, but as @QuiteBeyond said, it's best if applications can consistently make framerate to begin with.
Thank you Aaron for the update!
So, if I may ask, what is "a motion-vector frame generation technique" exactly?
Last edited by GeorgesMatrix; 16 Oct, 2016 @ 8:10am
VirHar 18 Oct, 2016 @ 10:14am 
Originally posted by aaron.leiby:
This first iteration will be a rotation-only correction for the camera, so you'll still get positional judder when an application fails to make frame rate. This is particularly noticeable on any non-static objects such as tracked controllers. I plan to work on a motion-vector frame generation technique next, but as @QuiteBeyond said, it's best if applications can consistently make framerate to begin with.

Hi Aaron and thank you for all the extra info - I can't wait to see what you come up with in terms of Motion-Vector Frame generations.

Is there any way to activate Asynch Repro at the current Beta of Steam VR? If not could you please let us know (if you can) when will this feature be available? Many thanks
MaxOfS2D @ TI7 25 Oct, 2016 @ 4:45am 
Originally posted by aaron.leiby:
This first iteration will be a rotation-only correction for the camera, so you'll still get positional judder when an application fails to make frame rate. This is particularly noticeable on any non-static objects such as tracked controllers. I plan to work on a motion-vector frame generation technique next, but as @QuiteBeyond said, it's best if applications can consistently make framerate to begin with.

Thank you!! Even on a really beefy PC some apps can still drop one frame every second for (no?) reason... this should be good!
GoldenRetroGames 25 Oct, 2016 @ 7:34am 
Originally posted by MaxOfS2D:
Thank you!! Even on a really beefy PC some apps can still drop one frame every second for (no?) reason... this should be good!

From what I've seen, that problem is generally caused by reprojection kicking in too soon. Hopefully async reprojection won't be quite as anxious to kick in. Even if it does, the async nature of it should make the transition much more seamless.
Robotronski 25 Oct, 2016 @ 9:05am 
Brilliant news, reprojection feels very weird to me but ATW on the Rift is much less jarring/nausea inducing.
Lhun 25 Oct, 2016 @ 12:17pm 
I just finishing watching the GDC16 talk about the techniques you and your team have implemented and plan to implement, and it's very exciting. It's too bad it's an engine by engine change though to the lab renderer, it's really too bad it can't be part of steamVR itself retroactively. (but I realize it will be part of the steam vr dashboard anyway, which runs like the dickens.)
Last edited by Lhun; 25 Oct, 2016 @ 12:23pm
Lhun 25 Oct, 2016 @ 12:21pm 
Oh, sidebar, @aaron.leiby I did a fair bit of research on my particular setup and realized I was getting occasional CPU judder due to heat based downclocking in extended sessions.
These are things that can be detected if you're a really advanced troubleshooter like me, (I work in QA) but are not often apparent to end users. "I'm getting really bad judder, zomg fix it valve!" I know there's notifications that can be enabled - but would it be possible to add a feature to the VR performance bench that could detect repairable situations ie: "your cpu is downclocking during benching!", or, "your GPU is hitting a thermal limit!" or, "application x is utilizing a large % of your gpu/cpu during testing and is affecting your score" (for example) and report them to the user? This is far more common than you realize and is probably a fairly large percentage of perf issues that end users experience and report here. Users have gotten used to the fact that games are generally a gpu intensive task these days, and fail to realize just HOW intensive games on vive can be, for both the cpu AND the gpu. If you could detect a sawtooth in a clear way, it would go a long way to helping users fix their performance issues in vr. Another thing that you could do to reduce overall load on the system and avoid dropped frames would be for steam to take full control of the gpu in "fullscreen" (as an option). I realize that would make the desktop view unavailable, but it increases performance significantly. Windows basically sleeps all other processes in this mode and can give you quite a few more ms in the 10ms window.
Last edited by Lhun; 25 Oct, 2016 @ 12:28pm
Tucu 25 Oct, 2016 @ 2:25pm 
Originally posted by aaron.leiby:
This first iteration will be a rotation-only correction for the camera, so you'll still get positional judder when an application fails to make frame rate. This is particularly noticeable on any non-static objects such as tracked controllers. I plan to work on a motion-vector frame generation technique next, but as @QuiteBeyond said, it's best if applications can consistently make framerate to begin with.

Can you provide more details on what are the effects of having both asynchronous reprojection and interleaved reprojection enabled in the latest beta? On which scenarios should we only have async on and on which ones both?
< >
Showing 1-15 of 32 comments
Per page: 15 30 50

SteamVR > General Discussions > Topic Details
Date Posted: 13 Oct, 2016 @ 8:09am
Posts: 32