...I assume this is the SceneCapture2d work.
In async mode, we control interleaved reprojection (dropping to 45hz) based on measure gpu time. Since that work is sneaking in immediately after PostPresentHandoff, we start timing there until the end of the next frame. This is effectively measuring the entire frame (11.1ish ms) so we kick on interleaved mode assuming we are going to start dropping frames.
It appears that WaitGetPoses is getting called well ahead of time (I was seeing it happen about 1ms after PostPresentHandoff) and right after that last bit of gpu works gets submitted, so I suspect you can safely comment out the call to PostPresentHandoff entirely and everything will sort itself out nicely.
—
Patrick's layman's terms- when interleaved reprojection is enabled due to the new timing of calls we're mismeasuring gpu time making us think we need reprojection, which causes performance degradation.
Result: you lose about 11 ms when looking at the widget w/ reprojection on.
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Platform - XR |
---|---|
Affects Versions | 4.14.1, 4.14.2, 4.14.3 |
Target Fix | 4.15 |
Created | Jan 12, 2017 |
---|---|
Resolved | Jan 23, 2017 |
Updated | Sep 16, 2019 |