No since that would add delay, PSVR does reprojection in the headset after it receives the signal (unless I am misremembering it).
No, it still does this on the GPU itself. Basically, immediately before the system sends off the frame, it will update and warp the image at the very last chance it can.
The breakout box does a tiny amount of processing for 3D audio, but it also takes the frame from the PS4 and will undistort it for display on the TV. It does not perform the timewarp though, and neither does the headset.
Oh shit, nice. So it takes 60fps to 120fps for the games that don't meet 90fps?
Yes. Except the Vive runs at 90Hz. So what it does, is when it takes the game is failing (key word) to hit 90Hz, it will force the game to run at 45Hz and then "reproject" or "timewarp" up to 90Hz. With PSVR, it's constantly doing this reprojection since most games will run at 60Hz and "reprojected" to 120Hz
Basically, both Vive and PSVR handle this problem in nearly the same way. They cut the framerate to an even multiple of the refresh rate and double it. They don't support arbitrary framerates in between (unlike Oculus which I'll get to in a second). They both support rotational timewarp only, but because the refresh rates are high, it's not very noticeable. This means that the game itself is the only time position is taken into account, so during reprojection, it does not modify for the latest positional data, only the rotation of the headset. The idea here is to keep frame times consistent so the effects of the timewarp don't continuously come and go. For most PSVR titles, it's going to be continuously reprojecting anyway from 60->120. For Vive, they have developers target 90, and 45->90 reprojection is there as a safety cushion.
Oculus on the other hand does Asynchronous Timewarp / reprojection. They continuously are updating the final frame with both rotational and positional information, but don't affect the game's frame rate. If a frame is late, then it will reproject the last frame it got, but it doesn't have the game render any differently. This means your game can be running at 80Hz just fine, and Oculus will take your frames as soon as they are ready and reproject any frames which didn't make it on time. Now, the downside here is that objects in the scene may appear to judder unpredictably (going from 90fps to 80 to 75 back to 90, etc etc), whereas on Vive/PSVR, the objects won't judder but you will notice them rendering at a lower framerate on the Vive. With PSVR, only if it falls below 60 will you notice this, but since it defaults to using reprojection mainly, you're not going to go from 120 down to 60, but instead always run at 60.
In all cases, if you move your head very fast, you'll potentially notice artifacts because there's only so much the system can do to warp your image before it runs out of frame and you notice either black bars or maybe it does something fancy like a smart color fill based on the edges of the frame instead.
The ELI5 is this. Imagine you have a drummer who's tapping out a consistent beat (representing the game).
- PSVR always has this drummer tapping every other note, and someone fills in the missing beats (representing 60 -> 120 reprojection)
- Vive has the drummer tapping at full speed, but if it misses some beats, the drummer will start tapping at half the beat, and someone fills in the missing beats. (representing game running at 90, and then 45->90 reprojection taking over)
- Rift has the drummer tapping at full speed, and anytime there is a missing beat, they fill it in whenever necessary but the drummer can continue tapping at whatever speed it can do (representing game running at 90 and game failing to hit 90 and async timewarp taking over)