Forum Discussion
ScottieBizzle
11 years agoExplorer
Trying to render one eye per frame ( TimeWarp issue )
So I've got a few heavy duty scenes that don't render at 75 f/s and I figured I'd try to see if I could render one eye per frame and keep the hardware happy. This cuts the work in half and I'm able to hit 75 f/s and it's actually very smooth, but there is black flickering every other frame for each eye as expected since the off eye is not be rendered every other frame and the SDK must be clearing to black.
So instead of having it be black, I tried saving off the eye's last rendered image and am simply reusing the next frame when that eye skips it's render, but now I'm seeing some double vision which shouldn't be happening, I'd expect _some_ choppiness like watching video at 10 f/s or something, but it would be more like 37.5 f/s.
I think it actually has to do with the timewarp not liking what I'm doing. Is there any way to turn off the timewarp, or at least disable it in the SDK and rebuild the libs?
Here's what I normally do...
-Frame 0
Render and copy left eye to the DK2
Render and copy right eye to the DK2
-Frame 1
Render and copy left eye to the DK2
Render and copy right eye to the DK2
-Frame 2 ( do same as frame 0 )
-Frame 3 ( do same as frame 1 )
Here's what I'm doing when rendering one eye per frame ...
-Frame 0
Copy left eye's last frame to the DK2
Render and copy right eye to the DK2 ( and save off a copy for next frame )
-Frame 1
Copy right eye's last frame to the DK2
Render and copy left eye to the DK2 ( and save off a copy for next frame )
-Frame 2 ( do same as frame 0 )
-Frame 3 ( do same as frame 1 )
Thanks
So instead of having it be black, I tried saving off the eye's last rendered image and am simply reusing the next frame when that eye skips it's render, but now I'm seeing some double vision which shouldn't be happening, I'd expect _some_ choppiness like watching video at 10 f/s or something, but it would be more like 37.5 f/s.
I think it actually has to do with the timewarp not liking what I'm doing. Is there any way to turn off the timewarp, or at least disable it in the SDK and rebuild the libs?
Here's what I normally do...
-Frame 0
Render and copy left eye to the DK2
Render and copy right eye to the DK2
-Frame 1
Render and copy left eye to the DK2
Render and copy right eye to the DK2
-Frame 2 ( do same as frame 0 )
-Frame 3 ( do same as frame 1 )
Here's what I'm doing when rendering one eye per frame ...
-Frame 0
Copy left eye's last frame to the DK2
Render and copy right eye to the DK2 ( and save off a copy for next frame )
-Frame 1
Copy right eye's last frame to the DK2
Render and copy left eye to the DK2 ( and save off a copy for next frame )
-Frame 2 ( do same as frame 0 )
-Frame 3 ( do same as frame 1 )
Thanks
2 Replies
- cyberealityGrand ChampionNo, this is not a good idea, will cause visual anomalies, and likely make people sick.
It would be best to find other ways to optimize your render times, though async time warp (coming soon) will help. - ScottieBizzleExplorerThe only visual anomaly should be slightly choppier rendering than 75 f/s, like going from a CV1 at 90hz to DK1 at 60hz.
I know it's not ideal, but the visual anomalies are way worst if the renderer doesn't hit 75 f/s and starts glitching/stuttering so this would be a viable solution. Like I said, when leaving the frame black it's silky smooth, just a very faint black flicker which is expected, but no double vision ( or stereo disparity effect as Tom Forsyth mentioned in the past ). I'd expect duplicating the last frame wouldn't be any worst than having a pure black frame shown to the user.
I've integrated the Oculus into my DX11 shader development tool and I can't guarantee every scene my users create will run at 75/90 f/s.
Either way, I'd just like to try, can we get back an option to disable TimeWarp or is there a way I can do this in the SDK? I don't see any of the shader code in the SDK anymore.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 12 months ago
- 3 months agoAnonymous
- 6 months ago
- 3 years ago